Gebruik een Global Cellular Radio Module om IoT-apparaten snel en veilig met de cloud te verbinden
Bijgedragen door De Europese redacteurs van DigiKey
2023-12-12
Om draagbare eindapparaten of netwerkapparaten op afstand aan te sluiten op het Internet of Things (IoT), of om machines op afstand te besturen met behulp van machine-to-machine communicatie (M2M), is een mobiele radioverbinding voor gegevensuitwisseling via de cloud een goede optie. Deze optie brengt echter hindernissen met zich mee voor de ontwikkelaar, zoals het bepalen welke draadloze netwerken wereldwijd de vereiste gegevensdoorvoer kunnen ondersteunen en welke protocollen het draadloze modem moet kunnen verwerken. Er moet ook rekening worden gehouden met de schaalbaarheid van het systeem, de beveiliging van de gegevens, de kosten, de tijd die nodig is om het systeem op de markt te brengen en de aanschaf- en gebruikskosten voor de gebruiker.
In dit artikel wordt kort uitgelegd wat LTE Cat 1-ontwikkelaars van IoT- en M2M-toepassingen te bieden heeft. Vervolgens worden radiomodules uit de LARA-R6-serie van u-blox geïntroduceerd die universele connectiviteit en betrouwbare prestaties bieden. Tot slot laat het artikel zien hoe ontwikkelaars een evaluatiebord (EVB) kunnen gebruiken om de modules eenvoudig te configureren en te bedienen via AT-commando's en AT-opdrachtreeksen kunnen genereren via bibliotheekfuncties.
LTE Cat 1 vergeleken met LTE Cat 1bis, LTE Cat M en LTE Cat NB
Terwijl LTE cellulaire radio nu gigabit transmissiesnelheden haalt, zijn low-power, wide-area (LPWA) protocollen zoals LTE Cat 1, LTE Cat 1bis, LTE Cat M en LTE Cat NB ontworpen om bijzonder efficiënt te zijn in termen van energieverbruik, netwerkbronnen en kosten. Dit is van cruciaal belang voor IoT-apparaten.
Met een kanaalbandbreedte tot 20 megahertz (MHz) in full duplex haalt LTE Cat 1 downloadsnelheden tot 10 megabits per seconde (Mbps) en uploadsnelheden tot 5 Mbps. Twee antennes maken diversiteit van de ontvanger (Rx) mogelijk voor betere prestaties (Tabel 1). LTE Cat 1bis gebruikt een enkele antenne.
|
Tabel 1: Prestatievergelijking van LPWA-protocollen. LTE CAT 1 gebruikt twee antennes voor Rx-diversiteit; LTE Cat 1bis gebruikt één antenne. (Bron afbeelding: Wikipedia, Jens Wallmann)
LTE Cat 1 mobiele radio voor wereldwijde beschikbaarheid
De LARA-R6-serie van u-blox bestaat uit robuuste cellulaire radiomodules die zijn ontworpen voor de standaarden LTE Cat 1 frequency division duplex (FDD) en time division duplex (TDD) van de radiotoegangstechnologie (RAT). Ze ondersteunen 3G UMTS/HSPA en 2G GSM/GPRS/EGPRS als noodoplossing. Deze modules zijn een uitstekende oplossing voor wereldwijde/multiregionale dekking en worden geleverd in een kleine LGA-vormfactor van 26 x 24 millimeter (mm).
Uitgerust met veelzijdige interfaces, een breed scala aan functies en multiband en multimode mogelijkheden, zijn LARA-R6 modules geschikt voor toepassingen die een gemiddelde datasnelheid, naadloze connectiviteit, uitstekende dekking en lage latentie vereisen. Dergelijke toepassingen zijn onder andere het volgen van activa, telematica, bewaking op afstand, alarmcentrales, videobewaking, verbonden gezondheid en betaalautomaten.
Alle modules ondersteunen Rx-diversiteit voor betrouwbare prestaties in moeilijke dekkingsomstandigheden of wanneer voice over LTE (VoLTE) vereist is. Programmeurs kunnen profiteren van de ingebouwde IoT-protocollen (LwM2M, MQTT) en beveiligingsfuncties (TLS/DTLS, beveiligd updaten en beveiligd opstarten) om verschillende functies te implementeren, waaronder apparaatbeheer, apparaatbediening op afstand en beveiligde firmware over-the-air (FOTA) updates.
De LARA-R6-serie ondersteunt LTE Cat 1 volgens 3GPP Release 10 en biedt wereldwijde dekking met drie regionale varianten:
- De LARA-R6001-00B (data en spraak) en LARA-R6001D-00B (alleen data) modules ondersteunen 18 LTE FDD/TDD-frequentiebanden plus 3G/2G-fallback voor wereldwijde connectiviteit.
- De LARA-R6401-00B (data en spraak) en LARA-R6401D-00B (alleen data) modules bieden een ideale LTE Cat 1 oplossing voor Noord-Amerika en ondersteunen LTE banden van AT&T, FirstNet, Verizon en T-Mobile.
- De LARA-R6801-00B (data en spraak) en LARA-R6801D-01B (alleen data) modules zijn ontworpen voor inzet in de volgende regio's: Europa en het Midden-Oosten (EMEA), Azië-Pacific (APAC), Japan (JP) en Latijns-Amerika (LATAM) (afbeelding 1).
Afbeelding 1: Drie regionale varianten van de LARA-R6 modules bestrijken de hele wereld. (Bron afbeelding: DigiKey, gewijzigd door auteur)
De speciale functies van de LARA-R6 in één oogopslag
LARA-R6-modules integreren een cellulaire basisbandprocessor met externe interfaces, een RF-zendontvanger met versterkers en filters, geheugen en een energiebeheerunit (Afbeelding 2).
Afbeelding 2: Interne structuur van een LARA-R6 module. (Bron afbeelding: u-blox)
De RF-zendontvanger werkt in de frequentiebanden 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz en 2,6 GHz. Alle protocollen voor gegevensoverdracht van de cellulaire basisbandprocessor kunnen worden bestuurd en geconfigureerd via AT-opdrachten met behulp van de externe UART- en USB-interfaces.
Protocollen
- Dual stack IPv4 en IPv6
- Ingebedde TCP/IP, UDP/IP, FTP en HTTP
- Ingebedde MQTT en MQTT-SN
- Geïntegreerd LwM2M
- eSIM en draaggolfonafhankelijk protocol (BIP)
LARA-R6-modules hebben een voedingsspanning van 3,1 tot 4,5 volt nodig en verbruiken in rust ongeveer 1,1 milliampère (mA). In 2G-bedrijf kunnen individuele TDMA-tijdsloten piekzendvermogens bereiken van meer dan 33 decibel gerelateerd aan 1 milliwatt (mW) (dBm) (> 2,0 watt), en alle andere RAT bereiken niveaus van meer dan 24 dBm (> 0,25 watt).
Een uitstekende antennegevoeligheid van minder dan -100 dBm, wat overeenkomt met signaalvermogens van minder dan 0,1 picowatt (pW), maakt stabiele radioverbindingen mogelijk aan de rand van het mobiele netwerk.
Evalueren en programmeren
De snelste manier om te beginnen met het evalueren en programmeren van een LARA-R6 module is door een R6 EVB (EVK-R6) en een plug-in LARA-R6-adapterbord (ADP-R6) voor de overeenkomstige regio te gebruiken. De EVK-R6001-00B voor wereldwijde toepassingen bevat bijvoorbeeld een plug-in adapterbord ADP-R6001-00B (spraak + data) en een GNSS-adapterbord (Afbeelding 3).
Afbeelding 3: LARA-R6 EVB (EVK-R6) met een aangesloten LARA-R6-adapterbord (onder) en een GNSS kaart (linksboven). (Bron afbeelding: u-blox)
De EVK-R6401-00B variant voor Noord-Amerika bevat de ADP-R6401-00B-adapter, terwijl de EVK-R6801-00B voor EMEA/APAC/JP/LATAM de ADP-R6801-00B-adapter bevat. De drie al genoemde adapterborden voor spraak- en datatransmissie zijn ook afzonderlijk verkrijgbaar, net als versies voor alleen datatransmissie, waaronder de ADP-R6401D-00B (Noord-Amerika) en ADP-R6001D-00B (wereldwijd).
Het R6-adapterbord breidt de LARA-R6-module uit met twee antennes en twee MiniUSB-connectors. De R6 EVB voegt een GNSS-module, een SIM-kaartsleuf, extra insteekverbindingen, jumpers, schakelaars en een voeding toe aan de randapparatuur van de module (Afbeelding 4).
Afbeelding 4: Functioneel blokschema van de R6 EVB met GNSS- en LARA-R6-adapters aangesloten. (Bron afbeelding: u-blox)
Elke kit bevat een EVB met een aangesloten LTE Cat 1 LARA-R6-adapterbord en een GNSS-module van u-blox, een USB-kabel, twee LTE mobiele radioantennes, een GPS/GLONASS-antenne en een voedingseenheid.
Ingebruikname van de EVK
De gebruiksvriendelijke, krachtige EVK-R6-kit van u-blox vereenvoudigt de evaluatie van multimode LTE Cat 1 / 3G / 2G cellulaire modules. Een Windows-pc waarop het LARA-R6 USB-driver is geïnstalleerd, bestuurt de LARA-R6 modem via de USB-aansluiting en vereenvoudigt het instellen van de verbinding via de systeeminstellingen. Om te beginnen moet de ontwikkelaar:
- Plaats de SIM-kaart en sluit beide mobiele antennes en de GNSS-antenne aan.
- Configureer de jumpers en schakelaars van de EVK zorgvuldig.
- Sluit de voedingsspanning aan en zet hoofdschakelaar SW400 op de EVB aan.
-
- Voor gebruik als modem met lage datasnelheid via de "Main UART" interface, sluit u de PC aan op de MiniUSB-jack J501 of RS232-jack J500 op de EVK.
- Voor gebruik als modem met lage datasnelheid via "Two UARTs", sluit u de PC aan op de cellulaire USB-jack J201-interface op de ADP.
- Voor gebruik als modem met hoge gegevenssnelheid via "Native Cellular USB", sluit u de PC aan op de MiniUSB-jack J105 op de ADP.
- Druk op de Cellular Power-On knop SW302 op de EVB.
- Start een terminalprogramma (zoals m-center), ga naar het menu COM-poortinstellingen, kies de AT-poort die overeenkomt met 4a, 4b of 4c en stel deze waarden in: Gegevenssnelheid: 115.200 bps; databits: 8; Pariteit: N; Stop bits: 1.
Raadpleeg de EVK-R6_UserGuide_UBX-21035387 voor meer informatie . De m-center tool helpt bij het evalueren, configureren en testen van u-blox cellulaire producten en bevat een AT-opdrachtterminal.
Eenvoudige internetverbinding met een Windows-pc
Door een Windows PC aan te sluiten op de EVK kan de gebruiker op twee manieren een draadloze internetverbinding tot stand brengen:
1: Een pakketgegevensverbinding met lage snelheid: Deze gebruikt de TCP/IP-stack van de Windows pc via de UART-interface van de LARA-R6 module. De PC en EVK worden aangesloten volgens methode 4a. De ontwikkelaar moet Telefoon en modem > Modems > Toevoegen selecteren in het Windows Configuratiescherm. De volgende stap is om het selectievakje "Mijn modem niet detecteren" aan te vinken, "Standaard 33,6 kbps modem" te selecteren en een COM-poort toe te wijzen. Indien nodig kan de ontwikkelaar Eigenschappen > Geavanceerd > Extra initialisatieopdrachten toevoegen.
2: Een snelle pakketdataverbinding: Deze geeft toegang tot het internet via de TCP/IP-stack van de Windows PC via de cellulaire native USB interface van de LARA-R6 module. De PC en EVK worden aangesloten volgens methode 4c. De ontwikkelaar moet Netwerkcentrum > Een nieuwe verbinding of netwerk instellen selecteren via het Configuratiescherm van Windows en klikken op "Verbinding maken met internet". De volgende stap is het selecteren van "Dial-up" en een van de AT USB-poorten. De laatste stap is het invoeren van inbelparameters (inbelnummer, providernaam, gebruikers-ID en wachtwoord).
De SIM-kaart registreren bij de mobiele operator
Zodra de SIM-kaart en MNO-parameter zijn geconfigureerd, registreert de cellulaire module zichzelf automatisch op het cellulaire netwerk na het inschakelen. Als er een probleem is, kan de registratie handmatig worden gecontroleerd met de AT-commando's in Tabel 2.
|
Tabel 2: AT-registratiecommando's. (Bron tabel: u-blox, gewijzigd door auteur)
Communicatie naar de HTTP-server op afstand via AT-commando
De GitHub-repository "Firechip_u-blox_LARA-R6_Arduino_Library" bevat een uitgebreide bibliotheek met AT-commando's voor de LARA-R6-modules, geschreven in C++ voor Arduino-controllers. Zestien toepassingsvoorbeelden, waaronder ping-tests, registratie, packet switch, SMS, GNSS en IoT-cloud, bieden suggesties voor aangepaste codestructuren.
AT commando's kunnen ook verzoeken sturen naar een HTTP-server op afstand tijdens een actieve verbinding, het antwoord van de server ontvangen en dat antwoord transparant opslaan in het lokale bestandssysteem. De ondersteunde methoden zijn HEAD, GET, DELETE, PUT, POST-bestand en POST-gegevens.
Lara_R6_Example9 stuurt willekeurige temperaturen naar de RemoteHTTP-server ThingSpeak.com via HTTP POST of GET. ThingSpeak is een IoT-analyseplatformdienst van MathWorks die helpt bij het samenvoegen, visualiseren en analyseren van live datastromen in de cloud. Tabel 3 toont de syntaxis van het HTTP-commando "POST data".
|
Tabel 3: "POST data" is HTTP-commandonummer 5 en is geformatteerd zoals weergegeven. (Bron tabel: u-blox, gewijzigd door auteur)
Dit voorbeeld kan geprogrammeerd worden op een Arduino host controller, die de LARA-R6 module op een EVK bord aanstuurt via AT commando's. Daarnaast is een geconfigureerde simkaart vereist.
De programmeur moet een ThingSpeak gebruikersaccount aanmaken en veld 1 instellen voor de willekeurige temperatuurmeetwaarde via de menuoptie Kanalen > Mijn kanalen > Nieuw kanaal. De corresponderende "Write API Key" wordt ingevoerd in het hoofdprogramma, "LARA-R6_Example9_ThingSpeak.ino" in de variabele myWriteAPIKey.
Het hoofdprogramma C++ genereert een willekeurige temperatuurwaarde, vormt de wolkenspecifieke gegevensstring en roept de bibliotheekfunctie sendHTTPPOSTdata elke 20 seconden aan (Lijst 1).
Kopie
...
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 }
...
Lijst 1: Dit hoofdprogramma genereert een willekeurige temperatuurwaarde en roept de bibliotheekfunctie sendHTTPPOSTdata elke 20 seconden aan. (Broncode: Firechip op Github)
De AT-opdrachtstring genereren die bibliotheekfuncties aanroept
De bibliotheekheader "Firechip_u-blox_LARA-R6_Arduino_Library.h" stuurt de functieaanroep sendHTTPPOSTdata door naar de bibliotheekprocedure "Firechip_u-blox_LARA-R6_Arduino_Library.cpp", waar de volledig opgemaakte AT-opdrachtstring wordt gegenereerd en verzonden (listing 2).
Copy
...
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 }
...
Lijst 2: Deze C++ bibliotheekprocedure genereert en verzendt de volledig opgemaakte AT-opdrachtstring (regel 12). (Broncode: Firechip op Github)
De bibliotheekprocedure LARA_R6::sendHTTPPOSTdata (Lijst 2) gebruikt de doorgegeven parameters van de functieaanroep myLARA.sendHTTPPOSTdata() (Lijst 1) en extra gedeclareerde variabelen uit de bibliotheekheader om de volledige HTTP-opdrachtstring te genereren volgens Tabel 3. Tenslotte stuurt de LARA-R6-modem de resulterende AT-opdrachtstring naar de ThingSpeak RemoteHTTP-server:
AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0
Conclusie
Voor het wereldwijd netwerken van laagvermogen IoT- en M2M-toepassingen zijn LTE Cat 1 multimodemodule-modules uit de LARA-R6-serie efficiënt en kosteneffectief. Zoals te zien is, hebben ontwikkelaars direct toegang tot alle interfaces met behulp van de EVK en kunnen ze de protocollen en functies van de module eenvoudig configureren en besturen via AT-commando's. Dit biedt eenvoudige opties voor het werken als een PC-modem, het verzenden van gegevens naar de cloud en het genereren van AT-opdrachtreeksen via bibliotheekfuncties.
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.


