Projektowanie
article miniature

Wykorzystanie globalnych komórkowych modułów radiowych do szybkiego i bezpiecznego łączenia urządzeń IoT z chmurą

Niniejszy artykuł wyjaśnia, co LTE kat. 1 oferuje deweloperom w zakresie rozwiązań Internetu rzeczy (IoT) i komunikacji maszyna-maszyna (M2M) oraz prezentuje moduły radiowe firmy u-blox z serii LARA-R6, zapewniające uniwersalną łączność i niezawodne działanie. Pokazuje także sposób, w jaki deweloperzy mogą wykorzystać płytkę ewaluacyjną (EVB) do łatwej konfiguracji modułów i sterowania nimi za pomocą poleceń AT oraz generowania ciągów poleceń AT za pomocą funkcji biblioteki.

Łączenie przenośnych lub zdalnych sieciowych urządzeń końcowych z Internetem rzeczy (IoT) lub zdalne sterowanie maszynami za pomocą komunikacji maszyna-maszyna (M2M), można z powodzeniem zrealizować, stosując mobilne połączenie radiowe wymiany danych za pośrednictwem chmury. Jednak ta opcja stwarza dla deweloperów pewne przeszkody, takie jak określenie, które sieci bezprzewodowe mogą obsługiwać wymaganą przepustowość danych na całym świecie oraz które protokoły musi być w stanie obsłużyć modem bezprzewodowy. Należy również wziąć pod uwagę skalowalność systemu, bezpieczeństwo danych, koszt, czas wprowadzenia produktu na rynek oraz koszty akwizycji i koszty operacyjne ponoszone przez użytkownika.

Porównanie LTE kat. 1 z LTE kat. 1bis, LTE kat. M oraz LTE kat. NB

Radia komórkowe LTE osiągają obecnie gigabitowe szybkości transmisji, jednak protokoły niskiej mocy LPWA, takie jak LTE kat. 1, LTE kat. 1bis, LTE kat. M oraz LTE kat. NB, są zaprojektowane tak, aby zapewnić szczególną wydajność pod względem zużycia energii, zasobów sieciowych i kosztu. Ma to krytyczne znaczenie dla urządzeń IoT.

Zapewniając przepustowość kanału do 20MHz w trybie pełnodupleksowym, technologia LTE kat. 1 osiąga prędkość pobierania danych do 10Mbps i wysyłania do 5Mbps. Obecność dwóch anten umożliwia odbiornikowi (Rx) dywersyfikację działania w celu uzyskania jak najlepszych parametrów (tabela 1). LTE kat. 1bis wykorzystuje pojedynczą antenę.

Tabela 1: porównanie parametrów działania protokołów LPWA. LTE kat. 1 wykorzystuje dwie anteny w celu umożliwienia wyboru najlepszej z nich przez odbiornik (Rx). LTE kat. 1bis wykorzystuje jedną antenę. (Źródło ilustracji: Wikipedia, Jens Wallmann)

Radio mobilne LTE kat. 1, dostępne na całym świecie

Seria LARA-R6 firmy u-blox składa się z wytrzymałych komórkowych modułów radiowych zaprojektowanych z myślą o technologii dostępu radiowego (RAT) w trybie dupleksowym z podziałem częstotliwości (FDD) oraz dupleksowym z podziałem czasu (TDD) w standardzie LTE kat. 1. Obsługują one technologię 3G UMTS/HSPA oraz 2G GSM/GPRS/EGPRS w ramach rezerwy. Moduły te stanowią znakomite rozwiązanie w zakresie globalnego i wieloregionowego zasięgu i posiadają niewielkie obudowy LGA o wymiarach 26 x 24mm.

Omawiane moduły LARA-R6 są wyposażone w uniwersalne interfejsy, różnorodne funkcje oraz funkcje wielopasmowe i wielomodowe, a także mogą być używane w zastosowaniach wymagających średniej prędkości przesyłu danych, bezproblemowej łączności, doskonałego zasięgu i niskiej latencji. Przykłady takich zastosowań obejmują śledzenie aktywów, telematykę, zdalne monitorowanie, centra alarmowe, monitoring wideo, systemy łączności oraz terminale punktów sprzedaży.

