發布時間:2022-11-25
閱讀量:108次
IoT網關協議比較:MQTT,ModBus/MBus協議介紹
物聯網(IoT,或者說工業互聯網)的基礎在于設備之間的通信,通信協議在將海量設備連接到互聯網時發揮著重要作用。
IoT中的常用協議
MQTT
MQTT全稱消息隊列遙測傳輸(Message Queue Transfering Transport),是一種輕量級,可擴展的互聯網協議,可用于支持物聯網全局通信。MQTT專為物聯網交互設計,通信對設備的資源要求低,保證了通信的高效性(支持低帶寬網絡)。和HTTP等協議相比,其網絡開銷非常小。同時,MQTT允許定義服務質量,分為最多一次發送(QoS 0),至少一次發送(QoS 1)和只有一次發送(QoS 2)三個等級,通信質量由低到高,資源占用由少至多。MQTT網絡由發布者(Publisher),代理(Broker)以及訂閱者(Subscriber)三者構成,如圖。

MQTT
消息隊列遙測傳輸(MQTT)是一種開源協議,針對受限設備和低帶寬,高延遲或不可靠網絡而開發和優化。它是一種發布/訂閱消息傳輸,非常輕量級,非常適合以較小的帶寬將小型設備連接到網絡。MQTT具有帶寬效率、與數據無關,并且具有連續的會話感知,因為它使用TCP。它旨在最大限度地減少設備資源需求,同時還試圖確保可靠性和一定程度的服務等級交付保證。
MQTT針對需要從Internet上的后端服務器進行監視或控制的大型小型設備網絡。它不是為設備到設備傳輸而設計的,也不是為了將數據“多播”到許多接收器而設計的。MQTT很簡單,幾乎沒有控制選項。使用MQTT的應用程序通常很慢,因為在這種情況下“實時”的定義通常以秒為單位進行測量。
MQTT常用網絡結構
客戶端通過代理向服務端訂閱消息主題。當服務端發布消息時,代理將該消息發送給訂閱此主題的客戶端。
ModBus/MBus
Modbus核心是一個串行通信協議,采用主從模式,主機向從機請求數據,是短距離連接行業設備的標準協議。標準Modbus最多支持247臺從機(采用2字節尋址,可提高從機數量)。經過四十年發展,Modbus已經演變為支持多種物理鏈接的協議集(如RS-485)。借助RS-485,主從機之間的通信發生在指示功能碼的幀中。該功能碼指示要操作的功能:讀取輸入/隊列 或執行診斷函數,從機根據功能碼進行響應。Modbus協議非常簡單,其開放性使其成為整個行業或SCADA系統的實際通信協議。
