Emulator application for an IoT device.
- LwM2M protocol support for objects:
LwM2M Server (1)
,Device (3)
,Firmware Update (5)
,Light Control (3311)
.
- HTTP UI for device management (REST API and Angular UI).
- Docker build.
- Run LwM2M server (consider Leshan Demo Server from official repository or check here on how to use with Docker).
- Set appropriate configuration in
data/config.yml
. See also chapter about configuration profiles. - Build project with
./gradlew build
and runjava -jar build/libs/iemu-*.jar
. The application will load configuration fromdata/config.yml
file. - Browse client UI or check in your LwM2M server if the client is connected.
It's possible to define multiple .yml
files within data/
directory and control profile name with --{profile}
program argument.
Consider following configuration files:
$ tree data/
data
├── config-qa.yml
├── config-prod.yml
└── config.yml
Then selecting profile name looks following:
config file | java exec |
---|---|
config.yml |
java -jar build/libs/iemu-*.jar |
config-qa.yml |
java -jar build/libs/iemu-*.jar --qa |
config-prod.yml |
java -jar build/libs/iemu-*.jar --prod |
Application has just one view, displaying (refreshing automatically thanks to websocket connection) management UI for the device.