In this project, you'll visualize all of your Azure IoT Hub devices' telemetry data on a Raspberry Pi-powered display. The Raspberry Pi runs Python code combining Azure's Python SDK and Blinka, the CircuitPython compatibility library for single-board computers running Linux. The code shows three different ways to retrieve data from IoT Hub with Python: a built-in endpoint, the Azure REST API and an Azure Device Twin.
IoT Hub is one of the two IoT options from Azure. It allows for two-way communication, which makes this project possible. It can be more complicated to setup and configure than IoT Central, but this guide will walk you through everything you need to get up and running.
The Raspberry Pi dashboard uses the Blinka_Displayio_PyGameDisplay library to utilize displayio elements over HDMI rather than a discrete display over I2C or SPI.
The dashboard updates every time a device sends telemetry data to IoT Hub. It also logs the last device to check-in with a timestamp so you always know the connection status of your devices.
By using a dashboard, you have a centralized place where you can easily visualize your various devices' status at a glance. That way you can place your devices exactly where you want them around your space.