概述
本文主要介紹如何通過MQTT將路由器串口上行透?jìng)鲾?shù)據(jù)或Modbus主動(dòng)采集數(shù)據(jù)轉(zhuǎn)發(fā)到外部MQTT平臺(tái)或服務(wù)器。
準(zhǔn)備
- 星縱物聯(lián)UR3x路由器:3.0.7及以上版本
- MQTT服務(wù)器
- MQTT客戶端軟件:MQTT.fx或MQTTX
- 串口工具軟件:TCPCOM 和 Modbus Slave
- RS485/232轉(zhuǎn)USB轉(zhuǎn)換器
步驟
1. 接口及管腳定義
UR32:僅支持RS232接口
UR32-485:僅支持RS485接口

UR35:支持1個(gè)RS485和1個(gè)RS232接口

2. 串口上行透?jìng)鱉QTT轉(zhuǎn)發(fā)(不支持下行透?jìng)鳎?/b>
- 進(jìn)入路由器“服務(wù)>MQTT”頁(yè)面,點(diǎn)擊
添加一條MQTT連接。

- 根據(jù)已有的MQTT服務(wù)器填寫相應(yīng)連接信息。

- 路由器成功連接MQTT服務(wù)器后會(huì)顯示已連接。

- 進(jìn)入串口“服務(wù)>串口”頁(yè)面,串口模式選擇DTU模式,DTU協(xié)議選擇MQTT協(xié)議。

- 點(diǎn)擊
增加MQTT連接項(xiàng)。MQTT連接下拉選擇步驟1中創(chuàng)建的MQTT連接,設(shè)置透?jìng)髦黝}后點(diǎn)擊保存&應(yīng)用。本文使用/test作為測(cè)試主題。

- 使用MQTT客戶端軟件連接至同一個(gè)MQTT服務(wù)器,并訂閱路由器的發(fā)布主題。

- 路由器串口通過RS485/232轉(zhuǎn)USB轉(zhuǎn)換器連接至電腦,電腦通過串口工具TCPCOM對(duì)路由器串口進(jìn)行數(shù)據(jù)發(fā)送。觀察MQTT客戶端軟件是否收到相同數(shù)據(jù)信息。格式為 {data:“xxxx”}


3. Modbus主動(dòng)采集MQTT轉(zhuǎn)發(fā)
- 進(jìn)入路由器“服務(wù)>MQTT”頁(yè)面,點(diǎn)擊
創(chuàng)建一條MQTT連接,并可以成功連接上內(nèi)部MQTT服務(wù)器。

- 將串口模式設(shè)置為Modbus Client后點(diǎn)擊保存&應(yīng)用。

- 進(jìn)入“服務(wù)>Modbus Client”頁(yè)面,啟用Modbus Client功能后,點(diǎn)擊保存&應(yīng)用。

- 進(jìn)入“Modbus Client>通道”頁(yè)面,根據(jù)所接串口設(shè)置對(duì)應(yīng)的采集通道,并在MQTT轉(zhuǎn)發(fā)處添加對(duì)應(yīng)轉(zhuǎn)發(fā)服務(wù)器地址,點(diǎn)擊保存。
注意:通道設(shè)置后將會(huì)根據(jù)內(nèi)容去發(fā)送對(duì)應(yīng)的Modbus RTU指令,并將串口回復(fù)數(shù)據(jù)轉(zhuǎn)發(fā)出去。

- 將路由器串口通過RS485/RS232轉(zhuǎn)USB轉(zhuǎn)換器接至電腦,通過Modbus Slave工具來模擬串口采集交互流程。

- 將MQTT客戶端軟件連接至同一MQTT服務(wù)器上,訂閱對(duì)應(yīng)的topic即可收到路由器的轉(zhuǎn)發(fā)數(shù)據(jù)。轉(zhuǎn)發(fā)格式{“通道名稱”:主動(dòng)采集回復(fù)數(shù)值”}