Wszystkie moduły obsługują dywersyfikację odbioru (Rx), co zapewnia niezawodne działanie w trudnych warunkach zasięgu lub gdy wymagana jest komunikacja głosowa w sieci LTE (VoLTE). W celu wdrożenia różnych funkcji, takich jak zarządzanie urządzeniami, zdalne sterowanie urządzeniami i bezpieczne bezprzewodowe aktualizacje oprogramowania układowego (FOTA) programiści mogą wykorzystać wbudowane protokoły Internetu rzeczy (LwM2M, MQTT) oraz funkcje zabezpieczeń (TLS/DTLS, bezpieczna aktualizacja i bezpieczne uruchamianie).

Seria LARA-R6 obsługuje standard LTE kat. 1 w wydaniu 10. organizacji 3GPP i zapewnia globalny zasięg dzięki trzem wariantom regionalnym:

  • Moduły LARA-R6001-00B (dane i głos) oraz LARA-R6001D-00B (tylko dane) obsługują 18 pasm częstotliwości LTE FDD/TDD oraz 3G/2G w ramach rezerwy, zapewniając łączność globalną.
  • Moduły LARA-R6401-00B (dane i głos) oraz LARA-R6401D-00B (tylko dane) stanowią idealne rozwiązanie LTE kat. 1 dla Ameryki Północnej, obsługujące pasma LTE firm AT&T, FirstNet, Verizon oraz T-Mobile.
  • Moduły LARA-R6801-00B (dane i głos) oraz LARA-R6801D-01B (tylko dane) są przeznaczone do wdrożeń w następujących regionach: Europa i Bliski Wschód (EMEA), Azja i Pacyfik (APAC), Japonia (JP) i Ameryka Łacińska (LATAM) (ilustracja 1).

Mapa regionalnych wariantów modułów LARA-R6Ilustracja 1: na całym świecie dostępne są trzy regionalne warianty modułów LARA-R6. (Źródło ilustracji: DigiKey, zmodyfikowane przez autora)

Funkcje specjalne LARA-R6 w skrócie

Moduły LARA-R6 zawierają procesor pasma podstawowego sieci komórkowej z interfejsami zewnętrznymi, nadajniko-odbiornik na częstotliwości radiowe (RF) ze wzmacniaczami i filtrami, pamięć oraz jednostkę zarządzania zasilaniem (ilustracja 2).

Diagram przedstawiający strukturę wewnętrzną modułu LARA-R6 firmy u-blox (kliknij, aby powiększyć)Ilustracja 2: struktura wewnętrzna modułu LARA-R6. (Źródło ilustracji: u-blox)

Nadajniko-odbiornik na częstotliwości radiowe (RF) działa w pasmach częstotliwości 700MHz, 800MHz, 850MHz, 900MHz, 1,7GHz, 1,8GHz, 1,9GHz, 2,1GHz oraz 2,6GHz. Wszystkimi protokołami przesyłania danych w procesorze pasma podstawowego sieci komórkowej można sterować oraz można je konfigurować za pomocą poleceń AT z wykorzystaniem zewnętrznych interfejsów uniwersalnego asynchronicznego nadajniko-odbiornika (UART) i USB.

Protokoły

  • Podwójny stos IPv4 oraz IPv6
  • Wbudowane protokoły TCP/IP, UDP/IP, FTP oraz HTTP
  • Wbudowane protokoły MQTT oraz MQTT-SN
  • Wbudowany protokół LwM2M
  • Wbudowana kartą eSIM i protokół BIP (Bearer Independent Protocol)

Moduły LARA-R6 wymagają napięcia zasilania od 3,1 do 4,5V i mają pobór prądu w stanie bezczynności około 1,1mA. W trybie 2G poszczególne przedziały czasowe wielodostępu z podziałem czasowym (TDMA) mogą osiągnąć szczytową moc transmisji ponad 33dB w odniesieniu do 1mW (dBm) (> 2,0W), natomiast wszystkie inne technologie dostępu radiowego osiągają poziomy ponad 24dBm (> 0,25W).

