Skip to content

Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java.

Notifications You must be signed in to change notification settings

sxwxcc/leshan

 
 

Repository files navigation

Build Status

Leshan

Leshan is a 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 Lightweight M2M standalone server as an example of the Leshan Server 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 server demo instance on: http://leshan.eclipse.org/
(Automatic deployment of master branch)

Test Server locally

Get and run the last binary of our demo server :

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

Compile & Run

mvn install
cd leshan-standalone
mvn assembly:assembly -DdescriptorId=jar-with-dependencies

Run:

java -jar target/leshan-standalone-*-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.
You could try the LeshanDevice example, the Eclipse Wakaama test client or script samples of its lua binding [lualwm2m] (https://github.com/sbernard31/lualwm2m).

To build the LeshanDevice example, first compile:

mvn install
cd leshan-client-example
mvn assembly:assembly -DdescriptorId=jar-with-dependencies

Then run, setting the hostname and port of the server:

java -jar target/leshan-client-example-*-SNAPSHOT-jar-with-dependencies.jar localhost 5683

The list of the registered clients: http://localhost:8080/api/clients

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-example : a sample of client API.
Leshan-standalone : a demo server with a web UI.
Leshan-bs-server : a bootstarp demo server.
Leshan-integration-tests : integration automatic tests.

About

Leshan is an OMA Lightweight M2M (LWM2M) implementation in Java.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 89.9%
  • JavaScript 5.9%
  • HTML 3.7%
  • CSS 0.5%