The terms Internet of Things and Internet of Everything is gaining momentum due to the industry / business drive towards automation, connected platform evolution and cloud provisioning which allows businesses to abstract IT solutions, focus more on business and IT runs in auto-pilot mode. Benefits are many, uncovering the potential of dark data, reduces resources and real estate costs. In this rapidly changing IT context, it is important for a Software Engineer to understand how IoT solutions are built.
All major market researchers point towards higher growth in increased device connectivity and revenue earning capacity of IoT service providers by 2020. Now everyone trusts this leaner growth because the smart phone (evolved from traditional mobile phone) is the most reachable IoT device that is now in the hands of every human, experiencing huge computing power and services in their palm like never before. Also they believe that a lot can be achieved from a blend of Industrial and Personal IoT.
Some one asked me what’s next in IoT, and I was quick to say Blockchain integration with IoT that drives Smart Contracts where the system automatically validates the business contract at every verification point to track and deliver trusted services consistently. Also, devices integrated into human body and connect to Cloud provided services will enhance human capabilities from automatic delivery of insulin to diabetic patients to automatic vision comprehension beyond a persons native knowledge are also next IoT horizons. One example is Augment Reality that can enhance human capability of fixing a broken car that she/he has never done it before (a virtual road side server use case). It is true to say that the power of IoT can transform not only personal and business paradigms but also build Smarter Cities that will have positive impact on our daily routines, generate more business revenue and become basic blocks for enhancing human capabilities, preparing them for future evolution.
The most efficient and easiest way to get first hand experience of an IoT solution is to leverage IBM Bluemix Watson IoT PaaS platform with Raspberry Pi (RPi) as a device & gateway. Adding a SenseHAT on top of RPi will open up a host of sensors that are easy to access. Building a personal IoT solution can enhance the understanding of a commercial/ industrial solution as well, like, to monitor temperature, humidity changes at a home and predict potential rainfall / thunderstorms to switch-on the garden drip/ sprinkler system, is an interesting scenario. Data from a SenseHAT attached to RPi in an IoT solution can be enriched by augmenting it with IBM Weather Company public services to predict rainfall at a particular location. Everyone agrees with the sensible automation to provide water to plants only when absolutely required and avoid water wastage. Now extrapolating this same scenario to the gardens in public parks and huge corporate / government buildings will save water and build a strong use case for Smarter Cities.
Now let us see high level overview of various components involved to develop the above scenario.
Physical components
- Mount the SensetHAT on RPi
- Configure the GSM Switch to operate water pumping system
Node-RED wiring RPi, Bluemix IoT Platform and Weather Data
- IBM Bluemix Watson IoT Platform & RPi comes with Node-RED hosted (or it can be easily installed)
- Add IBM Watson IoT node to RPi and configure it to connect to Node-RED application hosted in the Bluemix instance to receive device & gateway data (temperature and humidity)
- Bluemix Node-RED application to call IBM Weather Data publicly available REST APIs for a location and parse the JSON response for accessing the possibility of rainfall.
- Enrich the data with received temperature & humidity from SenseHAT and argument it with rainfall prediction
Twilio integration
- Configure Twilio account to send SMS to the number, that is in the GSM Switch
- Drive a simple rule-based trigger to decide when to switch on/off (based on temperature, humidity and rainfall prediction and time of the day) the garden drip/sprinkler system. This can also be a complex SPSS Decision Making System for a industry / commercial solution.
- Integrate Twilio node in Bluemix Node-RED to send SMS to GSM Switch
Triggering GSM (SMS) switch
- Receives commands to start / stop the water pumping system from Twilio account
To conclude, it is important to understand how these various components are securely interconnected. IBM Bluemix PaaS provides a very easy, secure and proven methods, keeping scalability in the context. The same solution deployed in cloud can scale the number of instances or memory to accept connections in real-time from millions of devices. Also leveraging Apache Quarks Edge Analytics in the solution can reduce the number of round-trips to the analytics hub in PaaS where the decisions are made locally and only rich data is sent to the hub for a more matured analysis or reporting dashboards.
Undoubtedly the future belongs to devices and machines but I am a firm believer of humans staying in control as we move to building more high value cognitive systems. Thank you.
