Eclipse Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java.
Java JavaScript HTML CSS
Permalink
Failed to load latest commit information.
eclipse Add project specific: organize import + format on edited line only. Sep 20, 2016
leshan-all Bump version to 0.1.11-M15-SNAPSHOT Oct 19, 2016
leshan-bsserver-demo Remove code used to handle old bootstrap config. Jan 17, 2017
leshan-client-cf Remove invalid TODO : parameters is validate in request constructor Jan 17, 2017
leshan-client-core Remove invalid TODO (we will not implement this) Jan 17, 2017
leshan-client-demo Use sys.err for error in all command line tool. Nov 15, 2016
leshan-core-cf Create "leshan-core-cf" project. Jan 10, 2017
leshan-core Remove invalid TODO: 3/0/13 is now typed as Time, Time is unsigned int Jan 17, 2017
leshan-integration-tests Clean registration tests : </0/0> should not be part of link format. Jan 17, 2017
leshan-server-cf Rename LinkObject in Link to use the rfc6690 terminology Jan 13, 2017
leshan-server-cluster Rename LinkObject in Link to use the rfc6690 terminology Jan 13, 2017
leshan-server-core Rename LinkObject in Link to use the rfc6690 terminology Jan 13, 2017
leshan-server-demo Introduced RequestRejectException Jan 5, 2017
.gitignore Add cfg parameter and use json format for bootstrap server config file Mar 21, 2016
CONTRIBUTING.md contribution guide Feb 11, 2015
README.md use full path to jar in README.md/Compile and Run Nov 16, 2016
about.html Initial contribution Feb 7, 2015
edl-v10 Initial contribution Feb 7, 2015
epl-v10 Initial contribution Feb 7, 2015
notice.html Initial contribution Feb 7, 2015
pom.xml Create "leshan-core-cf" project. Jan 10, 2017

README.md

Build Status

Leshan

Eclipse Leshan™ is an OMA Lightweight M2M server and client Java implementation.

What is OMA LWM2M ?
The specification.
Introduction to LWM2M.

Leshan provides libraries which help people to develop their own Lightweight M2M server and client.
The project also provides a client, a server and a bootstrap server demonstration as an example of the Leshan API and for testing purpose.

Contact

Join the project mailing list : subscribe.
Mail address: leshan-dev@eclipse.org.
Access to leshan-dev archives.

Test Server Sandbox

You can try live our servers demos instances:

(Automatic deployment of master branch)

Test Leshan locally

Get and run the last binary of our demo server :

wget https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-server-demo.jar
java -jar ./leshan-server-demo.jar

Get and run the last binary of our demo client :

wget https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-client-demo.jar
java -jar ./leshan-client-demo.jar

Get and run the last binary of our boostrap demo server :

wget https://hudson.eclipse.org/leshan/job/leshan/lastSuccessfulBuild/artifact/leshan-bsserver-demo.jar
java -jar ./leshan-bsserver-demo.jar

Compile & Run

mvn clean install

Run demo server:

java -jar leshan-server-demo/target/leshan-server-demo-*-SNAPSHOT-jar-with-dependencies.jar 

Connect on Leshan demo UI: http://localhost:8080
Leshan provides a very simple UI to get the list of connected clients and interact with clients resources.

Now you can register a LWM2M client by running our client demo:

java -jar leshan-client-demo/target/leshan-client-demo-*-SNAPSHOT-jar-with-dependencies.jar 

or trying the Eclipse Wakaama test client or script samples of its lua binding lualwm2m.

You can also try our bootstrap demo server:

java -jar leshan-bsserver-demo/target/leshan-bsserver-demo-*-SNAPSHOT-jar-with-dependencies.jar 

Leshan

Code with eclipse

You need to add the M2_REPO to your java classpath variables. To do that you can execute the following command:

mvn -Declipse.workspace=<path-to-eclipse-workspace> eclipse:add-maven-repo

An eclipse restart is needed (if you already have it open).

You can also do that inside eclipse: From the menu bar, select Window > Preferences. Select the Java > Build Path > Classpath Variables page.

Now, you need to eclipsify leshan java projects,so run:

mvn eclipse:eclipse

Modules

Leshan-core : commons elements.
Leshan-server-core : server lwm2m logic.
Leshan-server-cf : server implementation based on californium.
Leshan-client-core : client lwm2m logic.
Leshan-client-cf : client implementation based on californium.
Leshan-all : every previous modules in 1 jar.
Leshan-client-demo : a simple demo client.
Leshan-server-demo : a lwm2m demo server with a web UI.
Leshan-bsserver-demo : a bootstarp demo server with a web UI.
Leshan-integration-tests : integration automatic tests.