Hello guys, as you can see that today’s topic is about IoT operations available in Microsoft Azure IoT hub such as registering, listing and deleting devices as well as communicating with devices individually in order to perform some important operations instantly.
My previous blog i.e. Integrating Raspberry PI with Microsoft Azure was about creating IoT Hub in Microsoft Azure, Registering devices in it and then we developed a UWP based client application which was deployed on Raspberry PI connected with DHT22 sensor and environmental readings (Temperature & Humidity) was sent from device to cloud (Microsoft Azure IoT hub messages/events endpoint).
Later the UWP based client application was modified in order to understand messages from cloud (Microsoft Azure IoT hub) and perform the following task accordingly with online and offline mode capability:
1- Send real time readings for temperature and humidity to cloud (Online).
2- Set device threshold value for temperature and humidity on receiving message from cloud (Online).
3- Log temperature and humidity value with date and time in device’s local storage on exceed of thresholds set (Offline).
4- Get current readings for temperature and humidity on demand from device by sending message from cloud (Online).
5- Get all logs stored in device local storage on demand and delete log file from device once all logs have been retrieved successfully by sending message from cloud (Online).
Now here the main purpose of this blog post would reveal. The messages that are being sent to device for performing the above operations are directly from Microsoft Azure IoT hub Device Message interface which is not user friendly at all and end user would probably find it difficult to first login to Azure portal then navigate to IoT hub for dealing with specific IoT device on such a puzzled interface. How about to have a dashboard where we could monitor and manage these devices and perform the same operations efficiently?
For the solution of the above query we had developed a user friendly MVC 5 based web application containing a login page and dashboards for IoT devices monitoring and management.
Here’s a beautifully designed IoT hub login page where Admin could sign in:
Below is the IoT devices dashboard where end user is provided with add and delete device functionality. As this web application is fully integrated with Microsoft Azure IoT hub, all operations are performed synchronously on Azure IoT hub as well as on application database.
User could view all registered devices in Azure IoT hub all in one place on this dashboard and its all relevant details with device delete functionality.
Another screen on this web app named Manage devices is designed and developed to manage IoT devices efficiently with the ease of tracking device activities individually by selecting each device from the Select device dropdown.
Moreover, certain operation could be perform such as setting device threshold values for temperature and humidity, getting current readings for temperature and humidity and getting device log from its local storage when device gets online.
This web application is designed with all the operations of Azure IoT hub integrated in it so that the end user could be facilitate with its user friendly environment ensuring the look and feel of the app and manage their IoT devices efficiently.
It’s a good end to end solution for bidirectional communication between IoT devices and end user with end to end data security and hope that it will be really useful when deployed in production environment. For more details please contact us.