产品
有人云 — 物联网云平台 零编程,组态拖拽即可实现远程监控。同时支持私有部署,拥有属于自己的软硬件一体化方案
200
+
私有云项目
数据本地化
业务个性化
10
+
万 公有云注册用户
80%公有云功能免费
付费VIP享自定义品牌服务
有人云官网
有人智造 — ODM/EMS 依托自动化、智能化、柔性化、透明化的智能工厂,
提供代研、代料、代工一站式OEM/ODM服务
有人智造官网
有人智能 — 解决方案 打包提供云、管、边、端整体解决方案
从问题诊断、方案设计,到实施落地、系统运维
有人智能官网
支持中心
USR-G771(轻边缘)连接MQTT服务器Json组包上报示例
2024-07-02



USR-G771(轻边缘)连接MQTT服务器Json组包上报示例


一、资料下载

USR-G771&G780s使用说明书(轻边缘)链接:https://www.usr.cn/Download/1435.html

USR-G771&G780s标准AT指令集(轻边缘)链接:https://www.usr.cn/Download/1437.html

USR-CAT1 设置软件(轻边缘)链接:https://www.usr.cn/Download/1438.html

MQTTfx软件可以百度自行下载

MODBUS SLAVE软件可以百度自行下载

二、硬件连接

1、所需物品

USR-G771 产品 1台

12V电源适配器 1个

USB-RS485串口线 1条

笔记本电脑 1台

2、硬件连接

USR-G771 的485串口接USB-RS485串口线到电脑USB口,然后产品接12V电源适配器上电。

电脑下载并打开 USR-CAT1 设置软件(轻边缘),安装MODBUS SLAVE软件、MQTTfx软件。

3、查看端口号

电脑鼠标点击计算机管理,右击,点开设备管理器,点击端口,查看接USR-G771的USB-RS485串口线COM口号,COM10。

三、USR-G771参数设置

1、打开USR-G771的设置软件

2、点击进入配置状态

3、点击获取当前参数,查询固件版本号

备注:固件VER:V2.4.01.000000.0000及以上版本支持Modbus轮询。

4、配置通道一参数

通道一:

工作模式:MQTT模式

MQTTClient连接:勾选通用MQTT

服务器地址和端口:填写要连接的MQTT服务器地址和端口

用户名和密码:填写要连接的MQTT服务器的用户名和密码

客户端ID:设置不要和MQTTfx及其他MQTT客户端一样。这里自定义写了1234567890。

MQTT串口传输模式设置:透传模式

订阅主题:勾选主题1,设置/USR-G771/get

推送主题:勾选主题1,设置/USR-G771/update

5、配置MODBUS轮询采集参数

MODBUS轮询采集:

启动Modbus轮询:勾选

轮询上报方式:选择JSON组包上报

Modbus轮询采集点位配置界面:添加3个变量。

No1 变量名1,从机地址1,功能码(保持寄存器功能码03),寄存器地址0,数据类型16位无符号,倍率1,上报方式(直接上报)

No1 变量名2,从机地址1,功能码(保持寄存器功能码03),寄存器地址1,数据类型16位无符号,倍率1,上报方式(直接上报)

No1 变量名1,从机地址1,功能码(保持寄存器功能码03),寄存器地址2,数据类型16位无符号,倍率1,上报方式(直接上报)

备注:

(1)这里添加的从机寄存器地址和变量,需要和MODBUS SLAVE模拟的串口从机寄存器地址和变量保持一致。

(2)使用JSON下发命令,里面的变量名需要和这里的变量名一一对应。

6、点击设置并保存所有参数

四、MQTTfx参数设置

1、打开MQTTfx软件

2、建一个新的配置文件做另一个MQTT客户端

(1)配置文件名自定义用MQTT

(2)服务器地址填和USR-G771连接的同一个MQTT服务器地址

(3)端口填MQTT服务器端口1883

(4)Client ID(客户端ID)可以点击后面的Generate自动创建,注意和USR-G771的客户端ID不要一样,如果相同会冲突。

(5)点击User Credentials,User NAME输入MQTT服务器的用户名,Password输入MQTT服务器的密码。

(6)所有参数设置完成之后,点击Apply应用。

3、MQTT.fx软件选择新建的客户端MQTT,点击Connect连接

五、通讯测试

1、MODBUS SLAVE软件设置

(1)点击Setup,Slave ID从机地址用1,Function功能码用03,Address寄存器起始地址用0,Quantity寄存器地址数量用3。

就是模拟从机地址1,采集3个寄存器地址0、地址1、地址2的数据。

(2)点击Connection,选择串口,对应USR-G771所接USB-RS485串口线的COM口号,串口参数和USR-G771串口参数保持一致。 Mode选择RTU,模拟MODBUS RTU协议串口。

(3)寄存器地址0填数据10,寄存器地址1填数据20,寄存器地址3填数据30。

2、Json组包上报,MQTT.fx软件订阅

网关会按照设定的轮询规则,主动采集从机的数据,并以JSON格式上报数据给MQTT服务器。需要接收数据的MQTT客户端订阅联网模块的发布主题就能收到设备的上报信息。

(1)MQTT.fx软件点击Subscribe,输入/USR-G771/update,点击后面的Subscribe。

(2)点击MQTT.fx软件的每一条/USR-G771/update,可以看到每一条JSON上报信息。

采集寄存器地址0数据10,寄存器地址1数据20,寄存器地址2数据30。

{"params":{"dir":"up","id":"00601924061200038538","r_data":[{"name":"1","value":"10","err":"0"},{"name":"2","value":"20","err":"0"},{"name":"3","value":"30","err":"0"}]}}

3、MQTT.fx软件推送,Json下发命令

MQTT服务器可以往联网模块订阅的主题发送命令来实现交互,例如往从机写数据。可以看到slave从机收到指令进行了回复,同时参数发生了改变。

(1)Json下发命令如下,去修改从机1,寄存器地址0的数据更新100,寄存器地址1的数据更新200,寄存器地址3的数据更新300。

{

"rw_prot": {

"Ver": "1.0.1",

"dir": "down",

"id": "00601924061200038538",

"r_data": [{

"name": "1"

},

{

"name": "2"

},

{

"name": "3"

} ] ,

"w_data": [{

"name": "1",

"value": "100"

},

{

"name": "2",

"value": "200"

},

{

"name": "3",

"value": "300"

} ]

}

}

(2)MQTT.fx软件点击Publish,输入/USR-G771/get,在下面的发送框输入Json下发命令,点击Publish发送给USR-G771串口,往从机写数据。可以看到slave从机收到指令进行了回复,同时参数发生了改变。寄存器地址0写数据100,寄存器地址1写数据200,寄存器地址2写数据300。

(3)更新后的数据,再上报采集。寄存器地址0写数据100,寄存器地址1写数据200,寄存器地址2写数据300。

4、使用JSON下发命令,

id是信息ID号,由服务器下发,设备回复保持一致即可。如服务器不下发, 则忽略。上报中,默认采用设备SN作为ID。





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

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

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


工作日每天: 14:00~17:00
抖音、天猫 "有人旗舰店"

关注有人微信公众号
了解更多信息