USR-M300 网口接MODBUS TCP上报到MQTT服务器示例
备注:本案例是USR-M300联网,和MQTT服务器建立连接,USR-M300的网口LAN口接网口 MODBUS TCP从机,上报数据到MQTT服务器。案例用另一个MQTTfx软件做MQTT客户端接收上报数据。
一、资料下载
USR-M300 说明书:http://www.kewodl.com/Download/1332.html
USR-M300 规格书:http://www.kewodl.com/Download/1333.html
USR-M300 应用指导:http://www.kewodl.com/Download/1369.html
【PC端调试工具】网络调试助手 串口调试助手二合一http://www.kewodl.com/Download/27.html
MODBUS SLAVE软件可以自己百度下载。
MQTTfx软件可以自己百度下载。
二、硬件连接
1、所需物品
USR-M300 产品 1台
12V电源适配器 1个
超五类网线 2根
笔记本电脑 1台
2、硬件连接
USR-M300 接好4G天线,可以内置卡上网,也可以插外置SIM卡上网,也可以WAN口用网线接上级路由器上网。
USR-M300 的LAN口用网线和电脑直连。
电源端子接12V电源适配,注意正负极不要接反。
电脑下载安装MODBUS SLAVE软件模拟USR-M300 LAN口接的MODBUS TCP从机设备。
3、查看电脑获取的IP
打开控制面板,打开网络和Internet,打开网络连接,查看本地有线网卡状态,详细信息。本案例,电脑从USR-M300获取的IP是192.168.1.11,电脑模拟网口MODBUS TCP设备的IP也就是192.168.1.11。
三、产品参数设置
1、登陆USR-M300网页
电脑打开浏览器,输入192.168.1.1,登陆USR-M300内置网页,用户名和密码都是admin。
2、数据点位:添加从机和点位
(1)点开数据点位,在从机一栏,点击添加。
(2)从机名称:device1,采集协议:Modbus TCP,IP填LAN口接的网口MODBUS TCP从机IP:192.168.1.11,端口号填102,从机地址1,点击确定,等设置完所有参数,最后网页重启USR-M300。
(3)从机--点位列表,点击添加
(4)点位名称:data1(和后面上报数据都点位名称保持一致),寄存器功能码04,寄存器地址1(对应实际十进制寄存器地址0),读写状态读写,点击确定。
(5)再添加第二个点位,点位名称:data2(和后面上报数据的点位名称保持一致),寄存器功能码04,寄存器地址1(对应实际十进制寄存器地址0),读写状态读写,点击确定。
(6)添加完,可以列表检查
3、边缘网关:通信链路--链路1--TCP参数设置
(1)点击链路1,打开链路1开关。
(2)在基础设置,
通信协议:MQTT
协议选择:MQTT-3.1.1
服务器地址:填USR-M300 连接的MQTT服务器地址IP
客户ID:自定义填1234567890,避免和其他连接MQTT服务器的客户端ID重复冲突。
远程端口:填USR-M300 连接的MQTT服务器的端口
开启连接验证,填写连接MQTT服务器的用户名和密码,如果MQTT服务器没有用户名和密码,可以不用开启连接验证。
其他参数保持默认。
点击应用。
(3)发布设置
点击发布设置,点击编辑,主题名称填/USR-M300/update
QOS:选择QOS0,点击确定,点击应用。
(4)订阅设置
点击订阅设置,点击编辑,主题名称填/USR-M300/get
QOS:选择QOS0,点击确定,点击应用。
4、边缘网关:数据上报--上报规则--点位表设置
(1)打开边缘网关,点击数据上报,点击创建
(2)基础信息,分组名称test,上行通道链路-1。发布主题/USR-M300/update。上报规则,开启周期上报,上报周期时间设置5S。
上报数据格式,原类型。上报json模板,填:{"node-1":"data1","node-2":"data2"}
data1、data2和前面上报数据的点位名称保持一致。点击确定。(node-1、node-2是寄存器名,可以自定义)
(3)点位表,点击添加
(4)选择从机device1,勾选2个点位,点击确定。
5、最后网页点击重启,等待USR-M300重启完成。
四、MODBUS SLAVE软件设置
1、MODBUS SLAVE软件设置
(1)在电脑上安装Modbus Slave软件,点击Setup
Slave ID:1(从机地址测试用1)
Function: 03(读寄存器功能码)
Address:0(寄存器起始地址用0)
Quantity:2(从起始地址开始寄存器地址数量)
(2)Modbus Slave软件,点击Connection,选择Modbus TCP/IP。选择Port 102,对应USR-M300 添加从机时填写的端口号102。最后点击OK。
五、MQTTfx软件设置
1、打开MQTTfx软件
2、建一个新的配置文件做另一个MQTT客户端
(1)配置文件名自定义用MQTT
(2)服务器地址填和USR-M300连接的同一个MQTT服务器地址
(3)端口填MQTT服务器端口1883
(4)Client ID(客户端ID)可以点击后面的Generate自动创建,注意和USR-M300的客户端ID不要一样,如果相同会冲突。
(5)点击User Credentials,User NAME输入MQTT服务器的用户名,Password输入MQTT服务器的密码。
(6)所有参数设置完成之后,点击Apply应用。
3、MQTT.fx软件选择新建的客户端MQTT,点击Connect连接
六、上报数据测试
1、从机在线
USR-M300网页,点击数据点位,可以看到从机device1状态是在线。在MODBUS SLAVE软件修改寄存器地址0的数据填10,寄存器地址1的数据填20,从机—点位列表,可以看到2个点位的数据,依次对应是10和20。
MODBUS SLAVE软件修改寄存器地址0的数据填10,寄存器地址1的数据填20。
MQTTfx软件,点击Subscribe,输入主题/USR-M300/update,点击主题后面的Subscribe接收回复数据{"node-1":"10","node-2":"20"}。
编写人:金志方 编写日期:2024-08-02
审核人:金志方 审核日期:2024-08-02
订正版本:V1.0 订正内容:初稿