路由器MQTT对接指导
目录
概述
本文主要介绍如何通过MQTT将路由器串口上行透传数据或Modbus主动采集数据转发到外部MQTT平台或服务器。
准备
- 星纵物联UR3x路由器:3.0.7及以上版本
- MQTT服务器
- MQTT客户端软件:MQTT.fx或MQTTX
- 串口工具软件:TCPCOM 和 Modbus Slave
- RS485/232转USB转换器
步骤
1. 接口及管脚定义
UR32:仅支持RS232接口
UR32-485:仅支持RS485接口
UR35:支持1个RS485和1个RS232接口
2. 串口上行透传MQTT转发(不支持下行透传)
- 进入路由器“服务>MQTT”页面,点击添加一条MQTT连接。
- 根据已有的MQTT服务器填写相应连接信息。
- 路由器成功连接MQTT服务器后会显示已连接。
- 进入串口“服务>串口”页面,串口模式选择DTU模式,DTU协议选择MQTT协议。
- 点击增加MQTT连接项。MQTT连接下拉选择步骤1中创建的MQTT连接,设置透传主题后点击保存&应用。本文使用/test作为测试主题。
- 使用MQTT客户端软件连接至同一个MQTT服务器,并订阅路由器的发布主题。
- 路由器串口通过RS485/232转USB转换器连接至电脑,电脑通过串口工具TCPCOM对路由器串口进行数据发送。观察MQTT客户端软件是否收到相同数据信息。格式为 {data:“xxxx”}
3. Modbus主动采集MQTT转发
- 进入路由器“服务>MQTT”页面,点击创建一条MQTT连接,并可以成功连接上内部MQTT服务器。
- 将串口模式设置为Modbus Client后点击保存&应用。
- 进入“服务>Modbus Client”页面,启用Modbus Client功能后,点击保存&应用。
- 进入“Modbus Client>通道”页面,根据所接串口设置对应的采集通道,并在MQTT转发处添加对应转发服务器地址,点击保存。
注意:通道设置后将会根据内容去发送对应的Modbus RTU指令,并将串口回复数据转发出去。
- 将路由器串口通过RS485/RS232转USB转换器接至电脑,通过Modbus Slave工具来模拟串口采集交互流程。
- 将MQTT客户端软件连接至同一MQTT服务器上,订阅对应的topic即可收到路由器的转发数据。转发格式{“通道名称”:主动采集回复数值”}