Most IoT (Internet of Things) developers these days are building their solutions with an approach where the Internet connectivity is taken as granted. That is, they focus very much on the application level without taking into consideration the network infrastructure. In the context of the Internet of Things, we’re talking about very constrained computing devices, that very often do not offer any sort of human-machine interface for operating purposes besides the fact that they are – hopefully – connected to the Internet. In order to manage and operate large fleets of such devices, and be able to track their overall “health” (battery level, quality of the cellular signal, etc) or upgrade them over the air, specific protocols as well as server-side infrastructure must be deployed.
The Open Mobile Alliance (OMA) is a standards body which develops open standards for the mobile phone industry like Multimedia Messaging Service (MMS), OMA Data Synchronization (OMA-DS) and OMA Device Management (OMA-DM).
OMA Lightweight M2M is a protocol for device and service management. The main purpose of this technology is to address service and management needs for constrained IoT devices, over a number of transports and bearers.
A device which is LWM2M-ready can be managed remotely from a LWM2M server, and therefore be e.g. rebooted, upgraded, etc.
The Eclipse Leshan project provides a complete infrastructure for building IoT solutions using OMA LWM2M and the Java programming language:
-
A device management server library.
-
A device management client library.
-
A device management server with a web user interface.
- A bootstrapping server (server in charge of the initial security configuration (keying) of the devices).
Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java.
Eclipse Leshan relies on the Eclipse IoT Californium project for the CoAP and DTLS implementation. It is tested against the LWM2M C cliented provided by the Eclipse IoT Wakaama project.
Eclipse Leshan is a natural fit for the Eclipse IoT ecosystem since it builds on top of existing standard IoT protocols and implementations that already live at Eclipse. Moreover, in order to facilitate the adoption of open standards like LWM2M, it is important to leverage the IP policies of the Eclipse Foundation to provide open source implementations that have clean IP and can safely be used in commercial products.
Whole code is under a BSD 2 clause license.
The main dependencies are:
Compile and runtime
ch.ethz.inf.vs:californium:jar:0.18.7final
ch.ethz.inf.vs:elementconnector:jar:0.2final
org.slf4j:slf4japi:jar:1.7.7:compile
commonscodec:commonscodec:jar:1.9
commonsio:commonsio:jar:2.4
commonslang:commonslang:jar:2.6
org.eclipse.jetty:jettywebapp:jar:9.1.4.v20140401
org.eclipse.jetty:jettyxml:jar:9.1.4.v20140401
org.eclipse.jetty:jettyutil:jar:9.1.4.v20140401
org.eclipse.jetty:jettyservlet:jar:9.1.4.v20140401
org.eclipse.jetty:jettysecurity:jar:9.1.4.v20140401
org.eclipse.jetty:jettyserver:jar:9.1.4.v20140401
javax.servlet:javax.servletapi:jar:3.1.0
org.eclipse.jetty:jettyhttp:jar:9.1.4.v20140401
org.eclipse.jetty:jettyio:jar:9.1.4.v20140401
org.eclipse.jetty:jettycontinuation:jar:9.1.4.v20140401
com.google.code.gson:gson:jar:2.2.4
Runtime only
org.apache.logging.log4j:log4jcore:jar:2.0rc1:runtime
org.apache.logging.log4j:log4japi:jar:2.0rc1:runtime
org.apache.logging.log4j:log4jslf4jimpl:jar:2.0rc1
Tests only
junit:junit:jar:4.11
org.hamcrest:hamcrestcore:jar:1.3
Web user interface
Angular JS 1.2.1
Bootstrap 3.1.1
The plan is to implement the whole OMA Lightweight M2M specification incrementally.
The main addition to the features already available on GitHub would be the implementation of the device-initiated bootstrap specification.
First 0.2 release expected in Q4 of 2014.
Comments Sign in to post comments
Interested parties
Submitted by Kai Hudalla on Thu, 2014-09-11 03:06
This is great news, Julien :-)
+1 for adding leshan to eclipse IoT. We strongly support the development and will continue to contribute code. However, could you please replace "Bosch S.I." with "Bosch Software Innovations" in the Interested Parties section?
Thanks a lot,
Kai
Thanks for the feedback and
Submitted by Julien Vermillard on Thu, 2014-09-11 05:27
Thanks for the feedback and the support Kai, modification done