|
使用GPRS至RS485協(xié)議轉換器 實現(xiàn)MQTT至MODBUS轉換
來源:華啟智能
基于GPRS至RS485協(xié)議轉換器MQTT至MODBUS轉換.實現(xiàn)MODBUS-RTU協(xié)議的溫濕度變送器接入網(wǎng)絡平臺。
前段時間有用戶咨詢MODBUS至MQTT協(xié)議轉換,今天就把基于GPRS至RS485協(xié)議轉換器實現(xiàn)MQTT至MODBUS轉換的過程分享一下。
1.準備工作
要實現(xiàn)MQTT至MODBUS轉換要用到的硬件設備有
a.GPRS至RS485協(xié)議轉換器1臺
b.遵循MODBUS協(xié)議的溫濕度變送器1臺
c.DC24V電源1臺
d.連線若干
協(xié)議轉換器和溫濕度變送器連接好后實物圖片如下:

2.用到的軟件準備
a.GPRS至RS485協(xié)議轉換器的配置程序
b.MQTT客戶端測試程序MQTT.fx-1.7.0-windows
c.MQTT客戶端測試程序org.eclipse.paho.mqtt.utility
d.驗證數(shù)據(jù)的Python程序
3.配置協(xié)議轉換的參數(shù)
我們需要使用配套的軟件配置一下參數(shù)便于收發(fā)MDOBUS數(shù)據(jù)和MQTT協(xié)議數(shù)據(jù)。

這里我們使用了Eclipse公共MQTT Broker進行測試,服務器地址iot.eclipse.org,端口使用標準的1883.使用了兩個主題,訂閱了CR120_0571/tx,用來接收其它MQTT客戶端發(fā)送的消息。發(fā)送PUB數(shù)據(jù)到CR120_0571/rx.x,下面我們配置MQTT客戶端參數(shù)的時候要用到這幾個參數(shù)。
4.下載和安裝MQTT客戶端程序
首先從以下地址下載MQTT.fx-1.7.0程序,依據(jù)使用的操作系統(tǒng)下載對應的版本。

下載成功后,雙擊安裝即可。
5.使用MQTT客戶端程序收發(fā)數(shù)據(jù)
打開MQTT-fx程序,并配置MQTT Broker參數(shù),主要是地址,和端口號。

訂閱對應轉換器的主題。

使用MQTT客戶端程序(同時打開MQTT.fx和org.eclipse.paho.mqtt.utility)收發(fā)數(shù)據(jù),GPRS至RS485協(xié)議轉換器聯(lián)網(wǎng)后會主動發(fā)送Pub消息,當沒有MODBUS數(shù)據(jù)是發(fā)送設備名稱。這里顯示的是CR120_0571(十六進制顯示43 52 31 32 30 5F 30 35 37 31).

使用org.eclipse.paho.mqtt.utility發(fā)送溫濕度變送器需要的MODBUS指令(十六進制內(nèi)容:01 03 00 00 00 01 C4 0B),溫濕度會把相應數(shù)據(jù)發(fā)送給轉換器,轉換器發(fā)送Pub消息到服務器。
下面是使用Python程序驗證數(shù)據(jù)收發(fā)的記錄,

這里可以看到溫濕度變送的MODBUS響應數(shù)據(jù)為01 03 04 01 16 01 7c 1a 7a是完全正確的MODBUS數(shù)據(jù),
6.總結
至此使用GPRS至RS485協(xié)議轉換器實現(xiàn)了MQTT至MODBUS轉換。
|