Web dashboard for displaying actual and historical sensor readings. Sensor devices sends data to Azure IoT Hub, which then redirects them to Azure Blob Storage. Storage is monitored by Azure Function which notifies web application about new readings.
- .NET Core 3
- Blazor Web Server
- Blazorise
- Azure IoT Hub
- Azure Storage
- Azure Function
- Humidity and temperature sensor on ESP8266 module (repository link)
- Temperature sensor on RaspberryPi3 (repository link)
Provide following configuration before running web application (appsettings.json
file):
ConnectionString
to Azure IoT hub. Can be found in Azure Portal -> IoT Hub -> Shared access policies -> iothubowner -> Connection string—primary key.ContainerName
name of container in Azure Blob service, note that it should be ADLS Gen 2 account type as it supports hierarchical file system.ParentDirectory
directory where readings are stored.
Blob storage is monitored by IotHome.Service.ReadingsMonitor
Azure Function. To enable automatic page refresh when new readings appears, use this project. It uses Event Grid trigger instead of Blob trigger, because the latter one had significant delays.
StorageContainerName
andStorageDirectory
are the same properties as in web app configuration.BlobStorageConnectionString
to Blob Storage. Can be found in Azure Portal -> Storage account -> Access keys.