Connected devices are typically designed as remote sensors producing streams of data that are analyzed on clouds. This architecture has serious scalability problems, it requires high data bandwidth data streams and consumes a lot of cloud resources.
Modern IoT architectures are now designed for “edge computing”. In Edge-IoT data are pre-processed locally by IoT devices and then streamed to the cloud on a reduced size. Moreover, edge IoT devices produce events locally by comparing acquired data with thresholds and parameters sent from the cloud to the device.
The Zerynth Device Manager decouples data stream and events allowing the implementation of advanced IoT edge applications.
Events are called Conditions in the ZDM
In ZDM, data are streamed to the ZDM via MQTT and can be labeled with TAGS in order to simplify the forwarding to the IoT application backend service. Data forward is managed using GATES, the ZDM data connectors for third party services.
Events are in ZDM called Conditions. Conditions are events with super-powers! A condition is a state that can be opened, changed, and closed by a device in order to notify the IoT application backend of a particular state.
For example: In an asset tracker IoT application it is necessary to receive continuous data streams from the assets (e.i: GPS position, motor temperature, speed, battery voltage) while also actuating specific actions when particular events occur. It is impossible to analyze on the cloud the battery voltage level for each connected asset and if it is too low actuate a specific action that needs to be notified back to the IoT device (asset); this solution doesn’t scale!
Check the battery level directly on the device firmware
With the ZDM you can check the battery level directly on the device firmware comparing it with specific thresholds that can be updated via ZDM using Jobs. Once a device battery voltage goes below a first threshold, the device will open a “battery level” condition with parameters like: “warning, battery: 85%”. If the battery level continues to decrease the device can update the condition notifying that a second battery threshold has been passed and updating the type of notification from warning to alarm. If the device is connected to a battery charger the conditions can be reverted back to alarm and then closed when the battery level passes the first threshold.
Configuring the forwarding of conditions
On the ZDM interface, it is possible to configure the forwarding of conditions separately from the data. Conditions are managed in the Alerts tab where it is possible to see conditions live in order to easily debug IoT applications while also creating “alerts“ forwarder. ZDM alerts are like GATEs but use conditions instead of data. ZDM alerts can fire notifications via email or webooks. With webooks alerts, it is possible to forward device conditions directly to the final IOT application backend creating a modern and scalable IoT edge architecture where events are processed on the edge.
Have a look at the ZDM conditions example for more details.