RS485轉LoRaWAN數據采集器,顧名思義,其是工業常用的RS485接口的傳感器與LoRaWAN網絡之間的橋梁。受限于工業上的傳感器設置的位置,RS485轉LoRaWAN數據采集器安裝的位置有可能不太方便于現場調試,因此,遠程下發指令就顯得很重要。
另外,設置輪詢指令的作用在于,我們可以使得傳感器定時輪詢,而無需每次都從SERVER下發指令,從而可以大大降低網絡擁塞的可能性。本文基于RAK瑞科慧聯的數據采集器RAK7421,介紹如何通過MQTT工具來遠程下發輪詢指令給到RAK7421。希望了解什么是RS485轉LoRaWAN數據采集器的,可以參見文章《RS485轉LoRaWAN:工業應用場景無線組網的正確打開方式》。
遠程下發輪詢指令的類型
通過MQTT工具來遠程下發輪詢指令給到RAK7421,總共包括三種輪詢指令:(a)增加定時輪詢任務單消息(b)移除定時輪詢任務單(c)讀取定時輪詢任務單。接下來我們將對這三種輪詢指令進行具體介紹。mqtt下發指令給RAK7421,需要通過LoRaWAN網關來下發。
因此,為了能夠利用MQTT工具來遠程下發輪詢指令到RAK7421,我們需要首先登陸RAK瑞科慧聯提供的網關的用戶界面,如圖1所示,并通過以下路徑:LoRa Network sever->Application->Edit->Integrations,來修改數據編碼類型到HEX String。

修改完成后,我們就可以利用MQTT工具來下發指令給到RAK7421。希望了解更多的MQTT功能在LoRaWAN網關上的應用,還可以查看文章《如何在LoRaWAN網關的網頁上設置MQTT的訂閱的Topic》、《如何測試LoRa節點內置MQTT SERVER的數據傳輸是否正常》。
下圖RAK7421節點添加定時輪詢溫濕度傳感器任務單的示例圖。

圖2 ???RAK7421節點添加定時輪詢溫濕度傳感器任務單示例
如圖2所示,發布主題:Application/1/device/60c5a8fffe76ddc1/tx(注:Application ID和Device EUI與網關內的設置一致)
內容:
{
"comfirmed":true,
"fPort":129,
"data":"030001000901010300000002C40B"
}
任務單內容解釋:
03?0001?0009?01?010300000002C40B
①??② ??③?④????????⑤
①?DTU命令字CMD
②?消息序號
③?消息長度(不含報文頭)
④?任務單ID
⑤?任務單內容
如圖3所示,MQTT訂閱欄即可看到執行成功的上行消息“8300010000”,隨后開始輪詢并接收到的傳感器溫濕度信息。

移除定時輪詢任務單
RAK7421節點移除定時輪詢溫濕度傳感器任務單示例如圖所示。

發布主題:Application/1/device/60c5a8fffe76ddc1/tx
內容:
{
"comfirmed":true,
"fPort":129,
"data":"040001000101"
}
MQTT訂閱欄查看到執行成功的上行消息“8400010000”,即表示任務移除成功。
讀取定時輪詢任務單
RAK7421節點讀取定時輪詢溫濕度傳感器任務單示例如圖所示。?

圖5 ?RAK7421節點讀取定時輪詢溫濕度傳感器任務單示例
發布主題;Application/1/device/60c5a8fffe76ddc1/tx
內容:
{
"comfirmed":true,
"fPort":129,
"data":"050001000101"
}
打開MQTT訂閱欄即可看到執行成功的上行消息:“850001000901010300000002C40B”,即查詢到的任務單ID為1,任務單內容為010300000002C40B(溫濕度感應器輪詢單)。
本文基于RAK瑞科慧聯的數據采集器RAK7421,介紹了如何通過MQTT工具來遠程下發輪詢指令給到RAK7421。通過設置輪詢指令,我們可以使得傳感器定時輪詢,而無需每次都從SERVER下發指令,從而可以大大降低網絡擁塞的可能性。
fqj
電子發燒友App



































































評論