OMA Lightweight M2M (LwM2M) is a
protocol from the
Open Mobile Alliance for
machine to machine (M2M) or
Internet of things (IoT) device management and service enablement.[1] The LwM2M standard defines the
application layer communication protocol between an LwM2M Server and an LwM2M Client which is located in an IoT device. It offers an approach for managing IoT devices and allows devices and systems from different vendors to co-exist in an IoT ecosystem.[2] LwM2M was originally built on
Constrained Application Protocol (CoAP)[3] but later LwM2M versions also support additional transfer protocols.
LwM2M's device management capabilities include remote provisioning of security credentials, firmware updates, connectivity management (e.g. for cellular and WiFi), remote device diagnostics and troubleshooting.[4]
LwM2M's service enablement capabilities include sensor and meter readings, remote actuation and configuration of host devices.
In combination with the LwM2M protocol, the LwM2M data model LwM2M Objects supports the various LwM2M use cases. The data model can be extended and is able to support applications for various kinds of industries.[5]
Versions
In 2018, the IPSO Alliance merged with the Open Mobile Alliance (OMA) to form OMASpecWorks. OMASpecWorks is responsible for the maintenance and further development of LwM2M. So far, the following versions of LwM2M have been created:[6]
OMA LwM2M 1.0
Lightweight M2M 1.0 was published in February 2017. It introduced the following features below for the initial release:
Simple object based resource model
Operations of creation/retrieval/update/deletion/configuration of resources
Introduction of enhanced registration sequence mechanisms by the LwM2M Client to LwM2M Server(s)
Support for LwM2M over TCP/TLS
Support for application layer security for LwM2M based on
OSCORE
Improved support of LwM2M over Low Power WANs, including 3GPP
LTE-M and
NB-IoT &
LoRaWAN
Extended LwM2M operations to enable Resource Instance level access
Performance improvement for retrieving and updating Resources of multiple objects
Support for
JSON using SenML with
CBOR serialization for compressed payload with highly efficient transmission
Addition of new data types
OMA LwM2M 1.2
Lightweight M2M 1.2 was published in November 2020. It introduces the following additional features:
New transports for LwM2M; this allows LwM2M messaging to be conveyed over
MQTT and over
HTTP
Optimizations for the bootstrapping interface; this reduces the amount of data and the number of messages transmitted during the bootstrapping exchange
Optimizations for the registration interface; this reduces the amount of data transmitted during registration exchanges
Optimizations for the information reporting interface; observation attributes may now be included in an Observe operation
Support for LwM2M gateway functionality; this allows non-LwM2M IoT devices as well as LwM2M devices behind a gateway to be connected to the LwM2M ecosystem and to manage those devices remotely
New, highly optimized encoding format based on
CBOR called LwM2M CBOR
Enhanced functionality for firmware updates
Definition of new notification attributes (edge, confirmable notification, and maximum historical queue). Edge allows notifications to be triggered on rising and falling edges. Confirmable notifications allow the control of reliable transmissions of notifications. Maximum historical queue allows the control of time-series data usage.
Updates to use the latest communication security protocols based on
TLS and
DTLS 1.3 (as well as the use of the Connection ID) and related configuration