Använd en global mobilradiomodul för att snabbt och säkert ansluta IoT-enheter till molnet
Bidraget med av DigiKeys europeiska redaktörer
2023-12-12
För att ansluta bärbara eller fjärrstyrda slutenheter till Internet of Things (IoT), eller för att fjärrstyra maskiner med hjälp av maskin till maskin-kommunikation (M2M), är en mobil radioanslutning för datautbyte via molnet ett bra alternativ. Alternativet skapar dock hinder för utvecklare, som att avgöra vilka trådlösa nätverk som kan stödja den nödvändiga genomströmningen av data i hela världen och vilka protokoll det trådlösa modemet måste kunna hantera. Systemets skalbarhet, datasäkerhet, kostnad, marknadsintroduktion samt användarens anskaffnings- och driftskostnader måste också beaktas.
Artikeln förklarar kortfattat vad LTE Cat 1 kan erbjuda utvecklare av IoT- och M2M-tillämpningar. Därefter introduceras radiomoduler från LARA-R6-serien från u-blox som ger universell anslutning och tillförlitlig prestanda. Artikeln avslutas med att visa hur utvecklare kan använda ett utvärderingskort (EVB) för att enkelt konfigurera och styra modulerna via AT-kommandon och skapa strängar med AT-kommandon via biblioteksfunktioner.
LTE Cat 1 jämfört med LTE Cat 1bis, LTE Cat M och LTE Cat NB
Medan LTE-mobilradio nu uppnår överföringshastigheter på gigabit, är LPWA-protokoll (Low Power Wide Area) som LTE Cat 1, LTE Cat 1bis, LTE Cat M och LTE Cat NB utformade för att vara särskilt effektiva när det gäller energiförbrukning, nätverksresurser och kostnader. Detta är av avgörande betydelse för IoT-enheter.
Med en kanalbandbredd på upp till 20 MHz med full duplex uppnår LTE Cat 1 datahastigheter för nedladdning på upp till 10 Mbit/s och datahastigheter för uppladdning på upp till 5 Mbit/s. Två antenner möjliggör mottagardiversitet (Rx) för bättre prestanda (tabell 1). LTE Cat 1bis använder en enda antenn.
|
Tabell 1: Jämförelse av prestanda för LPWA-protokoll. LTE CAT 1 använder två antenner för mottagningsdiversitet, LTE Cat 1bis använder en antenn. (Bildkälla: Wikipedia, Jens Wallmann)
LTE Cat 1 mobilradio för global tillgänglighet
LARA-R6-serien från u-blox består av robusta mobilradiomoduler som är utformade för radiotekniken LTE Cat 1 FDD (frequency division duplex) och TDD (time division duplex). De har stöd för 3G UMTS/HSPA och 2G GSM/GPRS/EGPRS som reservlösning. Modulerna är en utmärkt lösning för global/multiregional täckning och levereras i ett liten LGA-format med måtten 26 x 24 mm.
LARA-R6-modulerna är utrustade med mångsidiga gränssnitt, ett stort utbud av funktioner samt kapacitet för flera band och lägen, och passar i tillämpningar som kräver medelhög datahastighet, sömlös anslutning, utmärkt täckning och låg latens. Sådana tillämpningar inkluderar spårning av tillgångar, telematik, fjärrövervakning, larmcentraler, videoövervakning, uppkopplade hälso- och sjukvårdsenheter och kassaapparater.
Alla moduler har stöd för mottagningsdiversitet för tillförlitlig prestanda vid svåra täckningsförhållanden eller när röst över LTE (VoLTE) krävs. Programmerare kan dra nytta av de inbyggda protokollen för IoT (LwM2M, MQTT) och säkerhetsfunktionerna (TLS/DTLS, säker uppdatering och säker start) för att implementera olika funktioner, inklusive enhetshantering, fjärrstyrning av enheter och säkra uppdateringar av firmware via radio (firmware over-the-air).
Serien LARA-R6 har stöd för LTE Cat 1 enligt 3GPP utgåva 10 och uppnår global täckning med tre regionala varianter:
- Modulerna LARA-R6001-00B (data och röst) och LARA-R6001D-00B (endast data) stöder frekvensbandet 18 LTE FDD/TDD plus reservbandet 3G/2G för globala anslutningsmöjligheter.
- Modulerna LARA-R6401-00B (data och röst) och LARA-R6401D-00B (endast data) är en perfekt lösning för LTE Cat 1 i Nordamerika, med stöd för LTE-band från AT&T, FirstNet, Verizon och T-Mobile.
- Modulerna LARA-R6801-00B (data och röst) och LARA-R6801D-01B (endast data) är konstruerade för driftsättning i följande regioner: Europa och Mellanöstern (EMEA), Asien och Stillahavsområdet (APAC), Japan (JP) och Latinamerika (LATAM) (figur 1).
Bild 1: Tre regionala varianter av modulerna LARA-R6 täcker hela världen. (Bildkälla: DigiKey, redigerad av författaren)
Snabböversikt av specialfunktionerna i LARA-R6
Modulerna LARA-R6 innehåller en basbandsprocessor med externa gränssnitt för mobilnät, en RF-transceiver med förstärkare och filter, minne och en strömförsörjningsenhet (figur 2).
Figur 2: Intern uppbyggnad av LARA-R6 modul. (Bildkälla: u-blox)
RF-transceivern arbetar i frekvensbanden 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz och 2,6 GHz. Alla dataöverföringsprotokoll i basbandsprocessorn kan styras och konfigureras via AT-kommandon med hjälp av de externa UART- och USB-gränssnitten.
Protokoll
- Dubbel stack IPv4 och IPv6
- Inbyggd TCP/IP, UDP/IP, FTP och HTTP
- Inbyggd MQTT och MQTT-SN
- Inbyggd LwM2M
- eSIM och Bearer Independent Protocol (BIP)
Modulerna LARA-R6 kräver en matningsspänning på 3,1 till 4,5 V och har en viloförbrukning på ca 1,1 mA. I 2G-drift kan enskilda TDMA-tidluckor nå en maximal sändareffekt på över 33 decibel refererat till 1 mW (dBm) (> 2,0 W), och alla andra radiotekniker når nivåer på över 24 dBm (> 0,25 W).
En utmärkt antennkänslighet på mindre än -100 dBm, vilket motsvarar signaleffekter på mindre än 0,1 pW, möjliggör stabila radioförbindelser i ytterkanten av mobilnätet.
Utvärdering och programmering
Det snabbaste sättet att börja utvärdera och programmera en LARA-R6-modul är att använda en R6 EVB (EVK-R6) och ett LARA-R6 adapterkort (ADP-R6) för motsvarande region. EVK-R6001-00B för globala tillämpningar innehåller t.ex. ADP-R6001-00B (röst + data) och ett adapterkort för GNSS (figur 3).
Figur 3: LARA-R6 EVB (EVK-R6) med ett anslutet adapterkort för LARA-R6 (nederst) och ett GNSS-kort (överst till vänster). (Bildkälla: u-blox)
Modellen EVK-R6401-00B för Nordamerika innehåller adaptern ADP-R6401-00B, medan EVK-R6801-00B för EMEA/APAC/JP/LATAM innehåller adaptern ADP-R6801-00B. De tre redan nämnda adapterkorten för röst- och dataöverföring finns även tillgängliga separat, liksom modeller för enbart dataöverföring, inklusive ADP-R6401D-00B (Nordamerika) och ADP-R6001D-00B (globalt).
Adapterkortet R6 utökar modulen LARA-R6 med två antenner och två MiniUSB-kontakter. R6 EVB lägger till en GNSS-modul, en SIM-kortplats, ytterligare anslutningar, byglar, omkopplare och en strömförsörjning till modulens kringutrustning (figur 4).
Figur 4: Funktionsblockdiagram över R6 EVB med adaptrar för GNSS och LARA-R6 inkopplade. (bildkälla: u-blox)
Respektive sats innehåller ett utvärderingskort med ett LTE Cat 1 LARA-R6 adapterkort och en GNSS-modul från u-blox, en USB-kabel, två LTE-mobilradioantenner, en GPS/GLONASS-antenn och en strömförsörjningsenhet.
Driftsättning av utvärderingssatsen
Den lättanvända och kraftfulla utvärderingssatsen EVK-R6 från u-blox förenklar utvärderingen av mobilmodulerna LTE Cat 1/3G/2G med flera lägen. En Windows PC med en installerade USB-drivrutin för LARA-R6 styr LARA-R6-modemet via USB-kontakten och förenklar konfigurationen av anslutningen via systeminställningarna. För att komma igång behöver utvecklaren:
- Sätta i SIM-kortet och ansluta de båda mobilantennerna och GNSS-antennen.
- Noggrant konfigurera utvärderingskortets byglar och omkopplare.
- Ansluta matningsspänningen och slå på huvudströmbrytaren SW400 på EVB.
-
- Anslut PC:n till MiniUSB-uttaget J501 eller RS232-uttaget J500 på utvärderingskortet, för användning som modem med låg datahastighet via gränssnittet "Main UART".
- Anslut PC:n till mobilnätets USB-uttag J201 på ADP:n, för drift som modem med låg datahastighet via "två UART:ar".
- Anslut PC:n till MiniUSB-uttaget J105 på ADP:n, för användning som modem med hög datahastighet via det "inbyggda mobilnätets USB".
- Tryck på knappen SW302 på utvärderingskortet för att slå på kraften till mobilnätet.
- Kör ett terminalprogram (t.ex. m-center), gå till menyn konfigurering av COM-port, välj den AT-port som motsvarar 4a, 4b eller 4c och ställ in dessa värden: Datahastighet: 115 200 bps; databitar: 8; Paritet: N; Stoppbitar: 1.
Mer information finns i EVK-R6_UserGuide_UBX-21035387. Verktyget m-center gör det lättare att utvärdera, konfigurera och testa mobilnätsprodukter från u-blox, och det innehåller ett terminalprogram för AT-kommandon.
Enkel internetanslutning med en Windows PC
Genom att ansluta en Windows PC till utvärderingskortet kan användaren upprätta en trådlös internetanslutning på två sätt:
1: En låghastighetsförbindelse för paketdata: Denna använder TCP/IP-stacken i Windows PC:n via UART-gränssnittet i LARA-R6-modulen. PC:n och utvärderingskortet är anslutna enligt metod 4a. Utvecklaren måste välja Telefon och modem > Modem > Lägg till i Windows kontrollpanel. Nästa steg är att markera kryssrutan "Känn inte av mitt modem", välja "Standard 33.6 kbps Modem" och tilldela en COM-port. Om det behövs kan utvecklaren lägga till Egenskaper > Avancerat > Extra initialiseringskommandon.
2: En höghastighetsförbindelse för paketdata: Detta ger åtkomst till Internet via TCP/IP-stacken i Windows PC:n via det inbyggda USB-gränssnittet i LARA-R6-modulen. PC:n och utvärderingskortet är anslutna enligt metod 4c. Utvecklaren måste välja Nätverks- och delningscenter > Konfigurera en ny anslutning eller ett nytt nätverk via Windows kontrollpanel och klicka på "Anslut till Internet". Nästa steg är att välja "Uppringd anslutning" och en av AT USB-portarna. Det sista steget är att ange uppringningsparametrar (uppringningsnummer, leverantörsnamn, användar-ID och lösenord).
Registrera SIM-kortet hos mobiloperatören
När SIM-kortet och MNO-parametern har konfigurerats registrerar sig mobilmodulen automatiskt i mobilnätet när den har slagits på. Om något problem uppstår kan registreringen kontrolleras manuellt med hjälp av de AT-kommandon som visas i tabell 2.
|
Tabell 2: AT-kommandon för registrering. (tabellkälla: u-blox, redigerad av författaren)
Kommunikation till HTTP-fjärrserver via AT-kommando
GitHub-lagringen "Firechip_u-blox_LARA-R6_Arduino_Library" innehåller ett omfattande bibliotek med AT-kommandon för LARA-R6-modulerna, skrivet i C++ för Arduino-styrenheter. Sexton tillämpningsexempel, inklusive ping-tester, registrering, paketväxling, SMS, GNSS och IoT-moln, ger förslag på anpassade kodstrukturer.
AT-kommandon kan även skicka förfrågningar till en HTTP-fjärrserver vid en aktiv anslutning, ta emot serverns svar och lagra detta svar transparent i det lokala filsystemet. De metoder som stöds är HEAD, GET, DELETE, PUT, POST av fil och POST av data.
Lara_R6_Example9 skickar slumpmässiga temperaturer till HTTP-fjärrservern ThingSpeak.com med hjälp av HTTP POST eller GET. ThingSpeak är en plattformstjänst för IoT-analys från MathWorks som gör det lättare att sammanställa, visualisera och analysera dataströmmar i molnet i realtid. Tabell 3 visar syntaxen för HTTP-kommandot "POST" av data.
|
Tabell 3: "POST data" är HTTP-kommando nummer 5 och formateras enligt följande (tabellkälla: u-blox, redigerad av författaren)
Detta exempel kan programmeras på en Arduino-värdstyrenhet, som styr LARA-R6-modulen på ett utvärderingskort via AT-kommandon. Dessutom krävs ett konfigurerat SIM-kort.
Programmeraren måste skapa ett användarkonto på ThingSpeak och ställa in fält 1 för det slumpmässiga temperaturmätvärdet via menyalternativet Kanaler > Mina kanaler > Ny kanal. Motsvarande "Write API Key" anges i huvudprogrammet, "LARA-R6_Example9_ThingSpeak.ino" i variabeln myWriteAPIKey.
Huvudprogrammet i C++ genererar ett slumpmässigt temperaturvärde, bildar den molnspecifika datasträngen och anropar biblioteksfunktionen sendHTTPPOSTdata var 20:e sekund (lista 1).
Kopiera
...
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: Huvudprogrammet genererar ett slumpmässigt temperaturvärde och anropar biblioteksfunktionen sendHTTPPOSTdata var 20:e sekund. (Kodkälla: Firechip på Github)
Generera AT-kommandosträngen med hjälp av biblioteksfunktioner
Bibliotekshuvudet "Firechip_u-blox_LARA-R6_Arduino_Library.h" vidarebefordrar funktionsanropet sendHTTPPOSTdata till biblioteksproceduren "Firechip_u-blox_LARA-R6_Arduino_Library.cpp", där den fullständigt formaterade AT-kommandosträngen genereras och skickas (lista 2).
Kopiera
...
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: Denna biblioteksprocedur i C++ genererar och skickar den fullständigt formaterade AT-kommandosträngen (rad 12). (Kodkälla: Firechip på Github)
Biblioteksproceduren LARA_R6::sendHTTPPOSTdata (lista 2) använder de parametrar som skickats från funktionsanropet myLARA.sendHTTPPOSTdata() (lista 1) och ytterligare deklarerade variabler från bibliotekets huvud för att generera den fullständiga HTTP-kommandosträngen enligt tabell 3. Slutligen skickar LARA-R6-modemet den resulterande AT-kommandosträngen till HTTP-fjärrservern hor ThingSpeak
AT+UHTTPC=0,5,"/update","post_response.txt","api_key=PFIOEXW1VF21T7O6&field1=21.54",0
Sammanfattning
För globala nätverk med IoT- och M2M-tillämpningar för låg effekt är LTE Cat 1-radiomoduler med flera lägen i LARA-R6-serien effektiva och kostnadseffektiva. Som framgår har utvecklarna direkt tillgång till alla gränssnitt via utvärderingssatsen och kan enkelt konfigurera och styra modulens protokoll och funktioner via AT-kommandon. Detta ger enkla alternativ för att arbeta som ett PC-modem, skicka data till molnet och generera AT-kommandosträngar via biblioteksfunktioner.
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.


