OMA LWM2M
OMA Lightweight M2M is a protocol from the Open Mobile Alliance for M2M or IoT device management. Lightweight M2M enabler defines the application layer communication protocol between a LWM2M Server and a LWM2M Client, which is located in a LWM2M Device. The OMA Lightweight M2M enabler includes device management and service enablement for LWM2M Devices. The target LWM2M Devices for this enabler are mainly resource constrained devices. Therefore, this enabler makes use of a light and compact protocol as well as an efficient resource data model. It provides a choice for the M2M Service Provider to deploy a M2M system to provide service to the M2M User. It is frequently used with CoAP[1]
OMA Lightweight M2M is designed to:
- Provide Device Management functionality over sensor or cellular networks
- Transfer service data from the network to devices
- Extend to meet the requirements of most any application
Versions
OMA LWM2M 1.0
Lightweight M2M 1.0 enabler introduces the following features below for the initial release.
- Simple Object based resource model
- Resource operations of creation/retrieval/update/deletion/configuration of attribute
- Resource observation/notification
- TLV/JSON/Plain Text/Opaque data format support
- UDP and SMS transport layer support
- DTLS based security
- Queue mode for NAT/Firewall environment
- Multiple LWM2M Server support
- Basic M2M functionalities: LWM2M Server, Access Control, Device, Connectivity, Firmware Update, Location, Connectivity Statistics [2]
Implementations
Name | Programming Language | Implemented LWM2M version | Client/Server | Implemented LWM2M features | License | Link |
---|---|---|---|---|---|---|
Eclipse Leshan | Java | 1.0 | Client + Server | EPL+EDL | http://projects.eclipse.org/projects/iot.leshan | |
Eclipse Wakaama | C | 1.0 | Client + Server | EPL+EDL | http://projects.eclipse.org/projects/technology.wakaama | |
ARM mBed | C | 1.0 | Client + Server | Apache 2 | https://www.mbed.com/en/development/software/ | |
Awa LightweightM2M | C | 1.0 | Client + Server | BSD 3-clause | https://github.com/FlowM2M/AwaLWM2M |