Verwenden Sie ein globales Mobilfunkmodul, um IoT-Geräte schnell und sicher mit der Cloud zu verbinden

Von Jens Wallmann, beigetragen von Digi-Key’s Deutschen Redakteuren

Zur Verfügung gestellt von Europäische Fachredakteure von DigiKey

Um tragbare oder netzferne Endgeräte mit dem Internet der Dinge (IoT) zu vernetzen oder Maschinen per Maschine-zu-Maschine-Kommunikation (M2M) fernzusteuern, bietet sich eine Mobilfunkverbindung zum Datenaustausch über die Cloud an. Diese Option stellt den Entwickler jedoch vor einige Hürden, wie z. B. die Frage, welche drahtlosen Netze den erforderlichen Datendurchsatz weltweit unterstützen können und welche Protokolle das drahtlose Modem beherrschen muss. Auch die Skalierbarkeit des Systems, die Datensicherheit, die Kosten, die Markteinführungszeit sowie die Anschaffungs- und Betriebskosten müssen berücksichtigt werden.

Dieser Artikel erläutert kurz, was LTE Cat 1 für die Entwicklung von IoT- und M2M-Anwendungen bietet. Dann werden Funkmodule der Serie LARA-R6 von u-blox vorgestellt, die universelle Vernetzung und zuverlässige Performance bieten. Abschließend wird gezeigt, wie Entwickler ein Evaluierungsboard (EVB) verwenden können, um die Module einfach über AT-Befehle zu konfigurieren und zu steuern sowie AT-Befehlsstrings über Bibliotheksfunktionen zu erzeugen.

LTE Cat 1 im Vergleich zu LTE Cat 1bis, LTE Cat M und LTE Cat NB

Während der LTE-Mobilfunk mittlerweile Gigabit-Übertragungsraten erreicht, sind Low-Power-Wide-Area-Protokolle (LPWA) wie LTE Cat 1, LTE Cat 1bis, LTE Cat M und LTE Cat NB darauf ausgelegt, besonders effizient im Hinblick auf Energieverbrauch, Netzwerkressourcen und Kosten zu sein. Dies ist für IoT-Geräte von entscheidender Bedeutung.

Mit einer Kanalbandbreite von bis zu 20 Megahertz (MHz) bei Vollduplex erreicht LTE Cat 1 Download-Datenraten von bis zu 10 Megabit pro Sekunde (Mbit/s) und Upload-Datenraten von bis zu 5 Mbit/s. Zwei Antennen ermöglichen eine Diversifizierung des Empfängers (Rx) für eine bessere Performance (Tabelle 1). LTE Cat 1bis verwendet eine einzige Antenne.

LTE Cat 1/Cat 1bis LTE Cat M1 LTE Cat NB1
3GPP-Version Version 8 Version 13 Version 13
Downlink-Spitzenrate 10 Mbit/s 1 Mbit/s 26 kbit/s
Uplink-Spitzenrate 5 Mbit/s 1 Mbit/s 66 kbit/s (Mehrkanalsignal)
16,9 kbit/s (Einkanalsignal)
Latenz 50 ms bis 100 ms 10 ms bis 15 ms 1,6 s bis 10 s
Anzahl der Antennen 2 (LTE Cat 1)
1 (LTE Cat 1bis)
1 1
Duplex-Modus Vollduplex Voll- oder Halbduplex Halbduplex
Empfangsbandbreite des Geräts 1,4 MHz bis 20 MHz 1,4 MHz 180 kHz

Tabelle 1: Vergleich der Performance von LPWA-Protokollen. LTE CAT 1 verwendet zwei Antennen für Rx-Diversität; LTE Cat 1bis verwendet eine einzelne Antenne. (Bildquelle: Wikipedia, Jens Wallmann)

LTE-Cat-1-Mobilfunk für weltweite Verfügbarkeit

Die Serie LARA-R6 von u-blox besteht aus robusten Mobilfunkmodulen, die für die Funkzugangstechnologien (RAT) LTE Cat 1 FDD (Frequency Division Duplex, Frequenzduplexverfahren) und TDD (Time Division Duplex, Zeitduplexverfahren) entwickelt wurden. Sie unterstützen 3G UMTS/HSPA und 2G GSM/GPRS/EGPRS als Fallback-Lösung. Diese Module sind eine hervorragende Lösung für die globale/mehrregionale Abdeckung und haben einen kleinen LGA-Formfaktor von 26 x 24 Millimetern (mm).

