AVSYSTEM
AVSYSTEM

Wofür wurde LwM2M entwickelt?

Lightweight M2M (LwM2M) ist ein von OMA SpecWorks geschaffener Standard, der Mechanismen für Gerätemanagement, Telemetrie und Service Enablement spezifiziert. Er wurde ursprünglich für Geräte mit begrenzten Verarbeitungs- und Speicherkapazitäten entwickelt (gemeinhin als ressourcenbeschränkte Geräte bezeichnet). Die Technologie funktioniert sehr gut über potenziell instabile Netzwerke mit geringer Bandbreite, wie z. B. Mobilfunknetze sowie LPWA-Funknetze.

Wie funktioniert es?

Bei LwM2M findet der Informationsaustausch zwischen dem LwM2M-Client (z. B. IoT-Gerät) und dem LwM2M-Server (z. B. IoT-Plattform) oder dem LwM2M-Bootstrap-Server statt. Es gibt vier Schnittstellen, die die Kommunikation regeln:

  • Bootstrap

  • Client-Registrierung (Client Registration)

  • Gerätemanagement und Service Enablement (Device Management and Service Enablement)

  • Informationsberichterstattung (Information Reporting)

Die Bootstrap-Schnittstelle definiert die Werkzeuge für den LwM2M-Bootstrap-Server, um den LwM2M-Client mit den ersten Informationen zu versorgen, die für die „Registrierung“ beim LwM2M-Server erforderlich sind. Sobald der Client provisioniert ist, kann er den LwM2M-Server über seine Anwesenheit informieren und die Registrierung über die zweite Schnittstelle (Client-Registrierung) durchführen. Nach erfolgreicher Client-Registrierung können die verbleibenden zwei Schnittstellen genutzt werden.


Die Schnittstelle für Gerätemanagement & Service Enablement ist der Ort, an dem das eigentliche Gerätemanagement stattfindet. Durch die Verwendung von im Protokoll definierten Operationen wie „Read“ (Lesen), „Write“ (Schreiben) oder „Execute“ (Ausführen) können Sie auf die in den Ressourcen des LwM2M-Clients gespeicherten Daten zugreifen.

Schließlich gibt es das Information Reporting – die letzte Schnittstelle, die es dem LwM2M-Server ermöglicht, automatisch periodische Updates über ausgewählte Ressourcen des LwM2M-Clients zu erhalten. Dies kann genutzt werden, um die Werte bestimmter Parameter proaktiv zu überwachen und Schwellenwerte an jeden spezifischen Anwendungsfall anzupassen – pro Gerät oder als Massenoperation.

crashcourse_lwm2m_1

Wie ist das Datenmodell definiert?

Das Datenmodell für LwM2M ist in einem dreistufigen Baum organisiert: Objekte, Objektinstanzen und Ressourcen. Objekte bestehen aus Objektinstanzen und Objektinstanzen bestehen aus Ressourcen.

Jede Ebene hat ihren eigenen numerischen Identifikator, der einen Pfad bildet. Zum Beispiel bezieht sich ein Pfad /0/1/2 auf die Ressourcen-ID=2 in der Objektinstanz-ID=1 des Objekt-ID=0. Der Pfad kann auch auf der gesamten Objektinstanz (/0/1) oder sogar auf dem gesamten Objekt (/0) enden.

Ressourcen können als bestimmte Datentypen dargestellt werden, wie z. B. String, Integer, Boolean oder Float. Dieses sehr gut definierte Datenmodell gewährleistet Interoperabilität auch in komplexen IoT-Umgebungen, in denen verschiedene Gerätetypen über viele unterschiedliche Protokolle kommunizieren.

crashcourse_lwm2m_2

Wie hängt CoAP mit LwM2M zusammen?

Wie bereits erwähnt, ist LwM2M darauf ausgelegt, so wenig Bandbreite wie möglich zu verbrauchen. Um dies zu ermöglichen, nutzt es das Constrained Application Protocol (CoAP) (das ähnlich wie das HTTP-Protokoll funktioniert, aber speziell für ressourcenbeschränkte Geräte entwickelt wurde). CoAP hilft LwM2M-Geräten, einfach mit dem LwM2M-Server sowie untereinander zu kommunizieren.

CoAP ermöglicht die Übertragung von Nachrichten mit geringem Overhead – die minimale Header-Größe beträgt nur 4 Bytes. Dies macht es möglich, aussagekräftige Inhalte in einzelnen, nicht fragmentierten UDP-Datagrammen zu senden, selbst über Verbindungen mit niedriger MTU, wie z. B. SMS.

Wie wird Interoperabilität ermöglicht?

Obwohl LwM2M bereits einige definierte Objekte und Ressourcen mitbringt, reicht dies nicht aus, um strukturierte Datenmodelle bereitzustellen, die eine effiziente Kommunikation über Protokolle wie CoAP ermöglichen würden. Als Antwort auf diese Bedürfnisse zielt das IPSO Smart Objects Projekt (jetzt ebenfalls Teil von OMA SpecWorks) darauf ab, die Interoperabilität auf der Anwendungsschicht sicherzustellen, indem es ein gemeinsames Designmuster für Objekte auf Basis von LwM2M erstellt und bereitstellt. Das Hauptmerkmal von IPSO Smart Objects, das sie innerhalb des LwM2M-Datenmodells auszeichnet, ist, dass sie für die Wiederverwendung konzipiert sind und leicht an neue Anwendungsfälle angepasst werden können.

