一句话结论:Eclipse基金会开源的Sparkplug B协议实现,提供Java/Python/C/JavaScript多语言SDK,定义了MQTT在工业场景下的标准化数据模型和Topic规范,是工业IoT和MQTT设备互操作的标准方案。
Eclipse Tahu (Sparkplug B)
开源 完全免费开源,EPL协议 Sparkplug BMQTTEclipse工业IoT标准化
★★★☆☆
综合 3.7 / 5
多维评分
| 易用性 | ★★★☆☆ 3.0 |
| 稳定性 | ★★★★☆ 4.0 |
| 性能 | ★★★★☆ 4.5 |
| 生态 | ★★★★☆ 4.0 |
| 性价比 | ★★★★☆ 4.5 |
| 国产化 | ★★☆☆☆ 2.0 |
技术属性
| 运行平台 | Windows、Linux、嵌入式 |
|---|---|
| 开发语言 | Java、Python、C、JavaScript |
| 支持协议 | MQTT、Sparkplug B |
| 授权方式 | 开源(完全免费开源,EPL协议) |
适用场景
- 工业IoT标准化
- MQTT设备互操作
- 多厂商设备统一接入
- 企业级IoT平台
不适用场景
- 简单点对点MQTT通信(直接用MQTT库即可)
- 不需要标准化的小型项目
它是什么
Eclipse Tahu是Eclipse基金会的开源项目,提供了Sparkplug B协议的多语言实现。Sparkplug B是基于MQTT的工业物联网标准,定义了标准化的Topic结构、数据模型、设备生命周期管理和遗嘱消息机制,解决了不同厂商MQTT设备之间互操作的问题。
核心能力
- 多语言SDK:Java、Python、C、JavaScript、Node-RED节点等。
- 标准化Topic:定义了
spBv1.0/{group}/{messageType}/{edgeNode}/{device}标准Topic结构。 - 数据模型:标准化的Payload数据模型(Metric、DataType、PropertySet等)。
- 设备生命周期:设备上线/离线/死亡状态管理,遗嘱消息机制。
- 互操作性:符合Sparkplug B标准的设备可无缝接入任何支持该标准的平台。
使用要点
- 适合多厂商设备统一接入:如果项目涉及多个厂商的MQTT设备,Sparkplug B能解决互操作问题。
- 学习曲线:需要理解Sparkplug B的概念模型,比直接用MQTT复杂。
- Node-RED支持:有官方Node-RED节点,可快速搭建Sparkplug B网关。
常见问题
Eclipse Tahu (Sparkplug B) 是免费的吗?怎么收费?
Eclipse Tahu (Sparkplug B) 的授权方式为「开源」。计费方式:完全免费开源,EPL协议。
Eclipse Tahu (Sparkplug B) 能跑在哪些系统?支持哪些 PLC/设备协议?
运行平台:Windows、Linux、嵌入式。支持通讯协议:MQTT、Sparkplug B。
Eclipse Tahu (Sparkplug B) 适合什么规模和类型的项目?
适合:工业IoT标准化、MQTT设备互操作、多厂商设备统一接入。不建议:简单点对点MQTT通信(直接用MQTT库即可)、不需要标准化的小型项目。
同类软件对比
Eclipse Milo
Eclipse旗下开源OPC UA协议栈,Java编写,Client/Server都支持,Java技术栈OPC UA首选。
工业通讯/OPC/驱动
j2mod
开源Java Modbus协议库,是经典jmod库的活跃维护分支,支持Modbus TCP/RTU/ASCII,主站从站模式完整,API设计清晰,适合Java技术栈的工控项目和上位机开发。
工业通讯/OPC/驱动
Kepware Server(KEPServerEX)
工业界事实标准级的商业 OPC/协议连接服务器,驱动覆盖极广、稳定性经过全球大量项目验证,适合预算充足、要求商业兜底的大型项目统一设备对接。
工业通讯/OPC/驱动
libmodbus
最流行的开源Modbus协议库,C语言编写,支持RTU/TCP,跨平台,嵌入式和桌面通用。
工业通讯/OPC/驱动