当前位置: 首页> 汽车> 行情 > ARMxy工控机使用Node-Red教程:实现Modbus转MQTT协议二次开发(8)

ARMxy工控机使用Node-Red教程:实现Modbus转MQTT协议二次开发(8)

时间:2025/7/9 1:36:52来源:https://blog.csdn.net/weixin_49512855/article/details/140935208 浏览次数: 0次
  1. Modbus/TCP与MQTT通信案例

7.1 案例说明

案例功能:使用node-red工具通过Modbus/RTU协议采集M160T IO模块数据,再经过MQTT协议的转换上传到上位机Ubuntu。基于 node-red 部署程序,实现获取 M160T IO 模块数据上传到上位机。

图 98

7.2 案例测试

本案例使用node-red工具、M160T IO模块和上位机Ubuntu通信。请通过网线将设备ETH1、上位机和M160T模块连接至公网,确保可正常访问互联网。

下表提供了可用的在线公共 MQTT 服务器,可根据需要自行切换。

表 1

服务器名称

Broker 地址

TCP 端口

WebSocket

HiveMQ

broker.hivemq.com

1883

8000

Mosquitto

test.mosquitto.org

1883

80

Eclipse

mqtt.eclipseprojects.io

1883

80/443

EMQ X(国内)

Broker-cn.e mqx.io

1883

8083/8084

请按下图所示使用网线连接M160T ETHERNET网口,并将电源连接到DC/IN接口。

图 99

7.2.1 获取从机IP地址及端口号

打开“ MxxxT_E配置软件V1.5.1_t ”软件,执行以下操作查询到M160T设备的IP地址和配置端口号。本次查询到的 IP 地址是 192.168.1.4,端口号配置为502。我司提供的“ MxxxT_E配置软件V1.5.1_t ”软件位于产品资料“ 程序相关\Tools\Windows ”目录下。

图 100

101

找到并双击M160T设备。

图 102

设备默认密码为1234。

图 103

弹出窗口点击确定。

图 104

点击读取配置选项,获取当前设备信息。

图 105

弹出窗口,点击确定。

图 106

选取网络配置选项。

图 107

获取到当前设备IP地址为192.168.1.4,将监听端口配置为502,连接模式选择Modbus TCP模式。

图 108

点击写入配置选项,将配置信息写入设备。

图 109

弹出窗口,提示数据保存成功。

图 110

点击重启设备,重新载入配置。

图 111

图 112

7.2.2 Mosquitto 工具安装

Mosquitto 是一款开源的 MQTT 消息代理(服务器)软件,提供轻量级的、支持可发布/可订阅的的消息推送模式。本文node_mqtt.json案例采用node-red与 Mosquitto 工具演示 MQTT 通信协议的通信功能。由于上位机 Ubuntu系统作为通信对象,因此需在 Ubuntu 终端执行如下命令安装 Mosquitto 工具。

Host# sudo apt-get install mosquitto-clients

图 113

7.2.3 设备发布/上位机订阅

设备启动,执行node-red程序,将上位机登录到node-red部署系统。

使用的依赖模块有:“ node-red-dashboard ”、“ node-red-contrib-modbus ”以及自带的mqtt模块。请参考上方“安装依赖模块”步骤安装上相应依赖模块。

在上位机执行如下命令,使用mosquitto_sub工具订阅MQTT主题。

Host# mosquitto_sub -h broker.hivemq.com -p 1883 -t modbus/data

参数解析:

-h: 指定 MQTT 服务器;

-p: 指定 MQTT 服务器 TCP 端口;

-t: 定义 MQTT 主题,可自定义命名。

图 114

为便于测试,我司提供的经验证的Modbus/TCP与MQTT通信协议为案例“ node-red\node_red_mqtt\ ”目录下的 modbus_mqtt.json 文件。请参考上方“导入节点文件”步骤导入对应节点文件。

导入文件成功后,点击右上角部署按钮,启动程序。

图 115

部署成功后,node-red将通过modbus/tcp协议采集M160T IO模块数据上传到MQTT服务器,上位机将从 MQTT 服务器接收到对应的消息。

图 116

关键字:ARMxy工控机使用Node-Red教程:实现Modbus转MQTT协议二次开发(8)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: