https://github.com/eclipse-leshan/leshan
Java Library for LWM2M
https://github.com/eclipse-leshan/leshan
bootstrap-server coap device-management eclipse eclipseiot internet-of-things iot java lwm2m lwm2m-client lwm2m-protocol lwm2m-server
Last synced: 19 days ago
JSON representation
Java Library for LWM2M
- Host: GitHub
- URL: https://github.com/eclipse-leshan/leshan
- Owner: eclipse-leshan
- License: bsd-3-clause
- Created: 2015-02-06T15:44:24.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2025-03-25T14:26:14.000Z (about 1 month ago)
- Last Synced: 2025-04-12T01:07:51.916Z (19 days ago)
- Topics: bootstrap-server, coap, device-management, eclipse, eclipseiot, internet-of-things, iot, java, lwm2m, lwm2m-client, lwm2m-protocol, lwm2m-server
- Language: Java
- Homepage: https://www.eclipse.org/leshan/
- Size: 12.7 MB
- Stars: 662
- Watchers: 68
- Forks: 410
- Open Issues: 70
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.BSD-3-Clause
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
[Eclipse Leshan™](https://eclipse.dev/leshan/) is an OMA Lightweight M2M server and client Java implementation.
[What is OMA LWM2M ?](https://omaspecworks.org/what-is-oma-specworks/iot/lightweight-m2m-lwm2m/)
[LWM2M Specifications](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification).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.| LWM2M Version
Targeted | Leshan
Version | Minimal
Java Version | Development
State | Build Status | Standalone
Demos |
| - | - | - | - | - | - |
| [v1.0.x](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification#lightweight-m2m-v10x) | [v1.x](https://github.com/eclipse/leshan/tree/1.x)
[Supported features](https://github.com/eclipse/leshan/wiki/LWM2M-Supported-features) | Java 7 ([more details](https://github.com/eclipse-leshan/leshan/tree/1.x/documentation/Requirement.md)) | stable released | [jenkins-1.x](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/) | [server-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-server.jar)
[client-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-client.jar)
[bsserver-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/1.x/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar) |
| [**v1.1.x**](https://github.com/eclipse/leshan/wiki/Lightweight-M2M-Specification#lightweight-m2m-v11x)| [**v2.x** (master)](https://github.com/eclipse/leshan/tree/master)
[Supported features](https://github.com/eclipse/leshan/wiki/LWM2M-1.1-supported-features) | Java 8 ([more details](./documentation/Requirement.md)) | **in development** |[jenkins-master](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/) | [server-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-server.jar)
[client-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-client.jar)
[bsserver-demo](https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar) |Release (stable and milestones) are available on [maven central](https://search.maven.org/search?q=org.eclipse.leshan).
Nightly build (snapshot) are available on [eclipse repo](https://repo.eclipse.org/#view-repositories;leshan-snapshots~browsestorage). ([more details](https://github.com/eclipse/leshan/pull/885))The Leshan Documentation is available in our [wiki :blue_book:](https://github.com/eclipse/leshan/wiki).
Contact
-------
If you have any **questions**, **feedback** or **bugs** to report, please use [github issue](https://github.com/eclipse-leshan/leshan/issues).
For **vulnerabilities**, have a look at our [Security Policy](https://github.com/eclipse-leshan/leshan/security/policy).
If you want to **contribute**, take a look at our [Contribution Guide](https://github.com/eclipse-leshan/leshan/blob/master/CONTRIBUTING.md).We also have a mail list but it is not so much used :
Join the project mailing list : [subscribe](https://dev.eclipse.org/mailman/listinfo/leshan-dev).
Mail address: [email protected].
Access to [leshan-dev archives](https://dev.eclipse.org/mhonarc/lists/leshan-dev/).License
-------This work is dual-licensed under the Eclipse Public License v2.0 and Eclipse Distribution License v1.0
`SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause`
Test Server Sandbox
------------You can try live our servers demos instances:
* The **lwm2m server** at https://leshan.eclipseprojects.io/
_(coap://leshan.eclipseprojects.io:5683 and coaps://leshan.eclipseprojects.io:5684)_
* The **bootstrap server** at https://leshan.eclipseprojects.io/bs/
_(coap://leshan.eclipseprojects.io:5783 and coaps://leshan.eclipseprojects.io:5784)_(Automatic deployment of master branch)

Test Leshan Demos locally
-----------------------
Get and run the last binary of our demo **server** :
```
wget https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-server.jar
java -jar ./leshan-demo-server.jar
```
Get and run the last binary of our demo **client** :
```
wget https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-client.jar
java -jar ./leshan-demo-client.jar
```
Get and run the last binary of our **bootstrap** demo server :
```
wget https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar
java -jar ./leshan-demo-bsserver.jar
```
:information_source: : _All the demos have a `--help` option._Compile Leshan & Run Demos
-------------
Get sources :
```bash
#using ssh
git clone [email protected]:eclipse/leshan.git
```
or
```bash
#using https
git clone https://github.com/eclipse/leshan.git```
Compile it, by running in leshan root folder :
```
mvn clean install
```Run demo **server**:
```
java -jar leshan-demo-server/target/leshan-demo-server-*-SNAPSHOT-jar-with-dependencies.jar
```Connect on Leshan demo UI: http://localhost:8080
Leshan server Demo 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-demo-client/target/leshan-demo-client-*-SNAPSHOT-jar-with-dependencies.jar
```
or trying the [Eclipse Wakaama](http://eclipse.org/wakaama) test client.You can also try our **bootstrap** demo server:
```
java -jar leshan-demo-bsserver/target/leshan-demo-bsserver-*-SNAPSHOT-jar-with-dependencies.jar
```Let's start to code !
---------------------
Now you played a bit with our demo, you should start to code your own server or client using our [Getting-started](https://github.com/eclipse/leshan/wiki/Getting-started) guide.