Service Development Essentials
Today’s IoT deployement model is based on connecting things to IoT cloud platform over Internet (WAN). We bring up a new layer called gateway layer that stays at the edge of the network and connected to the cloud. In this case the things connect to gateway rather than cloud directly.
In current IoT solutions, gateways are only capable of collecting data from sensors/actuators and send it to the cloud without processing or making sense of any of the data. We call this new model IoT2.0. The gateway processes sensor data at the edge of the network, and if necessary sends the processed data to cloud for further processing. The gateway can take immediate actions at the edge thus meets real-time or near real-time responses to actuators.
Obviously cloud may still invoke actions at the actuators directly independent of gateway’s decisions. This is essentially a new computing platform which will be performing edge processing; such as rule and device management, edge analytics, edge connection management, etc.
Selecting device as a gateway
We have 3 options;
a) Any Android Device
b) An Open Hardware Platform (Raspberry Pi 3) Device
c) An Intel based computing device (Nuc, compute stick, Dell Gateways)
When it’s an(y) Android device; IoT-Ignite Agent must be downloaded, if it is a RaspberryPi device, an Industrial Android (PilarOS) comes with all necessary components, ready to connect to the cloud.
Developing an IoT project
IoT-Ignite is a public platform for makers or IoT service providers. We provide; SDKs (for communication of your services with IgniteAgent), REST APIs (for cloud communication for your services), Ignite Node libraries (if your service needs Node controlling), and Ignite service libraries (application samples that discovers and registers your nodes and gateways easily) ready for developers.
A node is the simple computing unit that collects data and may act accordingly (Arduino, nodeMCU, etc.). IoT-Ignite provides the communication framework. You need to develop data collecting and actor modules for your service. (eg: humidity/temperature sensors, accelerator, location provider…)
You need to develop a service that collects, analyses, and processes the data from nodes and/or sensors. This service feeds the collected and analyzed data to cloud over Ignite agent. The communication of this service is two-sided. If any processing is made in the cloud, this service feeds the results to the actuators.
Graph 2: IoT-Ignite Cloud with Android Device
End User Services
Your end user service can register your devices (gateways, nodes, sensors), keep the inventory of them, and monitor them (info, status, values, rules,…). You can design customized dashboard for your service using IoT-Ignite REST APIs.
You can create a set of rules for your service, and can configure these rules over your dashboard. Your service can be deployed as a mobile app or web service.
This platform provides a very unique feature; edge processing. You can set your service to act according to any if-this-than-that ruling on the edge device. The data can be processed and analyzed on the edge and it can response in real-time. The best outcome is also the reduced traffic.
Graph 3: IoT-Ignite Cloud with Raspberry Pi 3