USR-M300连接MQTT服务器下发指令控制DO示例
备注:本案例是USR-M300内置卡联网,连接MQTT服务器,JSON下发控制DO1和DO2断开和闭合。
一、资料下载
USR-M300 说明书:https://www.usr.cn/Download/1332.html
USR-M300 规格书:https://www.usr.cn/Download/1333.html
USR-M300 应用指导:https://www.usr.cn/Download/1369.html
【PC端调试工具】网络调试助手 串口调试助手二合一https://www.usr.cn/Download/27.html
MQTTfx软件,可以百度自行下载
二、硬件连接
1、所需物品
USR-M300 产品 1台
12V电源适配器 1个
USB-RS485串口线 1条
超五类网线 1根
笔记本电脑 1台
2、硬件连接
USR-M300 接好4G天线,电源端子接12V电源适配,注意正负极不要接反。
USR-M300 的串口1的485接USB-RS485,A接A,B接B,USB口接电脑USB口。
USR-M300 的LAN口网线直连电脑。
接好线之后,产品接12V电源适配器上电。
3、端口号
点击电脑计算机,右击点击管理,点击设备管理器,点击端口,确认USB-RS485串口线的COM口号是COM10。
三、产品参数设置
1、登陆USR-M300网页
电脑打开浏览器,输入192.168.1.1,登陆USR-M300内置网页,用户名和密码都是admin。
2、数据点位:查看DO点位名
点开数据点位,点击从机下面的Local_IO,在从机-点位列表,查看DO01点位名称是DO01,DO02点位名称是DO02。
3、边缘网关:串口管理--串口01设置
串口01,基础设置,波特率9600,数据位,8,停止位1,校验位NONE。
实际应用,串口参数需要和所接485设备的串口参数一致,如果修改USR-M300串口参数之后,点击应用。
4、边缘网关:通信链路--链路1--MQTT参数设置
(1)点击链路1,打开链路1开关。
(2)基础设置
通信协议:MQTT
协议选择:MQTT-3.1.1
服务器地址:填USR-M300 连接的MQTT服务器地址IP
客户ID:自定义填1234567890,避免和其他连接MQTT服务器的客户端ID重复冲突。
远程端口:填USR-M300 连接的MQTT服务器的端口
其他参数保持默认。
点击应用。
(3)发布设置
点击发布设置,点击编辑,主题名称填/USR-M300/update
QOS:选择QOS0,点击确定,点击应用。
(4)订阅设置
点击订阅设置,点击编辑,主题名称填/USR-M300/get
QOS:选择QOS0,点击确定,点击应用。
5、协议转换设置Json
(1)点击协议转换,点击Json,开启Json
(2)开启Json之后点击添加
(3)链路选择链路1,发布主题/USR-M300/update,订阅主题/USR-M300/get
6、最后网页点击重启,等待USR-M300重启完成。
四、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下发控制DO
登陆USR-M300网页,IO管理,IO状态,可以查看DO01、DO02的状态。
备注:2路DO,3 线制,默认常闭点(NC)闭合,常开点(NO)断开。
1、MQTT服务器JSON下发控制DO断开
(1)MQTT服务器JSON下发控制DO1、DO2断开
MQTTfx软件,点击Publish,输入主题/USR-M300/get,
发送区按照格式输入下发JSON格式命令,写DO01参数1,写DO02参数1,控制DO断开。
{
"rw_prot": {
"Ver": "1.0.1",
"dir": "down",
"id": "12345",
"r_data": [{
"name": "DO01"
},
{
"name": "DO02"
} ] ,
"w_data": [{
"name": "DO01",
"value": "1"
},
{
"name": "DO02",
"value": "1"
} ]
}
}
(2)MQTT服务器JSON下发控制DO1、DO2断开,MQTT服务器收到回复
MQTTfx软件,点击Subscribe,输入主题/USR-M300/update,点击主题后面的Subscribe接收回复数据。
回复JSON格式内容:
{
"rw_prot": {
"dir": "up",
"Ver": "1.0.1",
"id": "12345",
"w_data": [{
"name": "DO01",
"value": "1",
"err": "0"
}, {
"name": "DO02",
"value": "1",
"err": "0"
}],
"r_data": [{
"name": "DO01",
"value": "1",
"err": "0"
}, {
"name": "DO02",
"value": "1",
"err": "0"
}]
}
}
2、MQTT服务器JSON下发控制DO闭合
(1)MQTT服务器JSON下发控制DO1、DO2闭合
MQTTfx软件,点击Publish,输入主题/USR-M300/get,
发送区按照格式输入下发JSON格式命令,写DO01参数0,写DO02参数0,控制DO闭合。
{
"rw_prot": {
"Ver": "1.0.1",
"dir": "down",
"id": "12345",
"r_data": [{
"name": "DO01"
},
{
"name": "DO02"
} ] ,
"w_data": [{
"name": "DO01",
"value": "0"
},
{
"name": "DO02",
"value": "0"
} ]
}
}
(2)MQTT服务器JSON下发控制DO1、DO2闭合,MQTT服务器收到回复
MQTTfx软件,点击Subscribe,输入主题/USR-M300/update,点击主题后面的Subscribe接收回复数据。
回复JSON格式内容:
{
"rw_prot": {
"dir": "up",
"Ver": "1.0.1",
"id": "12345",
"w_data": [{
"name": "DO01",
"value": "0",
"err": "0"
}, {
"name": "DO02",
"value": "0",
"err": "0"
}],
"r_data": [{
"name": "DO01",
"value": "0",
"err": "0"
}, {
"name": "DO02",
"value": "0",
"err": "0"
}]
}
}
编写人:金志方 编写日期:2024-07-17
审核人:金志方 审核日期:2024-07-17
订正版本:V1.0 订正内容:初稿