Znakomita czułość anteny poniżej -100dBm, co odpowiada mocy sygnału poniżej 0,1pW, umożliwia stabilne połączenia radiowe w środowisku brzegowym sieci mobilnej.

Ewaluacja i programowanie

Najszybszym sposobem rozpoczęcia ewaluacji i programowania modułu LARA-R6 jest użycie płytki ewaluacyjnej (EVB) R6 (EVK-R6) i wtykowej płytki adaptera LARA-R6 (ADP-R6) dla odpowiedniego regionu. Na przykład urządzenie EVK-R6001-00B do zastosowań globalnych zawiera płytkę wtykową adaptera ADP-R6001-00B (głos + dane) oraz płytkę adaptera globalnego systemu nawigacji satelitarnej (GNSS) (ilustracja 3).

Wygląd płytki ewaluacyjnej (EVB) (EVK-R6) LARA-R6 firmy u-blox z dołączoną płytką adaptera LARA-R6 (kliknij, aby powiększyć)Ilustracja 3: płytka ewaluacyjna (EVB) LARA-R6 (EVK-R6) z dołączoną płytką adaptera LARA-R6 (u dołu) i płytką globalnego systemu nawigacji satelitarnej (GNSS) (u góry po lewej). (Źródło ilustracji: u-blox)

Wariant EVK-R6401-00B dla Ameryki Północnej zawiera adapter ADP-R6401-00B, natomiast wariant EVK-R6801-00B dla regionów EMEA/APAC/JP/LATAM zawiera adapter ADP-R6801-00B. Wspomniane już trzy płytki adapterów do transmisji głosu i danych są również dostępne oddzielnie, podobnie jak wersje tylko do transmisji danych, w tym ADP-R6401D-00B (Ameryka Północna) oraz ADP-R6001D-00B (globalne).

Płytka adaptera R6 rozszerza moduł LARA-R6 o dwie anteny i dwa złącza MiniUSB. Płytka ewaluacyjna R6 zawiera moduł globalnego systemu nawigacji satelitarnej (GNSS), gniazdo karty modułu identyfikacji abonenta (SIM), dodatkowe połączenia wtykowe, mostki, przełączniki oraz zasilanie dla urządzeń peryferyjnych modułu (ilustracja 4).

Schemat blokowo-funkcjonalny płytki ewaluacyjnej (EVB) u-blox R6 z podłączonymi adapterami globalnego systemu nawigacji satelitarnej (GNSS) i LARA-R6 (kliknij, aby powiększyć)Ilustracja 4: funkcjonalny schemat blokowy płytki ewaluacyjnej (EVB) R6 z podłączonymi adapterami globalnego systemu nawigacji satelitarnej (GNSS) i LARA-R6. (Źródło ilustracji: u-blox)

Każdy zestaw zawiera jedną płytkę ewaluacyjną (EVB) z dołączoną płytką adaptera LTE kat. 1 LARA-R6 i modułem globalnego systemu nawigacji satelitarnej (GNSS) firmy u-blox, jeden kabel USB, dwie anteny radia mobilnego LTE, antenę GPS/GLONASS oraz zasilacz.

Uruchamianie zestawu ewaluacyjnego (EVK)