Ausgestattet mit vielseitigen Schnittstellen, einer Vielzahl von Funktionen und Multiband- und Multimode-Fähigkeiten eignen sich die LARA-R6-Module für Anwendungen, die eine mittlere Datenrate, nahtlose Vernetzung, hervorragende Abdeckung und geringe Latenz erfordern. Zu diesen Anwendungen gehören Bestandsüberwachung, Telematik, Fernüberwachung, Alarmzentralen, Videoüberwachung, vernetzte Gesundheitsdienste und Kassenterminals.

Alle Module unterstützen Rx-Diversität für zuverlässige Performance unter schwierigen Abdeckungsbedingungen oder wenn Sprache über LTE (VoLTE) erforderlich ist. Für die Programmierung können die Vorteile der eingebetteten IoT-Protokolle (LwM2M, MQTT) und Sicherheitsfunktionen (TLS/DTLS, sicheres Update und sicheres Booten) genutzt werden, um verschiedene Funktionen zu implementieren, darunter Gerätemanagement, Fernsteuerung von Geräten und sichere Firmware-over-the-air-Updates (FOTA).

Die Serie LARA-R6 unterstützt LTE Cat 1 gemäß 3GPP Version 10 und erreicht eine globale Abdeckung mit drei regionalen Varianten:

  • Die Module LARA-R6001-00B (Daten und Sprache) und LARA-R6001D-00B (nur Daten) unterstützen 18 LTE-FDD/TDD-Frequenzbänder sowie 3G/2G-Fallback für die globale Vernetzung.
  • Die Module LARA-R6401-00B (Daten und Sprache) und LARA-R6401D-00B (nur Daten) bieten eine ideale LTE-Cat-1-Lösung für Nordamerika und unterstützen die LTE-Bänder von AT&T, FirstNet, Verizon und T-Mobile.
  • Die Module LARA-R6801-00B (Daten und Sprache) und LARA-R6801D-01B (nur Daten) sind für den Einsatz in den folgenden Regionen vorgesehen: Europa und Naher Osten (EMEA), Asien-Pazifik (APAC), Japan (JP) und Lateinamerika (LATAM) (Abbildung 1).

Karte der regionalen Varianten der LARA-R6-ModuleAbbildung 1: Drei regionale Varianten der LARA-R6-Module decken den Globus ab. (Bildquelle: DigiKey, geändert vom Autor)

Die Besonderheiten von LARA-R6 auf einen Blick

Die LARA-R6-Module enthalten einen Mobilfunk-Basisbandprozessor mit externen Schnittstellen, einen HF-Transceiver mit Verstärkern und Filtern, einen Speicher und eine Energiemanagementeinheit (Abbildung 2).

Diagramm der internen Struktur eines LARA-R6-Moduls von u-blox (zum Vergrössern anklicken)Abbildung 2: Interner Aufbau eines LARA-R6-Moduls. (Bildquelle: u-blox)

Der HF-Transceiver arbeitet in den Frequenzbändern 700 MHz, 800 MHz, 850 MHz, 900 MHz, 1,7 GHz, 1,8 GHz, 1,9 GHz, 2,1 GHz und 2,6 GHz. Alle Datenübertragungsprotokolle des Mobilfunk-Basisbandprozessors können über AT-Befehle mit Hilfe der externen UART- und USB-Schnittstellen gesteuert und konfiguriert werden.

Protokolle

  • Dual Stack IPv4 und IPv6
  • Eingebettetes TCP/IP, UDP/IP, FTP und HTTP
  • Eingebettetes MQTT und MQTT-SN
  • Eingebettetes LwM2M
  • eSIM und Bearer Independent Protocol (BIP)

LARA-R6-Module benötigen eine Versorgungsspannung von 3,1 bis 4,5 Volt und haben einen Ruhestromverbrauch von etwa 1,1 Milliampere (mA). Im 2G-Betrieb können einzelne TDMA-Zeitschlitze Spitzen-Sendeleistungen von über 33 Dezibel, bezogen auf 1 Milliwatt (mW) (dBm) (>2,0 Watt), erreichen, und alle anderen RAT erreichen Pegel von über 24 dBm (>0,25 Watt).

Eine hervorragende Antennenempfindlichkeit von weniger als -100 dBm, was Signalleistungen von weniger als 0,1 Picowatt (pW) entspricht, ermöglicht stabile Funkverbindungen am Rande des Mobilfunknetzes.

Evaluierung und Programmierung

Der schnellste Weg, um mit der Evaluierung und Programmierung eines LARA-R6-Moduls zu beginnen, ist die Verwendung eines R6-Evaluierungsboards (EVK-R6) und einer steckbaren LARA-R6-Adapterkarte (ADP-R6) für die entsprechende Region. Das EVK-R6001-00B für globale Anwendungen enthält beispielsweise die steckbare Adapterkarte ADP-R6001-00B (Sprache + Daten) und eine GNSS-Adapterkarte (Abbildung 3).

Bild: Evaluierungsboard LARA-R6 (EVK-R6) von u-blox mit angeschlossener LARA-R6-Adapterkarte (zum Vergrössern anklicken)Abbildung 3: Evaluierungsboard LARA-R6 (EVK-R6) mit aufgesteckter LARA-R6-Adapterplatine (unten) und einer GNSS-Platine (oben links). (Bildquelle: u-blox)

Die Variante EVK-R6401-00B für Nordamerika enthält den Adapter ADP-R6401-00B, während die Variante EVK-R6801-00B für EMEA/APAC/JP/LATAM den Adapter ADP-R6801-00B enthält. Die drei bereits erwähnten Adapterkarten für die Sprach- und Datenübertragung sind auch separat erhältlich, ebenso wie die Versionen für die reine Datenübertragung, darunter ADP-R6401D-00B (Nordamerika) und ADP-R6001D-00B (weltweit).

Die R6-Adapterkarte erweitert das LARA-R6-Modul um zwei Antennen und zwei MiniUSB-Anschlüsse. Das R6-Evaluierungsboard erweitert die Modulperipherie um ein GNSS-Modul, einen SIM-Kartensteckplatz, zusätzliche Steckverbindungen, Jumper, Schalter und eine Stromversorgung (Abbildung 4).

Funktionsblockdiagramm des R6-Evaluierungsboards von u-blox mit eingesteckten GNSS- und LARA-R6-Adaptern (zum Vergrössern anklicken)Abbildung 4: Funktionsblockdiagramm des R6-Evaluierungsboards mit eingesteckten GNSS- und LARA-R6-Adaptern. (Bildquelle: u-blox)

Jedes Kit enthält ein Evaluierungsboard mit einer angeschlossenen LTE-Cat-1-LARA-R6-Adapterkarte und einem GNSS-Modul von u-blox, ein USB-Kabel, zwei LTE-Mobilfunkantennen, eine GPS/GLONASS-Antenne und ein Netzteil.

Inbetriebnahme des EVK

Das benutzerfreundliche, leistungsstarke EVK-R6-Kit von u-blox vereinfacht die Evaluierung von Multimode-LTE-Cat-1/3G/2G-Mobilfunkmodulen. Ein Windows-PC mit installiertem LARA-R6-USB-Treiber steuert das LARA-R6-Modem über den USB-Anschluss und vereinfacht den Verbindungsaufbau über die Systemeinstellungen. Um zu beginnen, ist folgendes zu tun:

  1. Legen Sie die SIM-Karte ein und schließen Sie beide Mobilfunkantennen und die GNSS-Antenne an.
  2. Konfigurieren Sie sorgfältig die Jumper und Schalter des EVK.
  3. Legen Sie die Versorgungsspannung an und schalten Sie das Evaluierungsboard über seinen Hauptschalter SW400 ein.
    1. Für den Betrieb als Modem mit niedriger Datenrate über die „Main UART“-Schnittstelle schließen Sie den PC an die MiniUSB-Buchse J501 oder die RS232-Buchse J500 am EVK an.
    2. Für den Betrieb als Modem mit niedriger Datenrate über „Zwei UARTs“ verbinden Sie den PC mit der Mobilfunk-USB-Buchse J201 am ADP.
    3. Für den Betrieb als Modem mit hoher Datenrate über „Native Cellular USB“ schließen Sie den PC an die MiniUSB-Buchse J105 des ADP an.
  4. Drücken Sie die Mobilfunk-Einschalttaste SW302 auf dem Evaluierungsboard.
  5. Starten Sie eine Terminal-Anwendungssoftware (z. B. m-center), gehen Sie zum Menü COM-Port-Setup, wählen Sie den AT-Port, der 4a, 4b oder 4c entspricht, und stellen Sie diese Werte ein: Datenrate: 115.200 bps; Datenbits: 8; Parität: N; Stoppbits: 1.

