MQTT Sparkplug 解决方案
Sparkplug,由 Cirrus Link Solutions 和 Eclipse Foundation 共同开发的开放协议,并不专属于某一个公司或组织。作为 MQTT 的增强扩展,Sparkplug 采用了有状态通信方式,使得设备与应用能通过 MQTT 更流畅地发送和接收消息。利用 MQTT 独有的 "遗嘱" 机制,Sparkplug 确保每一个传输的消息都是最新且有效的,从而大大提升了 MQTT 在工业环境中的适用性。
在 MQTT Sparkplug 设计中,EMQX 扮演着中心代理服务器的角色,负责处理工业物联网环境中设备和应用间的通信。EMQX 主要负责接收来自设备的消息,转发给目标订阅者,并在必要时提供消息存储能力,以便日后查询和分析。
Neuron 作为边缘节点,负责连接设备与 EMQX,它能够处理和聚合本地数据,并以异步方式将数据缓存或转发到 EMQX。在工业物联网环境中,特别是资源和网络带宽有限的场景下,Neuron 能够有效地处理大量设备产生的海量数据。
在 MQTT Sparkplug 架构中,Neuron 负责实现 Sparkplug 协议规范,包括设备的注册,根据 Sparkplug 的有效载荷格式对数据进行编解码,并按照 Sparkplug 的主题命名空间格式组织数据。Neuron 通过 MQTT 协议与 EMQX 通信,并能与其他软件配合,实现对数据的本地分析或处理。
Sparkplug 的优势
即插即用:Sparkplug 提供了即插即用的无缝集成能力。通过采用自我描述性的有效载荷格式,设备能在系统中进行动态注册。这种设计简化了设备注册和配置过程,提升了不同供应商和设备之间的互操作性。
标准化和互操作性:Sparkplug 遵循标准化的数据模型和主题命名空间,以提高设备和应用之间的互操作性。标准化的设计极大降低了集成难度,使得在广泛的工业系统和平台间实现无缝通信成为可能。
可扩展性和灵活性:Sparkplug 具有高可扩展性,适用于大规模的工业物联网部署。其分层架构可处理大量的设备和数据流,同时还具有灵活性的优势,允许用户自定义数据和有效载荷结构,以适应特定的需求场景。
高效且可靠的通信:Sparkplug 采用了轻量级且高效的 MQTT 消息传输协议,确保了设备和应用之间的高效数据传输,特别是在资源有限的场景下。此外,Sparkplug 结合了消息确认和服务质量(QoS)水平等 MQTT 特性,确保消息的有效传递。
IT 和 OT 的融和
一直以来,IT 和 OT 系统都是两个相互独立的系统,IT 系统主要负责数据的处理和管理,而 OT 系统主要负责控制生产过程和设备。通过引入 EMQX 和 Neuron,所有主机系统和设备都可以接入这个中心数据枢纽进行数据交换。Sparkplug 主机系统,如 ERP 和 MES 以及云平台,可以直接消费来自 PLC、设备、机器和机器人的数据信息,实现IT和OT的融合。