features - dl3ebb/OpenIot GitHub Wiki
#Features
Core Features
OpenIot defines elements that interact with each other via events. This architecture makes it possible to develop modules and connectors without knowing the consuumers.
Logging
During the development service it is very easy to log via the serial console. But this approach has several problems. First of all serial logging is done in real time. So if you have a lot of messages to log or a slow serial connection, the application's speed may be affected. Next if you have the device in the field, you may not have access to your device anymore. OpenIot addresses this problems by offering a logging framework that easily logs to a central log server. This mals life a lot easier if you have a bunch of iot devices in the field.
Wifi Connectivity
The OpenIot core can be configured for two alternative Wifi SSID's and handles the connection to the stronger signal. If no Wifi is available it starts an access point so you can access the device and see what's going on
MQTT
MQTT is the backbone of all iot applications. OpenIot offers you to bind to MQTT topics or publish your Elements to an MQTT broker.
REST
Sometimes you may want to just run a single device and you may not need a MQTT server. In this case OpenIOT provides a simple REST interface to control your devices.
NTP
In case you need exact time for your projects, a ntp server can be used to keep the device internal clock on the exact time.
WebUpdate
In larger installations it is convenient to have a central server, that holds the application images. OpenIot offers a service for that and devices may even be auto updated from that server as soon as a new application version is deployed.
MqttStatus
If you have a MQTT Server connected to your installation, OpenIot can provide you with some useful informations like heap size, loops per second, IpAdress etc. It will update the status every 5 seconds.
Web Frontend
For the configuration of the several connectors and services a webfrontend is provided. The webfrontend is based on websockets and is easily extendible for applications