Łatwy w użyciu zestaw EVK-R6 o dużych możliwościach firmy u-blox upraszcza ewaluację wielomodowych modułów komórkowych LTE kat. 1, 3G lub 2G. Komputer PC z systemem Windows i zainstalowanym sterownikiem USB LARA-R6 steruje modemem LARA-R6 za pośrednictwem złącza USB i upraszcza konfigurację połączenia za pomocą ustawień systemowych. Aby zacząć pracę, deweloper musi:

  1. Włożyć kartę modułu identyfikacji abonenta (SIM) i podłączyć obie anteny komórkowe oraz antenę GNSS.
  2. Starannie skonfigurować mostki i przełączniki zestawu ewaluacyjnego (EVK).
  3. Podać napięcie zasilania i przełączyć główny wyłącznik SW400 na płytce ewaluacyjnej w stan włączenia.
  4. Aby umożliwić pracę w charakterze modemu o niskiej szybkości transmisji danych za pośrednictwem głównego interfejsu uniwersalnego asynchronicznego nadajniko-odbiornika „Main UART”, należy podłączyć komputer PC do gniazda MiniUSB J501 lub gniazda RS232 J500 w zestawie ewaluacyjnym (EVK).
  5. Aby umożliwić pracę w charakterze modemu o niskiej szybkości transmisji danych za pośrednictwem dwóch uniwersalnych asynchronicznych nadajniko-odbiorników „Two UARTs”, komputer PC należy podłączyć do interfejsu komórkowego gniazda USB J201 w ADP.
  6. Aby umożliwić pracę w charakterze modemu o wysokiej szybkości transmisji danych przez natywny komórkowy port USB „Native Cellular USB”, komputer PC należy podłączyć do gniazda MiniUSB J105 w ADP.
  7. Nacisnąć przycisk włączania sieci komórkowej SW302 na płytce ewaluacyjnej (EVB).
  8. Uruchomić oprogramowanie aplikacji terminala (np. m-center), przejść do menu konfiguracji portu COM, wybrać port AT odpowiadający portowi 4a, 4b lub 4c i ustawić następujące wartości: szybkość transmisji danych: 115200bps; bity danych: 8; parzystość: N; bity stopu: 1.

Więcej informacji zawiera podręcznik użytkownika EVK-R6_UserGuide_UBX-21035387. Narzędzie m-center pomaga w ewaluacji, konfiguracji i testowaniu produktów komórkowych firmy u-blox i zawiera terminal poleceń AT.

Proste połączenie z Internetem za pomocą komputera z systemem Windows

Łącząc komputer z systemem Windows z zestawem ewaluacyjnym (EVK), użytkownik może ustanowić bezprzewodowe połączenie z Internetem na dwa sposoby:

1: Połączenie z transmisją danych pakietowych niskiej prędkości: wykorzystuje stos TCP/IP komputera PC z systemem Windows za pośrednictwem interfejsu uniwersalnego asynchronicznego nadajniko-odbiornika (UART) modułu LARA-R6. Komputer PC i zestaw ewaluacyjny (EVK) łączą się zgodnie z metodą 4a. Deweloper w Panelu sterowania systemu Windows musi wybrać opcję Telefon i modem > Modemy > Dodaj. Następnym etapem jest zaznaczenie pola wyboru „Nie wykrywaj mojego modemu”, wybranie opcji „Standardowy modem 33,6kbps” i przydzielenie portu COM. W razie potrzeby deweloper może dodać polecenia: Właściwości > Zaawansowane > Dodatkowe polecenia inicjujące.

2: Połączenie z transmisją danych pakietowych wysokiej prędkości: umożliwia dostęp do Internetu przy użyciu stosu TCP/IP komputera PC z systemem Windows za pośrednictwem natywnego komórkowego interfejsu USB modułu LARA-R6. Komputer PC i zestaw ewaluacyjny (EVK) łączą się zgodnie z metodą 4c. Deweloper musi w Panelu sterowania systemu Windows wybrać opcję Centrum sieci i udostępniania > Skonfiguruj nowe połączenie lub nową sieć, a następnie kliknąć „Połącz z Internetem”. Następnym etapem jest wybranie opcji „Dial-up” i jednego z portów USB AT. Ostatnim etapem jest wprowadzenie parametrów połączenia dial-up (numer dostępowy, nazwa dostawcy, identyfikator użytkownika i hasło).

Rejestracja karty SIM u operatora komórkowego

Po skonfigurowaniu karty SIM i parametru MNO, moduł komórkowy automatycznie rejestruje się w sieci komórkowej po włączeniu zasilania. W przypadku problemów, rejestrację można sprawdzić ręcznie za pomocą poleceń AT przedstawionych w tabeli 2.

Tabela 2: polecenia rejestracji AT. (Źródło tabeli: u-blox, zmodyfikowane przez autora)

Komunikacja ze zdalnym serwerem HTTP za pomocą polecenia AT

