Skip to content

Lightweight M2M (LwM2M)

OMA Lightweight M2M (LwM2M) is a protocol for machine to machine (M2M) or Internet of things (IoT) device management and service enablement. It was designed for sensor networks and the demands of a machine-to-machine (M2M) environment and specified at the Open Mobile Alliance (OMA) SpecWorks Device Management Working Group.

Protocol scope:

  • Device management, including remote provisioning of security credentials, firmware updates, remote device diagnostics and troubleshooting.
  • Service enablement, including sensor and meter readings, remote actuation and configuration of host devices.

Documents & Resources

Documents:

Useful links:

Architecture overview

The whole system is called LwM2M Enabler has two components. The LwM2M Server and the LwM2M Client. The LwM2M Device acts as a Client and the M2M service, platform or application acts as the Server.

Shows the overall architecture

Source: Technical Specification: Core v1.2.1

Interfaces

Four interfaces are designed between these two components.

  • Bootstrap
  • Client Registration
  • Device management and service enablement
  • Information Reporting

Each of these interfaces is related to a set of operations.

Operations

The operations can be classified into uplink operations and downlink operations. The uplink operatations are initiated by the device and the downlink operations are initiated by the server. They are mapped to protocol mechanisms in the LwM2M Transport specification.

InterfaceDirectionOperation
BootstrapUplinkBootstrap-Request, Bootstrap-Pack-Request
BootstrapDownlinkBootstrap-Write, Bootstrap-Read, Bootstrap-Discover, Bootstrap-Delete, Bootstrap-Finish
Client RegistrationUplinkRegister, Update, De-register
Device Management and Service EnablementDownlinkCreate, Read, Read-Composite, Write, Delete, Execute, Write-Attributes, Write-Composite, Discover
Information ReportingDownlinkObserve, Observe-Composite, Cancel Observation, Cancel Observation-Composite
Information ReportingUplinkNotify, Send

Resource Model

The LWM2M Enabler defines a simple resource model. Relationships between Resources, Objects, and the Client are illustrated in the following figure.

Shows model of object and resources

Source: Technical Specification: Core v1.2.1

  • Each piece of information made available by the LWM2M Client is a Resource.
  • Resources are logically organized into Objects.
  • The Client may have any number of Resources, each of which belongs to an Object.
  • Resources are defined per Object, and each Resource is given a unique identifier within that Object.
  • Resources and Objects have the capability to have multiple instances of the Resource or Object, called Object Instance and Resource Instance.
  • Each Object and Resource is defined to have one or more operations that it supports.