通博TBET

常见问题
USR-M300 网口接MODBUS TCP连接MQTT服务器Json下发示例
2024-08-02
369


USR-M300 网口接MODBUS TCP连接MQTT服务器Json下发示例

备注:本案例是USR-M300联网,和MQTT服务器建立连接,USR-M300的网口LAN口接网口 MODBUS TCP从机,MQTT服务器JSON下发写从机寄存器地址数据。案例用另一个MQTTfx软件做MQTT客户端下发JSON命令去写寄存器数据。

一、资料下载

USR-M300 说明书:http://www.ybljg.com/Download/1332.html

USR-M300 规格书:http://www.ybljg.com/Download/1333.html

USR-M300 应用指导:http://www.ybljg.com/Download/1369.html

【PC端调试工具】网络调试助手 串口调试助手二合一http://www.ybljg.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、边缘网关:协议转换--Json

(1)点击协议转换,点击Json,开启Json

(2)开启Json之后点击添加

(3)链路选择链路1,发布主题/USR-M300/update,订阅主题/USR-M300/get

(4)点击应用

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连接

六、MQTT服务器JSON下发写数据

1、MQTT服务器JSON下发写寄存器地址0数据666,写寄存器地址1数据888

MQTTfx软件,点击Publish,输入主题/USR-M300/get,发送区发送JSON格式命令,改变MODBUS SLAVE软件的寄存器地址数据。

发送区按照格式输入下发JSON格式命令:

{

"rw_prot": {

"Ver": "1.0.1",

"dir": "down",

"id": "12345",

"r_data": [{

"name": "data1"

},

{

"name": "data2"

}

],

"w_data": [{

"name": "data1",

"value": "666"

},

{

"name": "data2",

"value": "888"

}

]

}

}

2、MQTT服务器JSON下发写寄存器地址数据之后,MQTT服务器收到回复

MQTTfx软件,点击Subscribe,输入主题/USR-M300/update,点击主题后面的Subscribe接收回复数据。

{

"rw_prot": {

"dir": "up",

"Ver": "1.0.1",

"id": "12345",

"w_data": [{

"name": "data1",

"value": "666",

"err": "0"

}, {

"name": "data2",

"value": "888",

"err": "0"

}],

"r_data": [{

"name": "data1",

"value": "666",

"err": "0"

}, {

"name": "data2",

"value": "888",

"err": "0"

}]

}

}

回复JSON格式内容:




编写人:金志方 编写日期:2024-08-02

审核人:金志方 审核日期:2024-08-02

订正版本:V1.0 订正内容:初稿   


上一篇: USR-M300 网口接MODBUS TCP上报到MQTT服务器示例 下一篇: USR-M300 网口接MODBUS TCP连接远程服务器Json下发示例 返回首页
热门推荐
热门标签