One of the biggest technology trends of last few years is the Internet of Things. The term Internet of Things (often abbreviated IoT) was coined by industry researchers but has emerged into mainstream public view only more recently. Some claim the Internet of Things will completely transform how computer networks are used for the next 10 or 100 years, while others believe IoT is simply hype that won’t much impact the daily lives of most people.
Internet of Things represents a general concept for the ability of network devices to sense and collect data from the world around us, and then share that data across the Internet where it can be processed and utilized for various interesting purposes. Some also use the term industrial Internet interchangeably with IoT. This refers primarily to commercial applications of IoT technology in the world of manufacturing. The Internet of Things is not limited to industrial applications, however.
Some IoT systems, such as those involving facial recognition, smart light bulbs, can be used in multiple industries. Others are designed for specific industries such as hospital equipment, predictive maintenance, remote monitoring etc.
once these smart devices get information, how will they know what to do with it, when to do it and when to stand down?
Business Process Management (BPM) surely has a role to play in the world of IoT – it’s all about connecting people, process, and information systems and automation. BPM can extend the coordination of participants from people, to systems, to intelligent objects – as these objects become more and more integrated into business processes, BPM can provide orchestration through automation.
I did a couple of IoT demos, in late 2015 which I decided to record so that it can be shared.
In the demo scenario, shown in the video, I have connected a Raspberry PI 2 to a BMP 280 sensor which can detect temperature, pressure and altitude at regular intervals and stream that telemetry data to Azure IoT HUB where I have maintained two queues. The first queue is to receive regular telemetry data when device is operating normally and uses an Azure Stream Analytic job to push that data to Power BI for reporting. The other queue is to manage critical messages which indicate a fire situation and routes it based on rule to a service bus being monitored by AgilePoint to kickoff a process.
However once a fire situation is detected, it is not just a matter of kicking off a process but the process itself should be able to communicate back to the device to either increase temperature threshold temporarily if homeowner indicated this was a false alarm due to some special situation in their house or if it is a real alarm situation, dispatch a truck to the site and once fire is controlled, reset device back to healthy state. So ability to talk back to device is key feature in this demo.
While I was recording this, it was difficult to show exactly what is happening on the device behind the scene so I used a test console app to show messages received from Azure, AgilePoint and the device so that we can keep track of what is happening in the device and Azure IoT hub behind the scene.
Here is the video