Repozytorium GitHubFirechip_u-blox_LARA-R6_Arduino_Library” zawiera obszerną bibliotekę poleceń AT dla modułów LARA-R6, napisanych w C++ dla kontrolerów Arduino. Szesnaście przykładów zastosowań, w tym testy ping, rejestracja, przełączanie pakietów, SMS, GNSS i chmura IoT, zawiera sugestie dotyczące niestandardowych struktur kodu.

Polecenia AT mogą również wysyłać żądania do zdalnego serwera HTTP podczas aktywnego połączenia, odbierać odpowiedź z serwera i przechowywać tę odpowiedź w sposób transparentny w lokalnym systemie plików. Obsługiwane metody to HEAD, GET, DELETE, PUT, POST file oraz POST data.

Lara_R6_Example9 wysyła losowe temperatury do RemoteHTTP-Server ThingSpeak.com przy użyciu protokołu HTTP POST lub GET. ThingSpeak to usługa platformy analitycznej Internetu rzeczy (IoT) firmy MathWorks, która pomaga agregować, wizualizować i analizować strumienie danych na żywo w chmurze.

Tabela 3 przedstawia składnię polecenia HTTP „POST data”.

Tabela 3: „POST data” to polecenie HTTP o numerze 5 i jest sformatowane w przedstawiony sposób. (Źródło tabeli: u-blox, zmodyfikowane przez autora)

Ten przykład można zaprogramować na kontrolerze hosta Arduino, który steruje modułem LARA-R6 na płytce zestawu ewaluacyjnego (EVK) za pomocą poleceń AT. Dodatkowo wymagana jest skonfigurowana karta modułu identyfikacji abonenta (SIM).

Programista musi utworzyć konto użytkownika ThingSpeak i ustawić w polu 1 wartość losowego pomiaru temperatury za pomocą pozycji menu Channels > My Channels > New Channel (Kanały > Moje kanały > Nowy kanał). Odpowiedni „Write API key\\" (Klucz API zapisu) jest wprowadzany w programie głównym, „LARA-R6_Example9_ThingSpeak.ino” w zmiennej myWriteAPIKey.

Program główny C++ generuje losową wartość temperatury, tworzy specjalny łańcuch danych dla chmury i wywołuje funkcję biblioteki sendHTTPPOSTdata co 20 sekund (listing 1).

Kopiuj

...
1  String myWriteAPIKey = \\"PFIOEXW1VF21T7O6\\"; // Change this to your API key
2  String serverName = \\"api.thingspeak.com\\"; // Domain Name for HTTP POST/GET
3  [...]




4  void loop()
5  {
6    // Create a random temperature between 20 and 30  
7    float temperature = ((float)random(2000,3000)) / 100.0; 
8
9
10   // Send data using HTTP POST
11   String httpRequestData = \\"api_key=" + myWriteAPIKey + \\"&field1=" + 

                                String(temperature);
12
13   Serial.print(F(\\"POSTing a temperature of \\"));
14   Serial.print(String(temperature));
15   Serial.println(F(\\" to ThingSpeak\\"));
16        
17   // Send HTTP POST request to /update. The reponse will be written to 

        post_response.txt in the LARA's file system
18   myLARA.sendHTTPPOSTdata(0, \\"/update\\", \\"post_response.txt\\", httpRequestData,

                             LARA_R6_HTTP_CONTENT_APPLICATION_X_WWW);
19
20
21   // Send data using HTTP GET 
22      ==> see original code on Github
23
24   for (int i = 0; i < 20000; i++) // Wait for 20 seconds    
25   {
26     myLARA.poll(); // Keep processing data from the LARA so we can catch 

                            the HTTP command result
27     delay(1);
28   }
29  }
...

Listing 1: ten program główny generuje losową wartość temperatury i wywołuje funkcję biblioteki sendHTTPPOSTdata co 20 sekund. (Źródło kodu: Firechip w serwisie Github)

Generowanie ciągu poleceń AT wywołującego funkcje biblioteki

Nagłówek biblioteki „Firechip_u-blox_LARA-R6_Arduino_Library.h” przekazuje wywołanie funkcji sendHTTPPOSTdata do procedury biblioteki „Firechip_u-blox_LARA-R6_Arduino_Library.cpp”, gdzie generowany jest i wysyłany w pełni sformatowany ciąg poleceń AT (listing 2).