Darüber hinaus besteht die Möglichkeit, eigene Objekte mit einem speziellen Editor von OMA zu definieren und diese bei der OMNA (Open Mobile Naming Authority) zu registrieren. Die Objekte werden dann von einzelnen OMA-Mitgliedern geprüft und (sofern sie die Evaluierung bestehen) dem Register hinzugefügt.

Ist die Kommunikation in LwM2M zuverlässig?

Das Protokoll unterstützt in seiner aktuellen Version (1.1) verschiedene Transportbindungen, einschließlich UDP, TCP sowie SMS und LoRaWAN. Am wichtigsten ist jedoch, dass Lightweight M2M einen Queue Mode definiert – einen speziellen Betriebsmodus, in dem das Gerät nicht verpflichtet ist, aktiv auf eingehende Pakete zu hören. Der Queue Mode kann in den Befehlen „Register“ und „Update“ eingestellt werden, was bedeutet, dass der LwM2M-Client beispielsweise nach dem Update-Befehl nur für einen begrenzten Zeitraum auf eingehende Pakete hören muss. Dieser Modus ist besonders nützlich, wenn ein Gerät nicht jederzeit erreichbar ist (sei es aufgrund eines verlustbehafteten Netzwerks oder einfach zur Minimierung des Stromverbrauchs).

crashcourse_lwm2m_3

Ist LwM2M sicher?

Ja, das ist es. Die Sicherheit basiert auf CoAP und nutzt DTLS (Datagram Transport Layer Security) oder TLS (Transport Layer Security) als Hauptsicherheitsmechanismen. DTLS/TLS implementiert Authentifizierung, Vertraulichkeit und Datenintegrität zwischen dem LwM2M-Server und dem LwM2M-Client zusammen mit drei Sicherheitsmodi:

  • Zertifikate,

  • Raw Public Keys (RPK),

  • Pre-Shared Keys (PSK).

Der LwM2M-Client muss über Anmeldeinformationen und Konfigurationsdaten verfügen, die während des Bootstrapping-Prozesses abgerufen wurden. Sobald der Bootstrap abgeschlossen ist, authentifiziert der LwM2M-Server den LwM2M-Client und ermöglicht diesem die Nutzung aller von LwM2M unterstützten Sicherheitsfunktionen.

Was ist der Unterschied zwischen LwM2M und MQTT?

crashcourse_lwm2m_4

Die Unterscheidung liegt bereits auf der Ebene der Protokollhierarchie. Im Schichtenmodell des Protokollstapels rangiert MQTT auf derselben Ebene wie CoAP. LwM2M bietet ein standardisiertes Datenmodell und Schnittstellensemantik auf der CoAP-Schicht.

Was den Vergleich zwischen CoAP und MQTT betrifft, liegt der Unterschied in den Kommunikationsmethoden: CoAP bietet eine Kommunikation basierend auf Anfragen und Antworten (Request/Response), während MQTT auf einem Publish/Subscribe-Nachrichtensystem beruht. Da MQTT jedoch ein Protokoll niedrigerer Ebene ist, muss jede Gerätemanagement- oder Überwachungsanwendung, die MQTT verwendet, ihre eigene Semantik darauf aufbauen. LwM2M übernimmt dies, nutzt jedoch CoAP als Basis.

Was sind die Vorteile von LwM2M?

Der Lightweight Machine-to-Machine-Standard ist wirklich leichtgewichtig. Er ermöglicht die Verwaltung von Geräten mit sehr geringem Energieverbrauch über Netzwerke mit sehr niedriger Bandbreite, während er selbst ein Standard mit einem sehr einfachen und übersichtlichen Technologie-Stack ist. Zu den Geräten, für deren Verwaltung LwM2M konzipiert ist, gehören Sensoren, Mikrocontroller, Aktoren usw., die manchmal an schwer zugänglichen Orten installiert sind. Das ändert nichts an der Tatsache, dass solche Geräte im Netz sind und verwaltet, gesichert, aktualisiert und überwacht werden müssen.

Zusammenfassend lässt sich sagen, dass LwM2M diese Bedürfnisse erfüllt, indem es Folgendes bietet:

 

  • einen einfachen, aber durchdachten und gut gestalteten Technologie-Stack
  • die Fähigkeit, Geräte mit sehr geringem Stromverbrauch über Netzwerke mit sehr niedriger Bandbreite zu verwalten
  • sehr geringen Bandbreitenverbrauch mit sehr kleinen Payloads (Nutzdaten)
  • hohe Sicherheit basierend auf DTLS und TLS
  • verbesserte Interoperabilität dank eines klar definierten Datenmodells
  • Geräte- und Netzwerkflexibilität sowie Anwendbarkeit auf sich schnell ändernde Bedürfnisse des IoT-Marktes
  • Möglichkeit für den IoT-Markt, in Sektoren vorzudringen, in denen Geräte kostengünstig sein müssen, wenig Strom verbrauchen oder eine begrenzte Netzwerk- oder Batterielebensdauer haben
  • Verbesserung der Time-to-Market – LwM2M ist als Plug-and-Play-Lösung einsatzbereit
  • Open-Source LwM2M-Clients und SDKs sind verfügbar – kostenlos herunterladbar und nutzbar

