夜雨聆风学习资料网

ARTICLE · 1245322

Sparkplug 规范的标准文档 + 多语言参考实现库:Eclipse Tahu

Sparkplug 规范的标准文档 + 多语言参考实现库:Eclipse Tahu

Eclipse Tahu 是 Eclipse IoT 下的开源项目,核心是 Sparkplug 规范(Sparkplug MQTT) 的标准文档 + 多语言参考实现库,专门面向工业物联网 IIoT / OT 工业控制系统,用来把原生 MQTT 改造为适合 SCADA、DCS、ICS 的工业级消息方案。

MQTT 本身只定义消息传输,没有规定主题命名、负载格式、设备在线状态管理;Sparkplug 就是在 MQTT 之上做的应用层规范,Tahu 就是这个规范的官方参考实现。

核心组成

  1. Sparkplug 规范(当前主流 v3.0)
    • 标准化 MQTT 主题命名空间
    • 定义 Sparkplug B 二进制负载(Protobuf 编码,紧凑高效,适合低带宽工业链路)
    • 定义设备生命周期:Birth 上线消息、Death 离线遗嘱消息,后台可以实时感知边缘节点 / 设备死活
    • 模型:Edge Node(边缘节点/网关) → Device(子设备),指标(Metric)携带数据类型、元数据、时间戳
  2. 多语言参考 SDK
    • Java(最成熟,Maven 中央库直接可用)
    • C、Python、JavaScript
    • 配套可直接运行的参考程序:Edge Node 边缘节点、Host 主机应用
  3. 示例代码:演示 Sparkplug 设备接入、编解码、生命周期管理

关键概念

  • Edge Node:网关 / 边缘节点,连接现场传感器、PLC,作为 Sparkplug 客户端连接 MQTT Broker
  • Device:挂在 Edge Node 下的现场设备
  • Host Application:SCADA、HMI、MES、云平台等后端应用,订阅采集数据,下发指令
  • Sparkplug B:Protobuf 二进制 payload,工业场景标准,Tahu 默认实现

典型场景

工业产线、工厂 OT 网络,把 PLC、传感器数据通过 MQTT+Sparkplug 标准化上送到 SCADA / 云平台,解决多厂商设备互操作、设备在线状态监控。

相关学习资料