IoT/LwM2M MQTT Binding/Meeting minutes
Apr 2, 2015 conference call
- Andrew Schofield
- Amit M Mangalvedkar
- Benjamin Cabe
- Ian Craggs
- Jeffrey I Dare
- Luca Dazi
- Sathiskumar Palaniappan
- IBM team explained the LwM2M Over MQTT PoC and the demo that involves connecting Raspberry Pi device to the Leshan server via MQTT protocol and reporting CPU temperature. The source code of the POC and related documents are available in github location. The demo is available here
- Kura team asked how MQTT is plugged into the Leshan server. IBM team explained that the current Leshan server is modularized in such a way that the current COAP (californium) implementation can be easily decoupled and any other COAP implementation can be used. In the current PoC, we modified the Leshan server code to remove the COAP bindings and used MQTT bindings. In this PoC we used Leshan only for server functionality and developed a simple LwM2Mclient for Client functionality. Though we haven't experimented, we believe the Leshan server can be modified to coexist in both modes, i.e, COAP and MQTT.
- Benjamin asked how different the MQTT topic used in this PoC is compared to Kura topics. Kura team explained that the topic name is almost similar except the "LWM/+" section in the beginning
- Kura team asked what is the encoding format used in the PoC. IBM team explained that, it uses the plain/text format supported by LwM2M, and the plan is to support other LwM2M formats like TLV, JSON, Opaque in the future.
- IBM team asked the use of Protobuf in Kura. Kura team explained that it uses Protobuf to encode the object in the message, for example the XML objects, so that it can be easily decoded on the otherside.
- Benjamin asked to focus on the security aspect and the changes required in LwM2M spec to support MQTT. Let us have a follow up call next week to discuss the same.
- Next call on April 9, same time, TBC.
Dec 18, 2014 conference call
- Shalini Kapur, IBM
- Julien Vermillard, Sierra Wireless
- Dave Locke, IBM
- Peter Crocke, IBM
- Peter Niblett, IBM
- Marco Carrer, Eurotech
- Cristiano de Alti, Eurotech
- Benjamin Cabé, Eclipse Fdn
- Marco presented the way Device Management is currently done in Kura:
- A request/response model on top of MQTT allows to address each device individually from the cloud, and perform DM commands. Kura allows remote OSGi control with features like start/stop of bundles, remote shell access, ...
- The request/response model on top of MQTT was presented at EclipseCon: http://youtu.be/EA5j7c2SgqQ
- In his spare time Marco has done some experiments with the Leshan Java client to expose OSGi bundles as LwM2M objects. The code is availabe in this Kura branch: https://github.com/eclipse/kura/tree/lwm2m
- Implementing LwM2M over MQTT will be a two-step process:
- Implement a "standard" request/response model on top of MQTT, providing the ability for an application to send a request to a specific device
- Implement a REST model (GET, PUT, POST, DELETE) for CRUD operations, including EXECUTE
- Peter N. highlights that it would be good to do a gap analysis between the request/response model implemented in MQTT and the CoAP model to make sure all use cases are covered. Similarly, we'll need to check there are no redundancies between the LwM2M and MQTT layers.
- Dave Locke has already been talking with Zach Shelby (ARM) who is involved in the LwM2M specification and he is supportive of a specification for an MQTT binding for LwM2M
- Julien reminds that security will be important. Especially in the context of Device Management, we can't afford having other clients eavesdropping MQTT topics...
- There were discussions regarding where will be the best place to push the specification of a LwM2M over MQTT binding. The natural place would probably be OMA.
- Marco suggests that we try to have a face-to-face meeting next year.
- Marco will send to the group the documentation of the current implementation of DM over MQTT in Kura. This documentation will be publicly available as part of Kura shortly.
- Marco will initiate a page in the Kura wiki to start collecting the list of DM functions that should initially be implemented in a future PoC
- Benjamin will organize the next conference call in January.