1NCE Data Broker: Mehr Batterielaufzeit unter NB-IoT und LTE-M
Die Wahl eines passenden Kommunikationsprotokolls unter Verwendung von NB-IoT und LTE-M (Cat M1) Mobilfunk kann maßgeblich zur Lebenszeitverlängerung von batteriebetriebenen Sensoren beitragen. Der Vorteil: Optimal konfiguriert können diese weitere gute Einsparergebnisse erzielen, wie etwa nur durch netzbasierte Aktivitätsintervalle mittels PSM oder eDRX allein.
Blogreihe "Stromsparen im mobilen LPWAN"
Teil 2: MQTT, CoAP und LwM2M: Schlanke Protokolle für das IoT
Teil 3: 1NCE Data Broker: Mehr Batterielaufzeit unter NB-IoT und LTE-M
Die 1NCE Connectivity Suite, integrierter Bestandteil der 1NCE IoT Lifetime Flat, übernimmt automatisiert viele wichtige Onboarding- und Kommunikationsprozesse eines IoT Gerätes in die AWS Cloud. Authentifizierung, Konfiguration und auch die Wahl des Kommunikationsprotokolls können automatisiert und ohne viel manuelles Zutun realisiert werden. Mit dem integrierten Data Broker können für die Kommunikation zwischen IoT Device und Cloud ohne viel manuellen Aufwand schlanke Übertragungsprotokolle eingerichtet werden, die die Batterielaufzeiten von Sensoren deutlich erhöhen helfen.
CoAP vs. MQTT: Effizienter kommunizieren mit dem 1NCE Data Broker
Statt auf MQTT setzt die Connectivity Suite auf schlankere Protokolle wie UDP, CoAP und künftig auch LwM2M (Siehe Teil 2) und fungiert dabei stets als Vermittler zwischen Gerät und AWS Cloud für eine energieeffiziente Kommunikation.
Abb.1 Kommunikation via CoAP statt MQTT zwischen IoT-Device und der Cloud.
Um die Datenmenge weiter zu reduzieren und damit auch den Energieverbrauch, kann die Kommunikation zwischen IoT-Device und Connectivity Suite zusätzlich noch in Binärdaten umgewandelt werden. Diese Binary Conversion reduziert den so genannten Payload abermals und trägt zu einer weiteren Energieersparnis bei.
Abb 2. Payload reduzieren und Energie sparen. Die Binary Conversion verschlankt die Kommunikation zwischen IoT-Gerät und Cloud noch einmal deutlich.
Stromverbrauchs-Analyse zwischen CoAP und MQTT auf NB-IoT und LTE-M
Was in der Theorie einleuchtet, soll nun auch praktisch überprüft werden. Dazu haben wir ein Testsetup aufgebaut, um eine genaue Stromverbrauchs-Analyse bei der Datenübertragung mittels CoAP und MQTT über NB-IoT und LTE-M zu erstellen.
Für unser Experiment nutzen wir FreeRTOS auf einem STMicroelectronics B-L475E-IOT01A Discovery Kit mit Arm Cortex-M4 Kern mit 1 MByte Flash Memory und 128 kBytes SRAM. Die Kommunikation erfolgt mittels Quectel BG-96 Mobilfunkmodul.
Für das Demo Setup können Payload Größe, Payload Format, Anzahl der Nachrichten und optionale Verzögerungen eingestellt werden, um zwischen verschiedenen Verbindungszuständen wie Handshake, Publish or Post, Disconnect zu unterschieden.
Da FreeRTOS von Haus aus nur das MQTT Protokoll unterstützt haben wir mit Hilfe der Open Source Library ( Lobaro CoAP ) die notwendigen CoAP Funktionalitäten dem Betriebssystem hinzugefügt.
Nach Aufbau der Testumgebung werden jeweils zwei Szenarien mit Device-Onboarding, Verbindungserstellung in die Cloud und dem Versand unterschiedlich großer Nachrichtenpakete von 128 Bytes bis 4 kBytes durchgeführt. Einmal via MQTT über eine SSL Verbindung zum AWS IoT Core und einmal mittels CoAP unter Einbindung des 1NCE Data Broker.
Stromverbrauch: CoAP vs. MQTT unter NB-IoT
Nach Durchführung der Testumgebung unter Narrowband IoT stehen folgende Ergebnisse fest: Der Stromverbrauch wir maßgeblich durch die Übertragungszeit bestimmt. Dabei ist ein deutlicher Anstieg bei Payloads von 500 Bytes und größer erkennbar.
Die Verwendung von CoAP mit dem 1NCE Data Broker reduziert den Energieverbrauch je nach Payload zwischen 13,9 und 47,6 Prozent. Kleinere Payloads lassen sich dabei besser optimieren. Diese Reduktion ist vor allem auf die Verwendung von UDP Übertragungen zurück zu führen, da hier anders als mit TCP nicht auf eine Empfangsbestätigung des Servers gewartet werden muss.
Die größte Einsparung auf bis zu 75,3 Prozent lässt sich jedoch erst durch das Hinzufügen der Binary Translation erzielen. Auffällig ist hier, dass sich die Binärumwandlung vor allem auch bei größeren Payloads bezahlt macht. Bei kleinen Payloads von 128 Bytes liegt die Einsparung hier „nur“ bei 48,5 Prozent, also nur etwa 0,9% besser als ohne Binary Conversion. Ab 500 Byte ist kaum noch ein signifikanter Anstieg beim Energieverbrauch zu verzeichnen.
Stromverbrauch: CoAP vs. MQTT unter LTE-M (CAT M1)
Beim Vergleich von CoAP und MQTT unter LTE-M (LTE CAT M1) zeigt sich ein ähnliches Bild. Auch hier wird der Stromverbrauch maßgeblich durch die Übertragungszeit der Daten bestimmt.
Größter Unterschied zwischen NB-IoT und LTE-M sind die maximal möglichen Bandbreiten. Bei NB-IoT liegen diese bei 128 kbit/s, bei LTE-M mit 1NCE bei bis zu 1 Mbit/s. LTE-M ist zudem in der Lage, Verbindungen ohne Unterbrechung zwischen verschiedenen Funkzellen zu übergeben, ohne dass die Verbindung neu aufgebaut werden muss. LTE-M ist etwas stromhungriger, dafür ist es besonders im Einsatz beweglicher IoT Lösungen, wie beispielsweise das Asset Tracking geeignet.
Gegenüber MQTT erzielen wir in unserer Testumgebung mit CoAP eine Stromersparnis zwischen 13,3 und 27,6 Prozent. Auch hier ist die jeweilige Payloadgröße ausschlaggebend für den Grad der Ersparnis. Je kleine die Payload, desto größer die Ersparnis.
Auch in diesem Setup zeigt sich, dass der Einsatz der Binary Conversion zur größten Einsparung führt. Werden die CoAP Daten binar übertragen, lassen sich bis zu 47,5% Energie bei der Datenübertragung gegenüber MQTT einsparen. Auch hier zeigt sich, dass besonders bei größeren Payloads der Einsatz der Binary Translation lohnend sein kann.
Fazit
Zusammenfassend lässt sich sagen: Geschwindigkeit ist ausschlaggebend für eine maximale Energieersparnis bei der Kommunikation von IoT-Device mit der Cloud. Je schneller einzelne Operationen durchgeführt werden können, desto besser.
Die Verwendung von schlanken Protokollen verkürzen aufgrund der geringeren Datenmenge die Übertragungszeiten signifikant. Noch deutlicher wird diese Ersparnis beim Einsatz binärer Datensätze. Damit wirkt sich die Ersparnis vor allem auch bei deutlich größeren Datenpaketen aus.
Kombiniert man nun alle zur Verfügung stehenden Möglichkeiten wie Power Saving Modus, CoAP Protokoll und Binary Translation, lässt sich die Lebenszeit der Batterie je nach Gerät und Anwendungsfall deutlich um mehrere Monate verlängern. Den Stromverbrauch hochgerechnet, hätte der Testaufbau in unserer Demo so eine bis zu knapp acht Monate längere Laufzeit erreicht.
Aber auch einzeln für sich lassen sich mit den netzbasierten Stromspar-Methoden als auch dem 1NCE Data Broker signifikante Verbesserungen beim Energieverbrauch erzielen.
Lesen Sie auch: Wie man mit dem richtigen IoT-Gerätedesign maximale Leistung erreicht.