Weitere Einzelheiten finden Sie im EVK-R6_UserGuide_UBX-21035387. Das Tool m-center hilft bei der Evaluierung, Konfiguration und dem Test von u-blox-Mobilfunkprodukten und enthält ein AT-Befehlsterminal.

Einfache Internetverbindung über einen Windows-PC

Durch Anschluss eines Windows-PCs an das EVK kann auf zwei Arten eine drahtlose Internetverbindung hergestellt werden:

1: Eine Paketdatenverbindung mit niedriger Geschwindigkeit: Diese nutzt den TCP/IP-Stack des Windows-PCs über die UART-Schnittstelle des LARA-R6-Moduls. PC und EVK werden nach Methode 4a verbunden. Der Entwickler muss in der Windows-Systemsteuerung Telefon und Modem > Modems > Hinzufügen auswählen. Der nächste Schritt besteht darin, das Kontrollkästchen „Modem nicht erkennen“ zu aktivieren, „Standard 33,6 kbit/s Modem“ auszuwählen und einen COM-Port zuzuweisen. Falls erforderlich, kann „Eigenschaften > Erweitert > Zusätzliche Initialisierungsbefehle“ hinzugefügt werden.

2: Eine Highspeed-Paketdatenverbindung: Diese greift mit dem TCP/IP-Stack des Windows-PCs über die native Mobilfunk-USB-Schnittstelle des LARA-R6-Moduls auf das Internet zu. PC und EVK werden nach Methode 4c verbunden. Hier muss „Netzwerk- und Freigabecenter > Eine neue Verbindung oder ein neues Netzwerk einrichten“ über die Windows-Systemsteuerung gewählt und auf „Mit dem Internet verbinden“ geklickt werden. Im nächsten Schritt wählen Sie „Einwahl“ („Dial-up“) und einen der AT-USB-Ports. Der letzte Schritt ist die Eingabe der Einwahlparameter (Einwahlnummer, Anbietername, Benutzer-ID und Passwort).

Registrierung der SIM-Karte beim Mobilfunkbetreiber

Sobald die SIM-Karte und die MNO-Parameter konfiguriert sind, meldet sich das Mobilfunkmodul nach dem Einschalten automatisch im Mobilfunknetz an. Wenn ein Problem auftritt, kann die Registrierung manuell mit den in Tabelle 2 aufgeführten AT-Befehlen überprüft werden.

Vom DTE (Benutzer) gesendeter Befehl DCE-Antwort (Modul) Beschreibung
AT+CREG? +CREG: 0,1 OK Überprüfen der Netzwerkregistrierung.
AT+COPS=0 OK Registrieren Sie das Modul im Netzwerk nur, wenn die automatische Registrierung fehlgeschlagen ist (AT+CREG? gibt 0,0 zurück).
AT+COPS? +COPS: 0,0,"I TIM",7 OK Auslesen des Betreibernamens und der Funkzugangstechnologie (RAT).

Tabelle 2: AT-Registrierungsbefehle. (Quelle der Tabelle: u-blox, geändert vom Autor)

Kommunikation mit dem entfernten HTTP-Server über AT-Befehl

Das GitHub-Repository „Firechip_u-blox_LARA-R6_Arduino_Library“ enthält eine umfangreiche Bibliothek von AT-Befehlen für die LARA-R6-Module, geschrieben in C++ für Arduino-Controller. Sechzehn Anwendungsbeispiele, darunter Ping-Tests, Registrierung, Paketvermittlung, SMS, GNSS und IoT-Cloud, liefern Vorschläge für eigene Codestrukturen.

AT-Befehle können auch während einer aktiven Verbindung Anfragen an einen entfernten HTTP-Server senden, die Antwort des Servers empfangen und diese Antwort transparent im lokalen Dateisystem speichern. Die unterstützten Methoden sind HEAD, GET, DELETE, PUT, POST file und POST data.

