Utilizați un modul radio celular global pentru a conecta rapid și sigur dispozitivele IoT la cloud
Contributed By DigiKey's European Editors
2023-12-12
Pentru a conecta dispozitive terminale de rețea portabile sau la distanță la Internetul lucrurilor (IoT) sau pentru a controla utilaje de la distanță prin intermediul comunicării între dispozitive (M2M), o conexiune radio mobilă pentru schimbul de date prin intermediul cloud-ului este o opțiune bună. Totuși, această opțiune prezintă obstacole pentru dezvoltator, cum ar fi determinarea rețelelor fără fir care pot suporta debitul de date necesar la nivel mondial și a protocoalelor pe care modemul wireless trebuie să le poată gestiona. De asemenea, trebuie luate în considerare scalabilitatea sistemului, securitatea datelor, costurile, timpul de lansare pe piață, precum și costurile de achiziție și de exploatare suportate de utilizator.
Acest articol explică pe scurt ce oferă LTE Cat 1 dezvoltatorilor de aplicații IoT și M2M. Apoi, prezintă modulele radio din seria LARA-R6 de la u-blox, care oferă conectivitate universală și performanță fiabilă. Articolul se încheie arătând modul în care dezvoltatorii pot utiliza o placă de evaluare (EVB) pentru a configura și controla cu ușurință modulele prin intermediul comenzilor AT și pentru a genera șiruri de comenzi AT prin intermediul funcțiilor de bibliotecă.
LTE Cat 1 în comparație cu LTE Cat 1bis, LTE Cat M și LTE Cat NB
În timp ce radioul celular LTE atinge acum viteze de transmisie gigabit, protocoalele LPWA (low power, wide-area), cum ar fi LTE Cat 1, LTE Cat 1bis, LTE Cat M și LTE Cat NB, sunt concepute pentru a fi deosebit de eficiente în ceea ce privește consumul de energie, resursele de rețea și costurile. Acest lucru este extrem de important pentru dispozitivele IoT.
Oferind o lățime de bandă de canal de până la 20 megahertzi (MHz) în regim full duplex, LTE Cat 1 atinge viteze de descărcare de date de până la 10 megabiți pe secundă (Mbps) și viteze de încărcare de date de până la 5 Mbps. Două antene permit diversitatea receptorului (Rx) pentru o performanță mai bună (Tabelul 1). LTE Cat 1bis utilizează o singură antenă.
|
Tabelul 1: Compararea performanțelor protocoalelor LPWA. LTE Cat 1 utilizează două antene pentru diversitatea Rx; LTE Cat 1bis utilizează o singură antenă. (Sursa imaginii: Wikipedia, Jens Wallmann)
Radio mobil LTE Cat 1 pentru disponibilitate globală
Produsele din seria LARA-R6 de la u-blox sunt compuse din module radio celulare robuste, concepute pentru tehnologia de acces radio (RAT) LTE Cat 1, standarde duplex cu diviziune în frecvență (FDD) și duplex cu diviziune în timp (TDD). Acestea acceptă 3G UMTS/HSPA și 2G GSM/GPRS/EGPRS ca soluție de rezervă. Aceste module reprezintă o soluție excelentă pentru acoperirea globală/multiregională și sunt disponibile într-un format LGA de dimensiuni reduse, care măsoară 26 x 24 milimetri (mm).
Echipate cu interfețe versatile, o mare varietate de caracteristici și capacități multibandă și multimodale, modulele LARA-R6 sunt potrivite pentru aplicații care necesită viteză medie de date, conectivitate fără întreruperi, acoperire excelentă și latență redusă. Astfel de aplicații includ urmărirea activelor, telematică, monitorizare de la distanță, centre de alarmă, supraveghere video, sănătate conectată și terminale pentru punctele de vânzare.
Toate modulele suportă diversitatea Rx pentru o performanță fiabilă în condiții de acoperire dificile sau atunci când este necesară transmiterea vocii prin LTE (VoLTE). Programatorii pot profita de protocoalele IoT încorporate (LwM2M, MQTT) și de funcțiile de securitate (TLS/DTLS, actualizare securizată și pornire securizată) pentru a implementa diverse funcții, inclusiv gestionarea dispozitivelor, controlul de la distanță al dispozitivelor și actualizări securizate de firmware over-the-air (FOTA).
Seria LARA-R6 acceptă LTE Cat 1 în conformitate cu 3GPP versiunea 10 și asigură o acoperire globală cu trei variante regionale:
- Modulele LARA-R6001-00B (date și voce) și LARA-R6001D-00B (numai date) suportă 18 benzi de frecvență LTE FDD/TDD, precum și un sistem de rezervă 3G/2G pentru conectivitate globală.
- Modulele LARA-R6401-00B (date și voce) și LARA-R6401D-00B (numai date) oferă o soluție LTE Cat 1 ideală pentru America de Nord, care acceptă benzile LTE de la AT&T, FirstNet, Verizon și T-Mobile.
- Modulele LARA-R6801-00B (date și voce) și LARA-R6801D-01B (numai date) sunt concepute pentru implementări în următoarele regiuni: Europa și Orientul Mijlociu (EMEA), Asia Pacific (APAC), Japonia (JP) și America Latină (LATAM) (Figura 1).
Figura 1: Trei variante regionale ale modulelor LARA-R6 acoperă întreaga lume. (Sursa imaginii: DigiKey, modificat de autor)
Caracteristicile speciale ale LARA-R6 dintr-o privire
Modulele LARA-R6 integrează un procesor de bandă de bază celulară cu interfețe externe, un emițător-receptor RF cu amplificatoare și filtre, memorie și o unitate de gestionare a energiei (Figura 2).
Figura 2: Structura internă a unui modul LARA-R6. (Sursa imaginii: u-blox)
Emițătorul-receptorul RF funcționează în benzile de frecvență 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz și 2,6 GHz. Toate protocoalele de transfer de date ale procesorului de bandă de bază celulară pot fi controlate și configurate prin comenzi AT, utilizând interfețele externe UART și USB.
Protocoale
- Dual stack IPv4 și IPv6
- TCP/IP, UDP/IP, FTP și HTTP încorporate
- MQTT și MQTT-SN încorporate
- LwM2M încorporat
- eSIM și protocolul independent de purtător (BIP)
Modulele LARA-R6 necesită o tensiune de alimentare de la 3,1 până la 4,5 volți și au un consum de curent în gol de aproximativ 1,1 miliamperi (mA). În timpul funcționării 2G, sloturile de timp TDMA individuale pot atinge puteri de transmisie de vârf de peste 33 de decibeli, raportate la 1 miliwatt (mW) (dBm) (> 2,0 wați), iar toate celelalte RAT ating niveluri de peste 24 dBm (> 0,25 wați).
O sensibilitate excelentă a antenei, mai mică de -100 dBm, corespunzătoare unor puteri de semnal mai mici de 0,1 picowați (pW), permite realizarea unor conexiuni radio stabile la periferia rețelei mobile.
Evaluare și programare
Cel mai rapid mod de a începe evaluarea și programarea unui modul LARA-R6 este de a utiliza un EVB R6 (EVK-R6) și o placă adaptoare LARA-R6 plug-in (ADP-R6) pentru regiunea corespunzătoare. De exemplu, EVK-R6001-00B pentru aplicații globale include placa adaptoare plug-in ADP-R6001-00B (voce + date) și o placă adaptoare GNSS (Figura 3).
Figura 3: EVB LARA-R6 (EVK-R6) cu o placă adaptoare LARA-R6 atașată (jos) și o placă GNSS (stânga sus). (Sursa imaginii: u-blox)
Varianta EVK-R6401-00B pentru America de Nord include adaptorul ADP-R6401-00B, în timp ce varianta EVK-R6801-00B pentru EMEA/APAC/JP/LATAM include adaptorul ADP-R6801-00B. Cele trei plăci adaptoare deja menționate pentru transmisie de voce și date sunt, de asemenea, disponibile separat, la fel ca și versiunile pentru transmisie de date, inclusiv ADP-R6401D-00B (America de Nord) și ADP-R6001D-00B (la nivel mondial).
Placa adaptoare R6 extinde modulul LARA-R6 cu două antene și doi conectori MiniUSB. EVB R6 adaugă la perifericele modulului un modul GNSS, un slot pentru cartela SIM, conexiuni plug-in suplimentare, jumpere, comutatoare și o sursă de alimentare (Figura 4).
Figura 4: Schema bloc funcțională a EVB R6 cu adaptoarele GNSS și LARA-R6 conectate. (Sursa imaginii: u-blox)
Fiecare kit conține un EVB cu o placă adaptoare LTE Cat 1 LARA-R6 atașată și un modul GNSS de la u-blox, un cablu USB, două antene radio mobile LTE, o antenă GPS/GLONASS și o unitate de alimentare.
Punerea în funcțiune a EVK
Kitul EVK-R6 de la u-blox, ușor de utilizat și puternic, simplifică evaluarea modulelor celulare multimodale LTE Cat 1/3G/2G. Un PC cu Windows pe care este instalat driverul USB LARA-R6 controlează modemul LARA-R6 prin intermediul conectorului USB și simplifică configurarea conexiunii prin intermediul setărilor de sistem. Pentru a începe, dezvoltatorul trebuie să:
- Introducă cartela SIM și să conecteze ambele antene celulare și antena GNSS.
- Configureze cu atenție jumperele și comutatoarele EVK.
- Aplice tensiunea de alimentare și să pornească comutatorul principal SW400 de pe EVB.
-
- Pentru a funcționa ca un modem cu viteză de date redusă prin intermediul interfeței „Main UART”, să conecteze PC-ul la mufa MiniUSB J501 sau la mufa RS232 J500 de pe EVK.
- Pentru a funcționa ca un modem cu viteză redusă de transfer de date prin „Two UARTs”, să conecteze PC-ul la interfața USB celulară J201 de pe ADP.
- Pentru a funcționa ca un modem cu viteză mare de transfer de date prin „Native Cellular USB”, să conecteze PC-ul la mufa MiniUSB J105 de pe ADP.
- Apese butonul de pornire celulară SW302 de pe EVB.
- Ruleze o aplicație de terminal (cum ar fi m-center), să acceseze meniul de configurare a portului COM, să aleagă portul AT corespunzător la 4a, 4b sau 4c și să seteze aceste valori: Viteza de transfer date: 115.200 bps; Biți de date: 8; Paritate: N; Biți de oprire: 1.
Pentru mai multe detalii, consultați EVK-R6_UserGuide_UBX-21035387. Instrumentul m-center ajută la evaluarea, configurarea și testarea produselor celulare u-blox și include un terminal de comandă AT.
Conexiune simplă la Internet folosind un PC cu Windows
Prin conectarea unui PC cu Windows la EVK, utilizatorul poate stabili o conexiune wireless la internet în două moduri:
1: O conexiune de pachete de date de viteză redusă: aceasta utilizează stiva TCP/IP a PC-ului Windows prin intermediul interfeței UART a modulului LARA-R6. PC-ul și EVK sunt conectate în conformitate cu metoda 4a. Dezvoltatorul trebuie să selecteze Phone and Modem > Modems > Add (Telefon și modem > Modemuri > Adăugare) utilizând panoul de control Windows. Următorul pas este să bifați căsuța de selectare „Don't detect my modem” (Nu detecta modemul meu), să selectați „Standard 33.6 kbps Modem” și să alocați un port COM. Dacă este necesar, dezvoltatorul poate adăuga Properties > Advanced > Extra initialization commands (Proprietăți > Avansat > Comenzi de inițializare suplimentare).
2: O conexiune de pachete de date de mare viteză: aceasta accesează internetul folosind stiva TCP/IP a PC-ului Windows prin intermediul interfeței USB nativ celulară a modulului LARA-R6. PC-ul și EVK sunt conectate în conformitate cu metoda 4c. Dezvoltatorul trebuie să selecteze Network and Sharing Center > Set up a new connection or network (Centrul de rețea și partajare > Configurați o nouă conexiune sau rețea) prin intermediul panoului de control Windows și să facă clic pe „Connect to the Internet” (Conectare la internet). Următorul pas este să selectați „Dial-up” și unul dintre porturile USB AT. Ultimul pas este introducerea parametrilor de apelare (numărul de apelare, numele furnizorului, ID-ul utilizatorului și parola).
Înregistrarea cartelei SIM la operatorul de telefonie mobilă
Odată ce cardul SIM și parametrii MNO sunt configurați, modulul celular se înregistrează automat în rețeaua celulară după ce este pornit. În cazul în care există o problemă, înregistrarea poate fi verificată manual cu ajutorul comenzilor AT prezentate în Tabelul 2.
|
Tabelul 2: Comenzi de înregistrare AT. (Sursa tabelului: u-blox, modificat de autor)
Comunicarea cu serverul HTTP de la distanță prin comanda AT
Depozitul GitHub „Firechip_u-blox_LARA-R6_Arduino_Library” conține o bibliotecă extinsă de comenzi AT pentru modulele LARA-R6, scrisă în C++ pentru controlere Arduino. Șaisprezece exemple de aplicații, inclusiv teste ping, înregistrare, comutator de pachete, SMS, GNSS și cloud IoT, oferă sugestii pentru structuri de cod personalizate.
Comenzile AT pot, de asemenea, să trimită solicitări către un server HTTP la distanță în timpul unei conexiuni active, să primească răspunsul serverului și să stocheze acest răspuns în mod transparent în sistemul de fișiere local. Metodele acceptate sunt HEAD, GET, DELETE, PUT, POST file și POST data.
Lara_R6_Example9 trimite temperaturi aleatorii către serverul RemoteHTTP ThingSpeak.com folosind HTTP POST sau GET. ThingSpeak este un serviciu de platformă de analiză IoT oferit de MathWorks, care ajută la agregarea, vizualizarea și analiza fluxurilor de date live în cloud. Tabelul 3 prezintă sintaxa comenzii HTTP „POST data”.
|
Tabelul 3: „POST data” este comanda HTTP numărul 5 și este formatată după cum se arată. (Sursa tabelului: u-blox, modificat de autor)
Acest exemplu poate fi programat pe un controler gazdă Arduino, care controlează modulul LARA-R6 pe o placă EVK prin intermediul comenzilor AT. În plus, este necesară o cartelă SIM configurată.
Programatorul trebuie să creeze un cont de utilizator ThingSpeak și să seteze câmpul 1 pentru valoarea de măsurare aleatorie a temperaturii prin intermediul elementului de meniu Channels > My Channels > New Channel (Canale > Canalele mele > Canal nou). Cheia corespunzătoare „Write API Key” este introdusă în programul principal, „LARA-R6_Example9_ThingSpeak.ino” în variabila myWriteAPIKey.
Programul principal C++ generează o valoare aleatorie a temperaturii, formează șirul de date specifice cloud-ului și apelează funcția de bibliotecă sendHTTPPOSTdata la fiecare 20 de secunde (Lista 1).
Copiați
...
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 }
...
Lista 1: Acest program principal generează o valoare aleatorie a temperaturii și apelează funcția de bibliotecă sendHTTPPOSTdata la fiecare 20 de secunde. (Sursa codului: Firechip pe Github)
Generarea șirului de comenzi AT prin apelarea funcțiilor de bibliotecă
Antetul de bibliotecă „Firechip_u-blox_LARA-R6_Arduino_Library.h” transmite apelul de funcție sendHTTPPOSTdata către procedura de bibliotecă „Firechip_u-blox_LARA-R6_Arduino_Library.cpp”, unde se generează și se trimite șirul de comandă AT complet formatat (Lista 2).
Copiați
...
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 }
...
Lista 2: Această procedură din biblioteca C++ generează și trimite șirul de comandă AT complet formatat (linia 12). (Sursa codului: Firechip pe Github)
Procedura de bibliotecă LARA_R6::sendHTTPPOSTdata (Lista 2) utilizează parametrii trecuți în apelul de funcție myLARA.sendHTTPPOSTdata() (Lista 1) și variabilele declarate suplimentar din antetul bibliotecii pentru a genera șirul complet de comenzi HTTP conform Tabelului 3. În cele din urmă, modemul LARA-R6 trimite șirul de comenzi AT rezultat către serverul ThingSpeak RemoteHTTP:
AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0
Concluzie
Pentru interconectarea globală a aplicațiilor IoT și M2M cu consum redus de energie, modulele radio multimodale LTE Cat 1 din seria LARA-R6 sunt eficiente și rentabile. După cum s-a arătat, dezvoltatorii au acces ușor la toate interfețele cu ajutorul EVK și pot configura și controla cu ușurință protocoalele și funcțiile modulului prin intermediul comenzilor AT. Aceasta oferă opțiuni simple pentru a funcționa ca un modem de PC, pentru a trimite date către cloud și pentru a genera șiruri de comenzi AT prin intermediul funcțiilor de bibliotecă.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.


