Uživatelské nástroje

Nástroje pro tento web


lwm2m

LwM2M (Lightweight Machine to Machine)

LwM2M (Lightweight Machine to Machine) je otevřený průmyslový protokol navržený organizací OMA (Open Mobile Alliance, dnes OMA SpecWorks). Je určen primárně pro správu zařízení (Device Management) a telemetrii v prostředí internetu věcí (IoT) a komunikaci mezi stroji (M2M).

Protokol byl od počátku navržen pro tzv. omezená zařízení (constrained devices) – tedy senzory, chytré měřiče (voda, plyn) nebo průmyslové trackery, které běží na baterie, mají malý výpočetní výkon (často jen mikrokontroléry) a komunikují přes sítě s nízkou propustností, jako jsou NB-IoT, LTE-M nebo LoRaWAN.

Proč LwM2M vzniklo?

Správa běžného serveru nebo počítače je snadná (lze se připojit přes SSH, stáhnout aktualizace atd.). Chytrý vodoměr zakopaný pod zemí, který se probudí jen na 5 vteřin denně a pošle pár bajtů přes mobilní síť, však vyžaduje zcela jiný přístup.

LwM2M řeší dva hlavní problémy současně, a to za použití minimálního množství přenesených dat (tzv. overheadu):

  1. Telemetrie: Odesílání naměřených dat (teplota, poloha, stav) na server.
  2. Správa (Device Management): Možnost zařízení na dálku restartovat, změnit mu konfiguraci nebo bezpečně přehrát firmware (FOTA - Firmware Over The Air).

Architektura a technologický stack

Architektura LwM2M se skládá ze tří hlavních logických entit:

  • LwM2M Client: Běží na koncovém IoT zařízení (např. senzor).
  • LwM2M Server: Centrální cloudová platforma, která sbírá data a rozesílá příkazy.
  • LwM2M Bootstrap Server: Speciální server, který slouží pouze pro prvotní inicializaci. Když se zařízení poprvé zapne, připojí se k Bootstrap serveru, získá od něj šifrovací klíče a adresu hlavního LwM2M serveru.

Co je pod kapotou? (Protokoly)

Na rozdíl od běžného webového provozu nepoužívá LwM2M protokol HTTP a TCP. Z důvodu úspory dat a energie je postaven na modernějším IoT stacku:

  • CoAP (Constrained Application Protocol): Odlehčená obdoba HTTP. Podporuje metody GET, POST, PUT, DELETE, ale v mnohem menším datovém formátu.
  • UDP: Místo spojovaného TCP se využívá UDP datagramů (nebo SMS zpráv).
  • DTLS (Datagram Transport Layer Security): Ekvivalent webového TLS (HTTPS) optimalizovaný pro UDP, zajišťuje šifrování a autentizaci.

Datový model: Objekty a Zdroje

Nejsilnější stránkou LwM2M je jeho striktně standardizovaný datový model. Každá vlastnost zařízení je mapována do jednoduché stromové struktury: Objekt → Instance → Zdroj (Resource).

Objekty jsou standardizovány (často organizací IPSO Alliance) a mají přidělená číselná ID. Díky tomu je LwM2M plně plug-and-play – server přesně ví, co jaké číslo znamená, aniž by musel znát výrobce zařízení.

Příklad struktury:

  • Objekt 3 (Device): Reprezentuje samotné zařízení.
    • Zdroj 0: Výrobce (např. „Bosch“)
    • Zdroj 1: Číslo modelu
    • Zdroj 3: Verze firmwaru
  • Objekt 3303 (Temperature): Reprezentuje senzor teploty.
    • Zdroj 5700: Aktuální hodnota (např. 22.5)
    • Zdroj 5601: Minimální naměřená hodnota

Server pak může poslat příkaz ve stylu CoAP GET na URI /3303/0/5700 a senzor odpoví aktuální teplotou.

Srovnání: LwM2M vs. MQTT

Ve světě IoT se LwM2M nejčastěji porovnává s protokolem MQTT. Ačkoliv se mohou překrývat, každý slouží k něčemu jinému:

Vlastnost MQTT LwM2M
Architektura Publish/Subscribe (Broker a klienti) Client/Server
Přenosová vrstva Tradičně TCP (existuje i MQTT-SN pro UDP) Primárně UDP, případně SMS, TCP, NIDD
Datový model Neexistuje (přenáší libovolný text/JSON/bajtové pole) Striktní (předdefinované IPSO Objekty a Zdroje)
Device Management Musí se naprogramovat ručně (např. vlastní řešení pro updaty) Nativní podpora (FOTA, monitoring baterie a sítě)
Hlavní použití Rychlé streamování obrovského množství malých zpráv Hromadná správa statisíců zařízení na baterii (vodoměry, chytrá města)

Odkazy a zdroje

lwm2m.txt · Poslední úprava: autor: admin