Here's an implementation of an IoT-enabled home/office automation controller using an IoT-SDK.
Let us look at implementation of a simple IoT enabled home/office automation controller using the IoT-SDK which will provide the middleware that interfaces the industrial bus/protocol to the Cloud.
The system is realised using:
- Sitara™ AM437x processor based Industrial gateway as controller board
- Cloud based storage (using AWS or open-source IoT server KAA)
- Android Smartphone application as client
The IoT-SDK provides software components for both the gateway/device as well as the client. The cloud server interface in both the device as well as the client is well abstracted enabling seamless migration from one cloud platform to the other. The IoT-SDK supports Amazon Web Services (AWS) (https://aws.amazon.com/)cloud integration or open-source cloud server KAA implementation (http://www.kaaproject.org/overview).
Industrial gateway is the device that bridges the slow speed industrial serial buses & physical input/output with the TCP/IP realm. It is designed based on the AM437x processor system-on-chip (SoC) running Linux® and having the following sensor interconnect options:
- Supporting 2-Wire, 3-Wire, 4-Wire connections for a temperature range of -200°C to +850°C
- Supports platinum (Pt100, Pt200, P500, Pt1000), nickel (Ni100, Ni120, N200), copper, balco, general PTC's & NTC's
- Supported temperature range : -200°C to 1,260°C
- Supported types J, K, E, T & N
- Analog input:
- Supports voltage mode (0 to 10V) and current mode (0mA to 20mA; 4mA to -20mA)
- Analog output:
- Supports voltage mode (-10V to 10V) and current mode (0mA to 20mA, 4mA to 20mA)
- Multiple relay control:
- Voltage: 230VAC
- Current: 5A
- Modbus RTU
- OBD interface
The IoT-SDK will transform the system into an IoT enabled industrial gateway having the following capabilities:
- Monitoring the parameters/measurements of sensors directly connected via physical IO, MODBUS RTU, EtherCAT, KNX etc.
- Continuous monitoring of desired parameters, evaluate logical condition and drive actuators for desired output action.
- Programmed timer based output control.
- Logging of parameters (and events) to remote cloud storage or local storage for desired periodicity and averaging duration.
- Remotely controlling the actuators as desired and thereby enabling the cloud servers (or client) to drive desired output action based on business data analytics.
The Cloud infrastructure is built using commercially available Amazon Web Services (AWS) or it can be hosted on custom IoT open source servers like KAA.
- AWS or KAA cloud server shall be configured to manage (enable/disable) the Industrial IoT gateway devices and it supports following features:
- Rules engine to manage the data sent from IoT gateways and take user defined actions
- Store the IoT gateway data in the NoSQL persistent store required for Data analytics
- Provide notifications to the mobile client applications
Client application provides the user interface to the IoT devices and its big data stored in the cloud server. The client application is developed using the IoT-SDK that provides APIs to abstract lower layers completely. All the business logic for interfacing with the cloud servers and interfacing with the IoT device (gateway) is abstracted with simple APIs. The APIs are available for:
- Configuring the monitoring function.
- Configuring the logging function.
- Configuring the thresholds for event generation and output controls etc.
- Querying the information from device as well as cloud storage.
- Receiving notification for events triggered from the cloud server.
- Analyse and generate useful reports from the Big data stored in the cloud server.
- Control the actions on the devices through the cloud server.
The IoT is built on a confluence of technologies, including new and old hardware platforms, big data, cloud computing and machine-to-machine (M2M) computing with APIs bringing all of these parts together.
The AM437x processor SoC comes enhanced with 3D graphics acceleration for rich graphical user interfaces, as well as a coprocessor (the PRU-ICSS) for deterministic, real-time processing including industrial communication protocols, such as EtherCAT, PROFIBUS, EnDat, and others. This combined with feature-rich IoT SDKs available today, enables developers to rapidly build secure, enterprise-grade intelligent gateways catering to a wide range of applications beyond industrial and home automation like smart cities, connected cars, energy monitoring, fleet management, and health and wellness.
To learn more about the IoT, IoT industrial gateway and AM437x processors visit the below links:
By Sachidananda Karanth, Senior Technical Architect-Software Design, Mistral Solutions