IIoT Hub
An Industry 4.0 edge hub for factories: it collects readings from the machines on the floor, keeps them safe through internet outages and streams them to an Azure data lake for big-data analytics.
Built with
- Blazor
- Azure IoT Hub
- Azure Data Explorer
Factories run a mixed fleet of machines, each with its own protocol and its own idea of what a reading looks like. IIoT Hub is the piece that sits between those machines and the cloud. It turns every source into one standard reading (device, tag, timestamp, value, quality), keeps a local copy, and streams the data to Azure where it can be analysed at scale.
One service on the plant floor
The hub is a single .NET process that installs as a Windows service on a box inside the plant network. There is no Kubernetes to run and no container platform to maintain. Connectors for the machines are configured from the dashboard and applied without a restart. The first site runs CNC saws and machining centres, so the hub ships with a CNC tag catalogue: a shared naming contract for power-supply quality, air pressure, temperatures, spindle speed, machine state, production orders, part and tool cycles, and alarms. OPC UA, Modbus and MQTT connectors are written per plant against the machines that are actually there.
Nothing is lost when the line goes offline
Every reading lands first in a local SQLite buffer that doubles as seven days of history. The buffer is an outbox: data that has not reached the cloud is never purged, and when the connection returns the hub replays it in order. Each machine keeps its own cursor and its own backoff, so one slow device never holds up the rest.
Every machine is its own device in Azure
Each machine gets its own identity in Azure IoT Hub, provisioned automatically through the Device Provisioning Service with a single secret held on site. Nothing reaches the cloud until an operator enables that machine from the dashboard. From there the hub sends one message per device per second over MQTT, and IoT Hub routes the JSON into Azure Data Lake Storage, where it moves from hot to cool to cold storage and is kept for two years. An optional analytics add-on adds Azure Data Explorer with streaming ingestion and a live workbook dashboard. The whole cloud side is infrastructure as code: one Bicep deployment per customer subscription, no custom cloud code, access through managed identity only.
A dashboard that works without the internet
The on-site dashboard, built with Blazor, shows a map of machine cards linked to the hub and to Azure, history charts per device, alarms with severity that operators can clear, and an activity strip of run, idle and off time with utilisation for the day. It runs on the box itself and keeps working when the plant is cut off.
What this gives a factory
- Readings from every machine in one standard shape, ready for Fabric, Databricks, Synapse or Power BI.
- No data loss through internet outages, and no manual catch-up afterwards.
- Per-machine identities, routing and access control in Azure, approved by an operator one machine at a time.
- A base running cost in the tens of euros a month, with live analytics as an opt-in.