Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
  1. Home
  2. Projects
  3. Eclipse IoT
  4. Eclipse Leshan™
  5. Leshan
×

Informative message

This proposal has been approved and the Eclipse Leshan™ project has been created.
Visit the project page for the latest information and development.

Go to Project

Leshan

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse IoT
Background: 

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.

Scope: 

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).
Description: 

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.

Why Here?: 

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.

Licenses: 
Eclipse Distribution License 1.0 (BSD)
Eclipse Public License 1.0
Legal Issues: 

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

Project Scheduling: 

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.

 

People
Project Leads: 
Julien Vermillard
Committers: 
Julien Vermillard
Manuel Sangoï
Simon Bernard
Kai Hudalla
J.F. Schloman
Mentors: 
Benjamin Cabé
Interested Parties: 

Sierra Wireless

Bosch Software Innovations

Zebra Technologies Corporation, Zatar

Intel

Vodafone

Source Code
Initial Contribution: 

The initial code contribution consists of several Java-based components built using Apache Maven:

  • leshan-core is a Java library implementing a Lightweight M2M server. It uses Eclipse Californium for implementing the CoAP device API and the DTLS security layer.

  • leshan-standalone is a standalone Java server that uses “leshan-core” for running a Lightweight M2M server, with a web user interface.

  • The Web UI is built using Angular JS and Twitter Bootstrap. A REST API is exposed, using Eclipse Jetty and Google GSon, and used by the web UI for communicating with the server.

A Dockerfile is also provided in order to facilitate the deployment of Leshan in Docker containers.

Source Repository Type: 
GitHub
Source Repositories: 
https://github.com/jvermillard/leshan

Comments Sign in to post comments

Kai Hudalla's picture

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

  • Log in to post comments
Julien Vermillard's picture

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

  • Log in to post comments
Eclipse Leshan™

Project Links

  • Website

Related Projects

Related Projects:

  • Eclipse IoT
    • Eclipse Californium™ (Cf) CoAP Framework

Project Hierarchy:

  • Eclipse IoT
  • Eclipse Leshan™

Tags

Technology Types
  • Internet of Things
Build Technologies
  • Jenkins
  • Maven
Other Tags
  • LWM2M
  • java
  • IoT Standards

Eclipse Foundation

  • About Us
  • Contact Us
  • Donate
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top