Industrial IoT Edge Platform
Manufacturing Data Infrastructure
Edge computing platform for industrial manufacturing environments. Collects sensor data from PLCs, aggregates at the edge, and streams to cloud analytics. Built for reliability in harsh industrial conditions.
Problem
Manufacturing plants generate massive amounts of sensor data, but connectivity to cloud is unreliable and latency is critical for safety systems. Legacy SCADA systems are expensive, closed-source, and difficult to integrate with modern analytics tools.
Unreliable Connectivity
Manufacturing floors have intermittent network connectivity
Latency Critical
Safety systems need <50ms response time for alerts
Closed Systems
Legacy SCADA is proprietary and hard to integrate
Architecture
The system uses a three-tier edge computing architecture. PLCs communicate via industrial protocols (S7, Modbus, OPC UA) to local edge gateways. These gateways aggregate data, filter noise, and perform local analytics. Azure IoT Edge orchestrates containers with store-and-forward resilience for cloud connectivity interruptions.
PLC Layer
- •Siemens S7 protocol adapters
- •Allen-Bradley integration
- •Modbus TCP/RTU support
- •OPC UA for modern devices
Edge Layer
- •Azure IoT Edge runtime
- •Docker container orchestration
- •Local InfluxDB time-series storage
- •Store-and-forward message queue
Cloud Layer
- •Azure IoT Hub for device management
- •Time-series analytics pipeline
- •Grafana dashboards for visualization
- •Alerting and notification system
Protocol Adapters
- •Modular adapter pattern
- •Auto-discovery of new devices
- •Protocol translation to MQTT
- •Health monitoring per adapter
Technical Approach
Designed a three-tier architecture: PLC layer for data acquisition, Edge layer for aggregation and local processing, and Cloud layer for long-term analytics. Used Azure IoT Edge for container orchestration at the edge. Implemented store-and-forward pattern for network resilience. Created modular protocol adapters for Siemens S7, Allen-Bradley, and Modbus devices.
import asyncio
import json
from dataclasses import dataclass, asdict
from typing import Optional
from azure.iot.device import IoTHubModuleClient
@dataclass
class SensorReading:
device_id: str
timestamp: float
value: float
quality: str # 'good', 'uncertain', 'bad'
class EdgeGateway:
def __init__(self, connection_string: str):
self.client = IoTHubModuleClient.create_from_connection_string(
connection_string
)
self.local_buffer = []
self.cloud_connected = False
async def process_reading(self, reading: SensorReading):
# Always store locally first
self.local_buffer.append(asdict(reading))
# Try to send to cloud
if self.cloud_connected:
try:
message = json.dumps(asdict(reading))
await self.client.send_message(message)
except Exception:
self.cloud_connected = False
self._persist_to_disk(reading)
else:
# Store-and-forward pattern
self._persist_to_disk(reading)
def _persist_to_disk(self, reading: SensorReading):
# SQLite for local resilience
with self._get_db() as db:
db.execute(
"INSERT INTO pending VALUES (?, ?, ?, ?)",
(reading.device_id, reading.timestamp,
reading.value, reading.quality)
)
async def flush_buffer(self):
# Send buffered messages when connection restored
if not self.cloud_connected:
return
pending = self._get_pending_messages()
for msg in pending:
await self.client.send_message(json.dumps(msg))
self._mark_sent(msg['timestamp'])Key Technical Decisions
Azure IoT Edge Over Custom Solution
Chose Azure IoT Edge for its built-in container orchestration, security features, and managed device provisioning. This reduced operational complexity compared to building a custom edge runtime.
Store-and-Forward Pattern
Implemented SQLite-based local storage for message persistence during network outages. This ensures zero data loss even during extended connectivity interruptions common in manufacturing environments.
Modular Protocol Adapters
Designed each industrial protocol as a separate Docker container. This allows mixing different device types at a single site and enables independent updates without affecting other adapters.
Tech Stack
Results & Outcomes
Deployed across 3 manufacturing sites with 500+ sensors
<50ms latency for critical safety alerts
99.9% uptime over 18 months of operation
40% reduction in cloud data transfer costs via edge filtering
Zero data loss during 47 network outage events
Live Demo
Explore the interactive manufacturing operations dashboard showing real-time production metrics, sensor health, and alert status. This is a read-only demonstration of the edge platform interface.
Open Dashboard Demo