Leshan is a OMA Lightweight M2M server and client java implementation.
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.
Test Server Sandbox
You can try live our servers demos instances:
- The lwm2m server at http://leshan.eclipse.org/
(coap://leshan.eclipse.org:5683 and coaps://leshan.eclipse.org:5684)
- The bootstrap server at http://leshan.eclipse.org/bs/
(coap://leshan.eclipse.org:5783 and coaps://leshan.eclipse.org:5784)
(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 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 target/leshan-client-demo-*-SNAPSHOT-jar-with-dependencies.jar
You can also try our bootstrap demo server:
java -jar target/leshan-bsserver-demo-*-SNAPSHOT-jar-with-dependencies.jar
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:
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.