當前位置: 華文問答 > 家居

物聯網中的智能閘道器,如何能夠實作,能否給一個思路?

2019-02-19家居

傳統的串口伺服器采集Modbus RTU數據的方法是:使用者伺服器發送Modbus指令,經過串口伺服器將查詢指令轉發到串口器材,串口器材的應答數據再經過串口伺服器將數據上傳到使用者伺服器。當使用者需要采集的器材點數很多時,使用者伺服器每次都要發查詢指令才能獲取數據,會大大增加伺服器處理數據的壓力,不利於系統的穩定。

采集Modbus RTU數據傳統方案

為了緩解使用者伺服器處理數據的壓力,智嵌物聯順勢推出了支持Modbus主動輪詢功能的閘道器型串口伺服器。

啟用Modbus主動輪詢功能功能後,器材會按照使用者事先設定的ModBus指令輪詢串口器材,並將串口器材的應答數據保存到緩存裏。定時主動將緩存中的所有數據一次性上傳到設定好的網絡通道上。使用者伺服器只需要接收數據,不需要再下發查詢指令,可極大的緩解伺服器的壓力。

上報雲伺服器的數據格式可以選擇:支持Modbus RTU、Modbus TCP、JSON帶器材ID、JSON自訂、阿裏雲ALINK等。開發雲伺服器套用的工程師可以選擇自己熟悉的數據格式,方便工程師開發。

Modbus主動輪詢原理
智嵌物聯閘道器型串口伺服器配置方法

輪詢介面 :輪詢介面可以選擇器材的8個串口通道PORT1~PORT2(U1~U8)、24個網絡通道(N1~N24),每個輪詢介面之間相互獨立。可以輪詢Modbus RTU協定,也可以輪詢Modbus TCP協定。

數據類別 :支持BYTE、整型(16bit)、整形(32bit高在前)、整形(32bit高在後)、浮點型(高在前)、浮點型(高在後)。使用者根據實際情況選擇合適的數據類別。

JSON名:JSON名支持自訂,最大支持32個字元。

kx+b :器材可對輪詢的數據進行簡單的線性計算。比如k設定為0.01,b設定為0,則將數據縮小100倍後,上傳到伺服器。

緊急數據 :對於非常重要且即時性要求比較高的寄存器數據,使用者可將該數據設定為緊急數據,並將變化上傳條件設定為緊急數據變化上傳,則該數據一旦變化,就會立即上傳,輪詢間隔時間對此無效。設定0,則該數據為非緊急數據,設定1,則該數據為緊急數據。

輪詢間隔 :每個數據通道所有設定的指令,全部輪詢完之後,等待該輪詢間隔時間後,才會進行下一輪的指令輪詢。輪詢間隔時間設定的越小,數據的即時性也就越高。

超時時間 :當輪詢指令發出後,從站器材沒有應答,閘道器器材需要等待該超時時間後,才會輪詢下一條指令。

超時處理 :當輪詢指令發出後,沒有收到從站器材的應答,此時上報的數據可以設定為上一次輪詢的數據(超時無變化)、設定為FF(超時清FF)、設定為00(超時清00)。

指令延時 :同一個數據通道中,每條輪詢指令之間的時間間隔。不同的數據通道之間是獨立的,可以並行輪詢。

對映地址 :將所有數據通道的輪詢的從站地址,設定為該對映地址,預設128。當上傳格式選擇Modbus RTU或Modbus TCP格式上傳時,則會按對映地址上傳。伺服器下發設定指令,也是按照對映地址下發。

定時上傳 :數據上傳伺服器的時間間隔,單位毫秒。如設定5000ms,則器材會每隔5秒將數據上傳到指定的伺服器。

變化上傳 :若某個輪詢數據對使用者比較重要,可將該數據設定為緊急數據,並啟用變化上傳,這樣閘道器器材會將本次輪詢的數據與上一次的數據做比較,若有變化,則立即上傳伺服器,不需等待定時上傳設定的時間間隔。

上傳格式 :數據上傳格式支持Modbus RTU、Modbus TCP、JSON帶器材ID、JSON自訂、阿裏雲ALINK等。

JSON自訂格式說明:

"id":%id:器材的唯一識別元,可在配置軟件中的器材資訊中檢視,適用於基於器材辨識的套用。

"imei":%imei:器材內的4G模組的唯一辨識碼。

"iccid":%iccid :SIM卡的唯一辨識碼,適用於基於SIM卡辨識的套用。

"time":%t:時間戳。

%d:輪詢的數據。

如設定為:{"id":%id,"imei":%imei,"iccid":%iccid,"time":%t,%d}

則上報的數據為:{"id":e461211757372e32,"imei":,"iccid":,"time":2022-03-03 17:13:15,"k0":0,"k1":0}

數據上傳到 :可將數據上傳到多個網絡通道或串口通道,透過配置軟件勾選即可。