LwM2M



''LwM2M is a device management protocol designed for sensor networks and the demands of a machine-to-machine (M2M) environment. With LwM2M, OMA has responded to demand in the market for a common standard for managing lightweight and low power devices on a variety of networks necessary to realize the potential of IoT.''

Description
LwM2M (Lightweight Machine-to-Machine) est un protocole qui a été développé par l'OMA (Open Mobile Alliance). A l'heure de l'explosion des l'IoT, aucun protocole ne répondait aux besoins en matière de communication des dispositifs les plus petits et peu gourmands en terme de ressources et de consommation énergétique. Or, tous ces appareils ont besoin d'être allumé, configuré, monitoré, requêté, etc. à distance. Le protocole LwM2M répond à ces besoins en proposant un protocole léger aux industriels afin de pouvoir réaliser ces actions à distance sur des dispositifs et applications de "l'Internet of Thing". Ce protocole est donc un protocole de communication entre un client (un dispositif M2M) et un serveur.



Le protocole a été mis en place à l'aide de pattern architecturaux modernes comme REST et au dessus du standard de transfert CoAP (Constrained Application Protocol). Le protocole LwM2M respecte les standards protocolaires et sécuritaires de l'IETF.

Implantations
Le DevKit de l'OMA est disponible aux développeurs ici : https://github.com/OpenMobileAlliance/OMA-LWM2M-DevKit

Le wiki pour développeur ici : https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/wiki

Voici différentes implantations du protocole LwM2M :
 * Eclipse Leshan (https://eclipse.org/leshan/). Implantation Java client + serveur
 * Eclipse Wakaama (https://github.com/eclipse/wakaama). Implantation C client + serveur
 * AwaLwM2M (https://github.com/FlowM2M/AwaLWM2M). Implantation C client + serveur
 * AVSystem Anjay (https://github.com/AVSystem/Anjay). Implantation C client

Références

 * https://en.wikipedia.org/wiki/OMA_LWM2M page wikipedia OMA LwM2M
 * https://www.youtube.com/watch?v=7Puj6FyFFtM ARM Explains Why Standardization is Important for Machine-to-Machine
 * https://www.slideshare.net/MichaelKoster/ietf91-ad-hoccoaplwm2mipso-41575271 CoAP, OMA LWM2M, and IPSO Objects

Liens

 * http://openmobilealliance.org/iot/lightweight-m2m-lwm2m/
 * https://github.com/OpenMobileAlliance/OMA_LwM2M_for_Developers/wiki
 * LwM2M over MQTT http://e-s-r.net/download/specification/ESR030-LWM2M-MQTT-1.0-A.pdf
 * leshan over MQTT https://wiki.eclipse.org/images/e/e1/LWM2M_MQTT_EclipseIoTDaysGrenoble.pdf