Mobile Datenerfassung über LTE-M

Beim Erfassen mobiler Daten spielt die Datenübertragung eine entscheidende Rolle. Ausschlaggebend ist die jeweilige Netzabdeckung, sobald die Abdeckung durch ein eigenes Gateway nicht mehr gegeben ist.

Ich möchte Daten im Fahrzeug erfassen. Für die Fahrzeugposition und Geschwindigkeit bieten sich die über das GPS ermittelten Daten an. Umweltdaten, wie externe und interne Temperatur, Luftfeuchtigkeit und Luftdruck, können mit den bekannten Sensoren erfasst werden. Zur Bewegungs- oder Crashdetektion können IMU-Sensoren eingesetzt werden.

Ein Datensatz, der die gewünschten Daten enthält, kann schließlich drahtlos übermittelt werden. Für die Datenübertragung kommen Netzwerke in Frage, die eine ausreichende Abdeckung sicherstellen.

Ich betrachte hier die DACH-Region (D, A, CH) als Einsatzgebiet einer solchen Anwendung. In der Schweiz bietet Swisscom eine nahezu komplette Abdeckung mit LoRaWAN an, was in den anderen beiden Ländern so nicht der Fall ist. Damit bleibt im gesamten Gebiet LTE-M für den mobilen Einsatz.

Für die Datenkommunikation mit LTE-M bedarf es einer SIM-Card, die heute von zahlreichen Anbietern verfügbar ist. Ich verwende für meine Anwendungen SIM-Cards von 1NCE.

Der Preis des 1NCE IoT Datentarifs sieht 10 Jahre Konnektivität und Services für einmalig 10 Euro vor. 1NCE bietet mit der 1NCE IoT Flat Rate einen Datentarif an, der bereits alle benötigten Services inkludiert:

  • SIM-Card
  • Globale Netzabdeckung in über 100+ Ländern
  • Alle Mobilfunkstandards (2G, 3G, 4G, LTE-M, NB-IoT)
  • 500 MB Datenvolumen mit bis zu 1Mbit/s
  • 250 SMS (verwende ich nicht)

Als Hardware verwendet ich ein LILYGO® TTGO T-SIM7000G Modul auf Basis eines ESP32-WROVER.

LILYGO® TTGO T-SIM7000G Module

Neben dem ESP32-WROVER-B mit 4 MB Flash & 8 MB PSRAM sind die folgenden Komponenten auf dem Board zu finden: SIMCOM SIM7000G Modul, Interfaces für USB Type-C, SD-Card, Nano SIM Card, Batteriehalter für LiPo 18650 und Solar Input. LTE- und GPS-Antenne werden über U.FL-Stecker mit dem Board kontaktiert.

Zur Ansteuerung von Sensoren können die zahlreich vorhandenen GPIOs oder der I2C-Bus verwendet werden. Die Batteriespannung kann über einen Spannungsteiler und GPIO35 (ADC07) erfasst werden.

Zum Test der Verbindung aus dem bewegten Fahrzeug verwende ich das Programm TTGO_LTE-M_NetworkTest1.ino, welches an Stelle von Messwerten eine Countervariable und bei Batteriebetrieb die Batteriespannung über MQTT an den Public Broker broker.hivemq.com übertragt.

Vor der mobilen Anwendung möchte ich die Laufzeit des LiPo 18650 bei einem Sendeintervall von 10 Sekunden ermitteln. Die folgende Tabelle habe ich dem Testverlauf entsprechend nachgeführt.

Nach reichlich einem Tag war die batteriegestützte Übertragung im 10-Sekundentakt abgeschlossen. In dieser Zeit wurde ca. 10 MB an Daten über LTE-M versendet.

Nach dem Aufladen der Batterie habe ich eine Testfahrt unternommen, um den Übergang von einer Funkzelle zur anderen zu testen. Die Route ist im Bild gezeigt und die Kommunikation hat funktioniert.

Testfahrt

Ich habe das LILYGO® TTGO T-SIM7000G Modul durch ein M5Stack ENV.II Unit zur Erfassung von Temperatur und Luftfeuchtigkeit ergänzt und bin damit in der Lage mit Hilfe der GPS-Daten die Koordinaten des betreffenden Standorts und die Geschwindigkeit, mit Hilfe der Daten des ENV.II Sensors Temperatur, Luftfeuchtigkeit und barometrischen Druck (hier nicht verwendet) und die Batteriespannung des 18650 LiPo Akkus zu messen. Die erfassten Daten übermittle ich via MQTT an den Public Broker von Hivemq.

Das im Bild gezeigte Modul kann sowohl über USB also auch über den eingebauten 18650 LiPo Akku betrieben werden. GPS und ENV.II Sensor können über MQTT-Kommandos aktiviert resp. deaktiviert werden.

Im linken Bild wird das Modul zuerst über USB betrieben, anschließend durch Trennen der USB-Verbindung auf Batteriebetrieb umgeschaltet und schließlich durch erneutes Verbinden mit USB die Spannungsversorgung wieder über USB vorgenommen.

Im rechten Bild sind zu Beginn sowohl GPS als auch der ENV.II Sensor eingeschaltet und eine komplette JSON-Message über MQTT ausgegeben. Durch das Kommando TTGO/sensor:0 wird der ENV.II Sensor ausgeschaltet und der betreffende Inhalt fehlt folglich in der MQTT-Message. Durch das Kommando TTGO/gps:0 erfolgt das Deaktivieren des GPS und auch die betreffenden Inhalte fehlen in der MQTT-Message, so dass nur noch der Name des Moduls und die Batteriespannung ausgegeben werden. Über die Kommandos TTGO/gps:1 und TTGO/sensor:1 sind schließlich GPS und ENV.II Sensor wieder aktiv.

Den Messablauf zeigt das folgende Video:

Der Beginn der Sequenz wird durch zweimaliges kurzes Blinken der blauen LED signalisiert. Während der Suche nach den GPS-Satelliten blinkt die blaue LED im Takt von 2 Sekunden. Hier ist nur eine Phase (2 secON, 2 sec OFF) zu sehen. Das Versenden der MQTT-Message wird durch fünfmaliges kurzes Blinken der blauen LED signalisiert.

Für den Test der Batterieentladung werden GPS und ENV.II Sensor eingeschaltet, da das praktisch das Worst-Case-Szenario darstellt. Den Messzyklus habe ich hier auf 60 Sekunden gesetzt, da das ehestens dem Fahrzeugeinsatz entspricht.

Die folgende Tabelle zeigt den Verlauf der Batteriespannung unter der genannten Bedingung.

Die Laufzeit batteriebetrieben liegt damit bei einem Tag.

Da die MQTT-Clients auf dem PC oder dem Smartphone in der Regel nach einer bestimmten Zeit dunkel geschaltet werden, habe ich einen M5Stack MQTT Client aufgebaut, der im Dauerbetrieb laufen kann.

Damit ein zeitlicher Bezug hergestellt werden kann, den die MQTT-Clients auf dem PC oder Smartphone selbst übernehmen, habe ich noch eine Abfrage eines NTP-Servers vorgesehen.

Das hier verwendete Programm ist ebenfalls auf GitHub unter ckArduino/ESP32/M5Stack_MQTT_Client1 at main · ckuehnel/ckArduino · GitHub abgelegt.


2022-08-08/CK

Veröffentlicht von ckuehnel

Mein aktuelles Profil ist unter https://www.linkedin.com/in/ckuehnel zu finden.

Kommentar verfassen

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

%d Bloggern gefällt das: