MQTT Sparkplug 实战:使用 EMQX 与 Neuron 构建 MQTT Sparkplug 方案
目录
引言
Sparkplug 是一种工业物联网协议,旨在为工业设备和应用之间提供标准化的通信方式。高效、全面的 Sparkplug 解决方案可以促进设备和应用的互联互通,并通过数据分析提升工业物联网用户的决策水平。
本文将使用 EMQX 和 Neuron,展示构建 MQTT Sparkplug 解决方案的详细过程。
基本组件:EMQX 和 Neuron
EMQX 是一款支持 Sparkplug 协议的热门 MQTT Broker,Neuron 是一款工业物联网平台,能够从工业设备获取数据,并将数据转换为 Sparkplug 消息发送给应用。
Neuron 可以从设备获取数据,并根据数据变化情况将 Sparkplug 消息发布到 EMQX Broker。EMQX 会把消息转发给订阅了相应 Sparkplug 主题的应用。此外,EMQX 还可以通过规则引擎对 Sparkplug 消息进行解码。这些消息可以用于数据平台、历史数据持久化存储等场景。
了解 Sparkplug 解决方案架构详情:基于 EMQX 和 Neuron 的工业物联网 MQTT Sparkplug 解决方案
在本文中,我们将向您展示如何利用 EMQX 和 Neuron 来入门 MQTT Sparkplug,具体步骤如下:
安装 EMQX
配置 EMQX
安装 Neuron
在 Neuron 中配置设备
将 Neuron 连接到 EMQX
在 MQTTX 中查看结果
让我们开始吧!
安装 EMQX
请在您的服务器或机器上下载并安装 EMQX MQTT Broker。EMQX 提供开源版,可从官网免费下载。请访问 https://www.emqx.com/zh/downloads-and-install/broker 并按照文档指引进行操作。
配置 EMQX
安装好 EMQX 后,需要对其进行配置,使其支持 Sparkplug 协议。
在 EMQX 中创建 Schema Registry
单击 Schema Registry 页面中的创建按钮。
在解析类型下拉框选择 protobuf,并使用 Sparkplug schema 填写 Schema 输入框。
在 EMQX 中创建规则
用于解码的 SQL 语句。
SELECT
schema_decode('neuron', payload, 'Payload') as SparkPlugB
FROM
"spBv1.0/group1/DDATA/node1/modbus"
这里的重点是 schema_decode('neuron', payload, 'Payload'):
schema_decode()
根据 Schema 'protobuf_person' 对 payload 字段的内容进行解码。schema_decode()
把解码得到的值赋给变量 “SparkPlugB”。最后一个参数
Payload
指明 payload 里的消息类型是 protobuf schema 里定义的 'Payload' 类型。
接着添加动作,参数如下:
动作类型:消息转发
目标主题:SparkPlugB/test
这个动作把解码得到的 “Payload” 以 JSON 格式发布到 SparkPlugB/test 主题。
安装 Neuron
Neuron 是一个工业物联网平台,可用于收集、存储和分析来自工业设备的数据。您可以从官网下载并安装 Neuron。请访问 https://www.emqx.com/zh/downloads-and-install/neuron 并按照文档指引进行操作。
在 Neuron 中配置设备
Sparkplug 设备的功能和属性由一组数据点来确定。利用 Neuron 平台,您可以将这些数据点分配给特定设备,从而实现对 Sparkplug 设备进行配置。
为设备选择驱动插件模块。
为设备通信设置驱动参数。
创建组并设置轮询间隔。
为组添加标签,并为每个标签设置地址。
将 Neuron 连接到 EMQX
安装好 Neuron 后,需要将其连接到 EMQX Broker。通过配置 Neuron 中的 MQTT 连接设置,可以将其指向 EMQX Broker。
选择北向通信驱动(SparkplugB)。
为 EMQX 连接设置驱动参数。
订阅您感兴趣的组。
在 MQTTX 中查看结果
EMQX 和 Neuron 配置并连接成功后,您就可以发布和订阅 Sparkplug 数据了。您可以利用 Neuron 平台给 Sparkplug 设备发送数据,也可以订阅这些设备的数据。
我们使用 MQTTX 客户端工具来订阅 EMQX 规则引擎的编解码功能解码出来的数据,如下图所示:
结语
通过以上步骤,您就可以利用 EMQX 和 Neuron 入门 MQTT Sparkplug。本文只是一个基础的介绍,您还可以利用更多高级的功能和配置定制您的解决方案。我们强烈建议您进一步探索 EMQX 和 Neuron 的强大功能,以助力您的工业物联网开发。