This page maps common industrial targets to integration patterns. All paths assume you already have decoded JSON from the LNS or your ingestion service.
Time-series database + Grafana
Fit: Most greenfield IT projects, SMEs, pilots.
- Ingest MQTT/webhook → PostgreSQL + TimescaleDB (or InfluxDB)
- Normalize to
(time, deveui, metric, value)— see Data model - Grafana dashboards: fleet health (
storageVoltage, RSSI), process variables, alarm state
Historians (PI System, Aveva, etc.)
Fit: Large industrial sites with existing OT historians.
- Use MQTT or OPC-UA connector/gateway between your ingestion bus and the historian
- Map DevEUI + asset ID from your CMMS/EAM registry
- Separate device health tags from process tags in the historian namespace
SCADA
LNS → integration service → OPC-UA/MQTT → SCADA (Ignition, WinCC, etc.). Branch from your normalized database or real-time bus after decoding.
Cloud (Azure IoT Hub, AWS IoT Core)
- Forward LNS webhooks to IoT Hub / IoT Core
- Device twin or registry table for static metadata; telemetry stream for measurements
- Route rules to Functions/Lambda for normalization and storage (Timestream, RDS, etc.)
Python analytics / ML
- Read from
telemetry_rawor subscribe to Kafka topic fed by ingestion - Use pandas for batch analysis; keep decoder version in replay scripts
- Example consumers (pick one): examples/README.md
Node-RED (prototyping)
- MQTT in → JSON → function node (normalize) → database or dashboard
- Fast validation before hardening into Python/Go services
Recommended dashboard views
| View | Metrics |
|---|---|
| Fleet health | Last seen, storageVoltage, boardTemperature, RSSI/SNR |
| Process | Port keys per device config (pt_1, vib_1_rms_hf, …) |
| Alarms | status = 2, alarm source flags, event log |
| Energy proxy | thermogenVoltage, baseTemperature gradient indicator |