IoT prototyping in eight hours
I had a bit of time to look into Microsoft Azure IoT and read Scott Klein's book “IoT Solutions in Microsoft's Azure IoT Suite” over the holidays. The book offers a step-by-step explanation of programming and connecting a Raspberry PI through to configuring Azure IoT, Stream Analytics, Data Lake and Power BI. Examples of machine learning and data factory are also described.
The initial set-up took up the most time
The initial set-up of the development environment and frameworks (Windows 10 IoT, Grove Kit) took the most time in my case. I was mainly concerned with finding out which versions work together and which don’t. I also installed Visual Studio 2017 instead of the existing 2015 version.
Connecting to Azure IoT was child’s play
My Raspberry PI has a DHT11 temperature & humidity sensor that can be read digitally. I also connected an LED for the heartbeat. The goal was to process the temperature & humidity data using Azure IoT.
Connecting the Raspi was very easy. It was possible to register the Raspi with Azure IoT via the Device Explorer and to connect it using a connection string. The data could be passed on to an Azure Data Lake and Power BI database via a Stream Analytics task.
Power BI as a simple data visualisation solution
With Power BI from Microsoft, business data reports and management dashboards can be created easily. However, the application is also great as a prototyping tool to display my IoT data, without having to create a single line of program code. Using Stream Analytics, the data can also be written directly into a Power BI database.
I can also use the Power BI app to display the dashboard on my smartphone, allowing me to see the temperature and humidity data for my office wherever I am.
Azure IoT is ideally suited to rapid prototyping
In summary, the Azure IoT Suite is ideal for rapid prototyping in the IoT environment. Azure IoT is also flexible and scalable so that more devices can be connected when the prototype is successfully validated. Of course, it can also be used to create a more professional and mature application after the prototyping phase.