IoT Innovation Lab
We may have just scratched the surface for applications that IoT can enable. Telecom, semiconductor and cloud companies organize Hackathons to germinate new ideas for IoT applications. Nations, cities, universities and corporate are setting up IoT Innovation labs to encourage use of IoT technology.
Amidst all the fast paced developments in IoT technology, how does one go about putting together an IoT lab? To start with, let us acknowledge the fact that we will miss out something important even when we attempt to get it right. IoT covers a vast landscape and it is difficult to include everything. But we need to start somewhere.
Let us start by creating a framework of potential applications that our hypothetical IoT Innovation lab will focus. As seen in figure, we consider three application areas - Asset tracking, city safety and predictive maintenance. Again, by no means does this represent an all encompassing framework.
If we enumerate typical requirements for each of the applications - Asset tracking application will include tracking (cellular connectivity), geo-fencing, local edge device to monitor perishable cargo, edge controller to directly communicate with truck driver & cloud based service for analysis. In a similar manner - city safety requirements would include an edge controller (with inputs from camera, acoustic/environment sensors) on street light poles having mesh / cellular connectivity to city control room. For an industrial setting, our IoT system will monitor vibration, power consumption and acoustic noise from machines to determine their health and maintenance needs.
Components of IoT Lab:
We will use IoT pyramid in creating specialized competency areas (units) within our lab. Each unit requires specific skillset along with hardware-software to design, debug and integrate modules with other subsystems.
Edge Device: Edge devices serve as cornerstone of most IoT systems. They may be new or retrofitted existing devices. Most edge devices interface to sensors. Some edge devices may also have an actuator which operates based on local or cloud based control algorithm.
- For applications we have considered, sensors such as temperature, vibration, acoustic, camera, humidity and many others would need to be interfaced with our Edge Device. A test bed to interface (using one of many interface standards and protocols -UART, I2C, SPI..), calibrate and try out different sensors would be essential in innovation lab.
- Arduino based Edge device sensor and actuator test bed, where parameters and read and written to device.
- Monitoring in situ operation of sensor with help of radio link. An example would be monitoring pH sensor operation in a water tank.
- Program control algorithm in Edge Device (such as temperature controller)
Intelligent Gateways: Traditional IoT gateways are used to translate protocols between Edge Devices and Cloud. Contemporary intelligent gateways from Dell, Azure (Edge), AWS (Greengrass) have offered possibility of local server near edge devices. These new generation gateways allow uninterrupted edge device operation in absence of cloud connectivity.
- Raspberry Pi or similar Linux based gateway to test connectivity to local edge networks - Bluetooth, RS-485 (Modbus), ZigBee, LoRaWAN ......
- Programming expertise to write & install AWS Lambda / Azure Docker functions or Ubuntu snaps in Linux based intelligent gateway.
- In city safety use case, gateway would perform edge based video and acoustic processing.
Communication: IoT systems combine different types of communications. These include legacy wired standards such as Modbus to RF standards such as Bluetooth, Zigbee, WiFi, LoRaWAN, Cellular and more.
- Configure communication parameters for Zigbee, WiFi, Cellular and other modem chips using AT commands
- Verify link budget & error rate by carrying out test runs in real world environment
Protocols & APIs: An IoT system designer has to decide on a protocol between gateway and Cloud. Some commonly used data transfer protocols - HTTP, publisher-subscriber (MQTT), point-to-point (CoAP).
- Install and test client/server or publisher/broker/subscriber data connection.
- Deploy broker or end-point on Cloud.
- Create APIs to disseminate information to users. In city safety use case, APIs would help APP developers access city data in JSON format.
Cloud Services: After all the hard work of getting data to the cloud, it would be a shame if it is not fully utilized. Cloud service providers - AWS, Azure... provide functions to stream, store and analyze IoT device data.
- On-board edge devices based on security protocols (public-private keys)
- Use Serverless Computing to act of IoT data - Stream, Store, API Gateway, Analytics....
- Machine learning expertise to gather insight and inference from data
- Deploy inference models on Gateways close to Edge Devices
Applications & Visualization: Under normal operating conditions, IoT data is uninteresting. When a parameter deviates (vibration, accident sound.....) IoT data needs to be flagged and bought to attention of human operators.
- Expertise to design mobile or web applications to sift & present IoT data
- End user feedback for creating visual interfaces. After all, the end user operator has to live with the screens for a long time !
Programming Languages: Edge Devices, Gateways, Serverless Cloud Services, Machine Learning.....so many things to program.
- Programming skills - Python, Node.js, C
----------------------------------------------------------------------------------------------------------