Was sind die wichtigsten Gerätemanagement-Funktionen in der neuesten Version des LwM2M-Protokolls?

Verbundoperationen (Composite Operations) wie READ-COMPOSITE, WRITE-COMPOSITE und andere.

In der frühen Spezifikation nutzte LwM2M unter Verwendung von CoAP einfache Operationen wie READ, WRITE, EXECUTE, CREATE (und andere), basierend auf grundlegenden Methoden, die beispielsweise in HTTP verwendet werden (GET, POST, PUT, DELETE). In der neuesten LwM2M 1.1-Spezifikation wurden jedoch neue Operationen zu den bereits bestehenden hinzugefügt. Dazu gehören Verbundoperationen wie READ-COMPOSITE oder WRITE-COMPOSITE. Die Idee dahinter war, die grundlegenden Befehle zu erweitern, um die Aggregation von Operationen auf vielen verschiedenen Objekten zu ermöglichen und alle erfassten Parameter in einem Payload zu senden.

SEND-Operation in der Schnittstelle für Informationsberichterstattung.

Was die Operationen betrifft, ist SEND eine weitere, die die Telemetriefähigkeiten von LwM2M erheblich verbessert. In der vorherigen Spezifikation musste der LwM2M-Server, damit der LwM2M-Client über Änderungen in einer bestimmten Ressource benachrichtigt wurde, zuerst eine OBSERVE-Operation auf dieser Ressource ausgeben. Erst dann konnte der LwM2M-Client eine NOTIFY-Operation ausgeben, um die gewünschten Informationen zu empfangen. SEND hingegen liefert ähnliche Ergebnisse wie die NOTIFY-Operation, mit dem Unterschied, dass keine aktive OBSERVE-Operation erforderlich ist, um Benachrichtigungen zu senden. Dies macht die Kommunikation zwischen Client und Server nicht nur einfacher, sondern auch zuverlässiger.

Transportbindungen wie CoAP über TCP und Non-IP Data Delivery.

LwM2M bietet Ihnen eine Fülle von Transportbindungen zur Auswahl. Wenn Ihr Projekt minimalen Stromverbrauch und maximale Geschwindigkeit erfordert, ist UDP der richtige Weg. Wenn Sie jedoch Zuverlässigkeit benötigen, können Sie dank der NAT/Firewall-Traversal-Fähigkeiten das TCP-Protokoll verwenden. Darüber hinaus können Sie auch Non-IP Data Delivery (NIDD) nutzen – eine weitere Transportbindung, die für das IoT besonders attraktiv ist, da sie den Stromverbrauch für IoT-spezifische, ressourcenbeschränkte Geräte weiter minimiert.

Möchten Sie tiefer in LwM2M eintauchen?

Entdecken Sie unsere detaillierte Entwicklerdokumentation für einen tiefen Einblick in das Protokoll.

Coiote IoT-Gerätemanagement-Plattform

Coiote IoT Device Management ist eine branchenführende Gerätemanagement-Plattform, die die Steuerung von Geräten im IoT-Ökosystem unter Verwendung des LwM2M-Protokolls ermöglicht.

Mit der Coiote IoT-Gerätemanagement-Plattform erhalten Sie:

  • Vollständiges Management des Gerätelebenszyklus

  • Integration mit anderen Systemen via REST API

  • FOTA/SOTA-Upgrades

  • Erfassung & Darstellung von Telemetriedaten

  • Webbasierte und konfigurierbare Benutzeroberfläche (GUI)

  • System mit skalierbarer Architektur

  • Erstklassige Sicherheit

LwM2M-Interoperabilitätsprogramm

Das LwM2M Interoperability Program ist ein Tool zur Unterstützung automatisierter Tests für das LwM2M-Protokoll und zur Zertifizierung der Konformität mit der Coiote IoT-Gerätemanagement-Plattform von AVSystem.

Mit dem LwM2M-Interoperabilitätsprogramm erhalten Sie:

  • Automatische Tests für das LwM2M-Protokoll

  • Vollständige Berichte über die Interoperabilität des Geräts mit dem LwM2M-Protokoll

Anjay IoT SDK / LwM2M-Client

Das Anjay LwM2M SDK ist ein Satz von Tools, der speziell für Gerätehersteller nützlich ist, um die Unterstützung für LwM2M auf ihren Geräten einfach zu implementieren.

Mit Anjay erhalten Sie:

  • Konformität mit der neuesten LwM2M-Version

  • Kompatibilität mit verschiedenen Hardware-Stacks

  • Zahlreiche Integrationen mit anderen Betriebssystemen

  • LwM2M-Testtools