發(fā)布時(shí)間: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)時(shí)發(fā)揮著重要作用。
IoT中的常用協(xié)議
MQTT
MQTT全稱消息隊(duì)列遙測(cè)傳輸(Message Queue Transfering Transport),是一種輕量級(jí),可擴(kuò)展的互聯(lián)網(wǎng)協(xié)議,可用于支持物聯(lián)網(wǎng)全局通信。MQTT專為物聯(lián)網(wǎng)交互設(shè)計(jì),通信對(duì)設(shè)備的資源要求低,保證了通信的高效性(支持低帶寬網(wǎng)絡(luò))。和HTTP等協(xié)議相比,其網(wǎng)絡(luò)開銷非常小。同時(shí),MQTT允許定義服務(wù)質(zhì)量,分為最多一次發(fā)送(QoS 0),至少一次發(fā)送(QoS 1)和只有一次發(fā)送(QoS 2)三個(gè)等級(jí),通信質(zhì)量由低到高,資源占用由少至多。MQTT網(wǎng)絡(luò)由發(fā)布者(Publisher),代理(Broker)以及訂閱者(Subscriber)三者構(gòu)成,如圖。

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