Das Lara_R6_Example9 sendet per HTTP POST oder GET zufällige Temperaturwerte an den RemoteHTTP-Server ThingSpeak.com. ThingSpeak ist ein IoT-Analyseplattformdienst von MathWorks, der dabei hilft, Live-Datenströme in der Cloud zu aggregieren, zu visualisieren und zu analysieren. Tabelle 3 zeigt die Syntax des HTTP-Befehls „POST data“

Typ Syntax Reaktion Beispiel
Set AT+UHTTPC=<profile_id>,5,
<path>,<filename>,<data>,
<HTTP_content_type>
[,<user_defined_content_type>]
OK AT+UHTTPC=0,5,"/path/file.html", "responseFilename","data",0 OK

Tabelle 3: „POST data“ ist der HTTP-Befehl Nummer 5 und wird wie gezeigt formatiert. (Quelle der Tabelle: u-blox, geändert vom Autor)

Dieses Beispiel kann auf einem Arduino-Hostcontroller programmiert werden, der das LARA-R6-Modul auf einem EVK-Board über AT-Befehle steuert. Außerdem ist eine konfigurierte SIM-Karte erforderlich.

Der Programmierer muss ein ThingSpeak-Benutzerkonto anlegen und über den Menüpunkt „Channels > My Channels > New Channel“ das Feld 1 für den zufälligen Temperaturmesswert einstellen. Der entsprechende „Write API Key“ wird im Hauptprogramm, „LARA-R6_Example9_ThingSpeak.ino“ in der Variablen myWriteAPIKey eingegeben.

Das C++-Hauptprogramm erzeugt einen zufälligen Temperaturwert, bildet den cloud-spezifischen Datenstring und ruft die Bibliotheksfunktion sendHTTPPOSTdata alle 20 Sekunden auf (Listing 1).

Kopieren
...
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: Dieses Hauptprogramm erzeugt einen zufälligen Wert für die Temperatur und ruft die Bibliotheksfunktion sendHTTPPOSTdata alle 20 Sekunden auf. (Code-Quelle: Firechip auf Github)

Generierung des AT-Befehlsstrings durch Aufruf von Bibliotheksfunktionen

Der Bibliotheks-Header „Firechip_u-blox_LARA-R6_Arduino_Library.h“ leitet den Funktionsaufruf sendHTTPPOSTdata an die Bibliotheks-Prozedur „Firechip_u-blox_LARA-R6_Arduino_Library.cpp“ weiter, wo der vollständig formatierte AT-Befehlsstring erzeugt und gesendet wird (Listing 2).

Kopieren
...
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: Diese C++-Bibliotheksprozedur erzeugt und sendet den vollständig formatierten AT-Befehlsstring (Zeile 12). (Code-Quelle: Firechip auf Github)

Die Bibliotheks-Prozedur LARA_R6::sendHTTPPOSTdata (Listing 2) verwendet die übergebenen Parameter des Funktionsaufrufs myLARA.sendHTTPPOSTdata() (Listing 1) und zusätzlich deklarierte Variablen aus dem Bibliotheksheader, um den vollständigen HTTP-Befehlsstring gemäß Tabelle 3 zu erzeugen. Schließlich sendet das LARA-R6 Modem den resultierenden AT-Befehlsstring an den RemoteHTTP-Server von ThingSpeak:

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

Fazit

Für die globale Vernetzung von energiesparenden IoT- und M2M-Anwendungen sind die LTE-Cat-1-Multimode-Funkmodule der LARA-R6-Serie effizient und kostengünstig. Wie gezeigt, haben Entwicklungsteams mit dem EVK direkten Zugriff auf alle Schnittstellen und können die Protokolle und Funktionen des Moduls einfach über AT-Befehle konfigurieren und steuern. Dies bietet einfache Optionen für den Betrieb als PC-Modem, das Senden von Daten an die Cloud und die Erzeugung von AT-Befehlsstrings über Bibliotheksfunktionen.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Jens Wallmann

Jens Wallmann, beigetragen von Digi-Key’s Deutschen Redakteuren

Jens Wallmann is a freelancing editor and contributes to electronics publications, both print and online. As an electrical engineer (communications engineering) and a trained industrial electronic engineer he has more than 25 years in electronics development with a focus on measuring technology, automotive electronics, process industry and Radio Frequency.

Über den Verlag

Europäische Fachredakteure von DigiKey