Kopiuj

...
1  LARA_R6_error_t LARA_R6::sendHTTPPOSTdata(int profile, String path, 

                              String responseFilename, String data,  

                              LARA_R6_http_content_types_t httpContentType)
2  {
3    LARA_R6_error_t err;
4    char *command;
5
6    if (profile >= LARA_R6_NUM_HTTP_PROFILES)
7     return LARA_R6_ERROR_ERROR;
8
9    command = lara_r6_calloc_char(strlen(LARA_R6_HTTP_COMMAND) + 24 +

                                  path.length() + responseFilename.length()

                                  + data.length());
10   if (command == nullptr)
11     return LARA_R6_ERROR_OUT_OF_MEMORY;
12   sprintf(command, \\"%s=%d,%d,\\\"%s\\\",\\\"%s\\\",\\\"%s\\\",%d\\",

             LARA_R6_HTTP_COMMAND, profile, LARA_R6_HTTP_COMMAND_POST_DATA,

             path.c_str(), responseFilename.c_str(), data.c_str(),

             httpContentType);
13
14   err = sendCommandWithResponse(command, LARA_R6_RESPONSE_OK_OR_ERROR,

                                 nullptr, LARA_R6_STANDARD_RESPONSE_TIMEOUT);
15
16   free(command);
17   return err;
18 }
...

Listing 2: ta procedura biblioteki C++ generuje i wysyła w pełni sformatowany ciąg poleceń AT (wiersz 12). (Źródło kodu: Firechip w serwisie Github)

Procedura biblioteki LARA_R6::sendHTTPPOSTdata (Listing 2) wykorzystuje przekazane parametry wywołania funkcji myLARA.sendHTTPPOSTdata() (Listing 1) i dodatkowo zadeklarowane zmienne z nagłówka biblioteki w celu wygenerowania kompletnego ciągu poleceń HTTP zgodnie z tabelą 3. Na koniec modem LARA-R6 wysyła wynikowy ciąg poleceń AT do serwera ThingSpeak RemoteHTTP:

AT+UHTTPC=0,5,\\"/update\\",\\"post_response.txt\\",\\"api_key=PFIOEXW1VF21T7O6&field1=21.54\\",0

Podsumowanie

Wielomodowe moduły radiowe LTE kat. 1 z serii LARA-R6 w globalnej sieci zastosowań Internetu rzeczy (IoT) i komunikacji maszyna-maszyna (M2M) niskiej mocy są skuteczne i ekonomiczne. Deweloperzy mają łatwy dostęp do wszystkich interfejsów wykorzystujących zestaw ewaluacyjny (EVK) i mogą, za pomocą poleceń AT, łatwo konfigurować protokoły i funkcje modułu oraz sterować nimi. To zapewnia proste opcje pracy w charakterze modemu PC, wysyłania danych do chmury i generowania ciągów poleceń AT za pośrednictwem funkcji bibliotek.

Źródło: Wykorzystanie globalnych komórkowych modułów radiowych do szybkiego i bezpiecznego łączenia urządzeń IoT z chmurą

Kontakt w Polsce: poland.support@digikey.pl

Autor: Rolf Horn

Rolf Horn, Applications Engineer at DigiKey, has been in the European Technical Support group since 2014 with primary responsibility for answering any Development and Engineering related questions from final customers in EMEA, as well as writing and proof-reading German articles and blogs on DK’s TechForum and maker.io platforms. Prior to DigiKey, he worked at several manufacturers in the semiconductor area with focus on embedded FPGA, Microcontroller and Processor systems for Industrial and Automotive Applications. Rolf holds a degree in electrical and electronics engineering from the university of applied sciences in Munich, Bavaria and started his professional career at a local Electronics Products Distributor as System-Solutions Architect to share his steadily growing knowledge and expertise as Trusted Advisor.

Hobbies: spending time with family + friends, travelling in our VW-California transporter and motorbiking on a 1988 BMW GS 100.

Zapraszamy na TEK.day Wrocław, 14 marca 2024Zapisz się już dziś!