使用MQTT协议实现VISION如何与Node-red数据双向通信
1.Node-red启用MQTT Broker
启用MQTT Broker服务,用户名和密码可以按需设置。本示例设置为:用户名:admin,密码:123456。因为是本机通信,MQTT Client在配置服务器地址时请填:127.0.0.1。
如果没有MQTT Broker节点,请自行搜索“aedes"并安装。
2.Node-red发布消息
发布消息,即将Node-red采集到的数据,通过MQTT发送给VISION。本示例每隔1秒将DI1、DI2、DO1、DO2的状态值发布到对应的Topic:/test/up/[DI1][DI2][DO1][DO2]。
注意:本示例中,一个数据点发布到一个单独的Topic。用户也可以根据实际情况,将所有数据以Json格式打包后发布到同一个Topic。
3.Node-red订阅消息
订阅消息,即接收来自VISION组态发送的控制消息并响应。本示例接收DO1、DO2的控制命令。
注意:控制命令,必须一个数据点对应一个Topic!
至此,Node-red已经设置完成!
4VISION创建MQTT设备
VISION选择MQTT协议,填好MQTT参数,如果连接正常,左下角会有绿色指示灯常亮。
5VISION订阅消息
VISION订阅消息,即接收来自Node-red发布的消息。
点击搜索按钮,可以查看到当前可用的Topic。 如图所示,Node-red发布了4个数据点对应了4个主题,可以直接选择添加。
6VISION发布消息
VISION发布消息,即向Node-red发送控制命令。
至此,使用MQTT通信的数据标签已经建立完成,接下来只需将控件和数据标签绑定即可使用
效果演示:
延伸
发布主题标签添加向有效荷载添加属性详细说明:
选择原始时:
1、有效荷载类型选标签,使用控件往该主题下发数据时,格式为:所选标签的值
2、有效荷载类型选时间戳,使用控件往该主题下发数据时,格式为:时间戳
(如2024-08-29T09:09:31.817Z
3、有效荷载类型选值(主题),使用控件往该主题下发数据时,格式为:控件传输值
4、有效荷载类型选择静态,使用控件往该主题下发数据时,格式为:静态设定值
选择json时:
1、有效荷载类型选标签,键设置A,使用控件往该主题下发数据时,格式为:{A:所选标签的值}
2、有效荷载类型选时间戳,键设置A,使用控件往该主题下发数据时,格式为:{A:2024-08-29T09:09:31.817Z}
3、有效荷载类型选值(主题),键设置A,使用控件往该主题下发数据时,{A:控件传输值}
4、有效荷载类型选择静态,键设置A,使用控件往该主题下发数据时,{A:静态设定值}、