LWM2M INTRODUCTION
Edinburgh - May 2016Hannes Tschofenig - ARM Limited
The information in this presentation is public. | Copyright © 2016
DEVICE MANAGEMENT FUNCTIONALITY
Mobile Device Management
Device Management
Bootstrapping
Device Configuration
Firmware Update
Fault Management
Key management Service
provisioning Access Control Changes to settings Changes to parameters of
the device Update application and system
software Bug fixes Report Errors from devices Query about status of devices
Application Configuration & Control
Reporting
Configure settings of the application
Send control commands Notify changes in sensor values Notify alarms and events
HIGH LEVEL ARCHITECTURE M2M Applications
Application abstraction through REST API
Resource Discovery and Linking
LWM2M Clients are Devices Device abstraction through CoAP and
objects. Works over any IP network connection
LWM2M Server Uses CoAP Re-uses the Resource Directory Gateway and Cloud deployable
LWM2M INTERFACES
• Bootstrap Interface– Configure Servers & Keys & ACLs– Pre-Configured, Smart Card, or Server
Initiated Bootstrap– CoAP REST API
• Registration Interface– RFC 6690 and Resource Directory
• Management Interface Using Objects– Management Objects and Resources– CoAP REST API
• Reporting Interface– Object Instances and Resources
Report– Asynchronous notification using CoAP
Observe
LWM2M SPECIFICATIONS
• Requirements, architecture and technical specifications are available for download at http://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/oma-lightweightm2m-v1-0
• Issue tracker is available at https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/issues
• Wiki page is available at https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/wiki
• Leshan, a popular open source LWM2M server implementation (in Java) at https://github.com/eclipse/leshan
• A LWM2M Client has one or more Object Instances
• An Object is a collection of Resources• A Resource is an atomic piece of
information that can be Read, Written or Executed
• Resources can have multiple instances• Access control list (ACL) objects control
access to objects accessed by LWM2M Servers
• Objects and Resources are identified by a 16-bit Integer, Instances by an 8-bit Integer
OBJECT MODEL
©Sensinode 2013
• REST API with a URI template• Objects • Object Instances• Resources
• Reusable resource and object IDs• Common definitions for concepts• Map to semantic terms e.g.
temperature, currentValue• IDs are registered with the OMNA
• Can be embedded in a path hierarchy on the server• /home/weather/3303/0/5700
3303/0/5700
Object ID, defines object type
Object Instance, one or more
Resource ID, defines resource type
OBJECT MODEL, CONT.
The LWM2M Technical Specification defines several objects
OBJECTS DEFINITIONS
©Sensinode 2013
Object Name ID Multiple Instances? DescriptionLWM2M Security 0 Yes This LWM2M Object provides the keying material of a
LWM2M Client appropriate to access a specified LWM2M Server.
LWM2M Server 1 Yes This LWM2M objects provides the data related to a LWM2M server.
Access Control 2 Yes Access Control Object is used to check whether the LWM2M Server has access right for performing an operation.
Device 3 No This LWM2M Object provides a range of device related information which can be queried by the LWM2M Server, and a device reboot and factory reset function.
Connectivity Monitoring 4 No This LWM2M objects enables monitoring of parameters related to network connectivity.
Firmware 5 No This Object includes installing firmware package, updating firmware, and performing actions after updating firmware.
Location 6 No The GPS location of the device.Connectivity Statistics 7 No This LWM2M Objects enables client to collect statistical
information and enables the LWM2M Server to retrieve these information, set the collection duration and reset the statistical parameters.
Temperature sensor: This IPSO object should be used over a temperature sensor to report a remote temperature measurement. It also provides resources for minimum/maximum measured values and the minimum/maximum range that can be measured by the temperature sensor. The unit used here is Celsius degree. Object info
Resource Info
Object Object ID Object URN Multiple Instances?
IPSO Temperature 3303 urn:oma:lwm2m:ext:3303 Yes
Resource Name Resource ID
Access Type
Multiple Instances? Type Units Descriptions
Sensor Value 5700 R No Decimal Cel This resource type returns the Temperature Value in °C
Min Measured Value 5601 R No Decimal Cel The minimum value measured by the sensor since it is ON
Max Measured Value 5602 R No Decimal Cel The maximum value measured by the sensor since it is ON
Accessing the Resources• Temperature Value
/3303/0/5700• Min Measured Value
/3303/0/5601• Max Measured Value
/3303/0/5602
LWM2M Client
/3303/0
5700
5601
5602
Temperature Value
Min Measured Value
Max Measured Value
Object
IPSO OBJECT EXAMPLE: TEMPERATURE
The information in this presentation is public. | Copyright © 2016 Open Mobile Alliance Ltd. All rights reserved.
FINDING ALL DEFINED OBJECTS
OMNA Lightweight M2M (LWM2M) Object & Resource Registry contains all definitions.
Includes object definitions from
COMPOSITE OBJECT