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

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