來(lái)源 | 博客園
物聯(lián)網(wǎng) (IoT) 不只是新技術(shù),還是與舊技術(shù)的集成,其關(guān)鍵在于通信??捎玫耐ㄐ欧椒ǜ鞑幌嗤?,各種不同的協(xié)議在將海量 “事物” 連接到互聯(lián)網(wǎng)時(shí)發(fā)揮著重要的作用。
本文介紹了兩種物聯(lián)網(wǎng)補(bǔ)充協(xié)議:用于短距離設(shè)備連接的本地協(xié)議 Modbus 以及支持物聯(lián)網(wǎng)進(jìn)行全局通信的可擴(kuò)展互聯(lián)網(wǎng)協(xié)議 “消息隊(duì)列遙測(cè)傳輸 (MQTT)”。
Modbus 是一個(gè)串行通信協(xié)議,首次出現(xiàn)于 1979 年,是連接行業(yè)設(shè)備實(shí)際使用的標(biāo)準(zhǔn)協(xié)議。MQTT 早在 20 年前便已出現(xiàn),但是將這兩個(gè)協(xié)議結(jié)合在一起使用,能夠?yàn)樯疃惹度胧皆O(shè)備提供物聯(lián)網(wǎng)的規(guī)模和連接性。
圖 1. 物聯(lián)網(wǎng) (IoT) 網(wǎng)關(guān)作為物聯(lián)網(wǎng)通信的支持解決方案 我們來(lái)看一下 Modbus 和 MQTT,以了解其區(qū)別以及如何在物聯(lián)網(wǎng)中互相補(bǔ)充。
1、Modbus
自 1979 年首次出現(xiàn)至今,Modbus 已經(jīng)演變?yōu)橐惶兹娴闹С侄喾N物理鏈接的協(xié)議集(如 RS-485)。Modbus 的核心是一個(gè)串行通信協(xié)議,采用主從模式。主機(jī)向從機(jī)發(fā)送請(qǐng)求,從機(jī)予以回復(fù)。在標(biāo)準(zhǔn) Modbus 網(wǎng)絡(luò)中,有一臺(tái)主機(jī)以及最多 247 臺(tái)從機(jī)(但是,如果采用 2 字節(jié)尋址,則可顯著提高這一界限)。
借助 RS-485,主從機(jī)之間的通信發(fā)生在指示功能碼的幀中。該功能碼可識(shí)別要操作的功能,如讀取獨(dú)立輸入;讀取先進(jìn)先出隊(duì)列;或執(zhí)行診斷函數(shù)。然后,從機(jī)根據(jù)收到的功能碼進(jìn)行響應(yīng),該響應(yīng)較為簡(jiǎn)單,由一組字節(jié)指示。因此,從機(jī)可以是智能設(shè)備,也可以是只有一個(gè)傳感器的簡(jiǎn)單設(shè)備。
從該描述中,您可以看到 Modbus 協(xié)議非常簡(jiǎn)單,但是其作為協(xié)議的開放性使其成為整個(gè)行業(yè)或 SCADA 系統(tǒng)的實(shí)際通信協(xié)議。
2、消息隊(duì)列遙測(cè)傳輸
MQTT 是一個(gè)開放的輕量級(jí)機(jī)器對(duì)機(jī)器協(xié)議,專為物聯(lián)網(wǎng)交互設(shè)計(jì)。MQTT 網(wǎng)絡(luò)包含一個(gè) MQTT 經(jīng)紀(jì)人 (broker),負(fù)責(zé)協(xié)調(diào) MQTT 代理之間的交互。代理是發(fā)布器,負(fù)責(zé)發(fā)布供用戶使用的信息(參見圖 2)。
圖 2. 消息隊(duì)列遙測(cè)傳輸網(wǎng)絡(luò)中的作用因素
MQTT 的要求非常少,因?yàn)樗鼘橘Y源有限的嵌入式設(shè)備設(shè)計(jì)。除了占地空間少之外,MQTT 還可提供出色的通信高效性(即使通過低帶寬網(wǎng)絡(luò)進(jìn)行通信)和非常少的開銷(較之 HTTP 等協(xié)議)。在 3G 網(wǎng)絡(luò)中,MQTT 的吞吐量速度是使用 HTTP 的表述性狀態(tài)轉(zhuǎn)移 (REST) 的 93 倍。
MQTT 可使用最少的方法指示要在特定主題上實(shí)施的操作,進(jìn)而實(shí)施發(fā)布 / 訂閱模式。代理先連接到經(jīng)紀(jì)人,然后再發(fā)布或訂閱主題。完成后,代理將從經(jīng)紀(jì)人上斷開連接。MQTT 方法定義:
連接 - 建立與 MQTT 經(jīng)紀(jì)人之間的連接。
斷開連接 - 斷開與 MQTT 經(jīng)紀(jì)人之間的連接。
發(fā)布 - 在 MQTT 經(jīng)紀(jì)人上發(fā)布主題。
訂閱 - 從 MQTT 經(jīng)紀(jì)人上訂閱主題。
退訂 - 從 MQTT 經(jīng)紀(jì)人上退訂主題。
圖 3 展示了發(fā)布者與訂閱者使用 MQTT 經(jīng)紀(jì)人進(jìn)行的簡(jiǎn)單交互。如圖所示,信息創(chuàng)建者 (producer) 連接至 MQTT 經(jīng)紀(jì)人。同樣,信息消費(fèi)者 (consumer) 連接至 MQTT 經(jīng)紀(jì)人。消費(fèi)者訂閱主題(此處定義為 /home/alarms/1/status)。本示例主題可識(shí)別主頁(yè)上針對(duì)區(qū)域 1 的警報(bào)系統(tǒng)的狀態(tài)變化。當(dāng)創(chuàng)建者有信息要分享時(shí),它會(huì)向經(jīng)紀(jì)人發(fā)布一條消息,然后經(jīng)紀(jì)人將會(huì)將信息分享給所有訂閱該主題的用戶。
圖 3. 消息隊(duì)列遙測(cè)傳輸代理之間的簡(jiǎn)單交互
請(qǐng)注意此處分享的主題結(jié)構(gòu)。它與文件系統(tǒng)層次結(jié)構(gòu)相似,這可簡(jiǎn)化主題的結(jié)構(gòu)。這種資源層次形式也常見于協(xié)議架構(gòu)中,如 REST。
MQTT 甚至允許使用通配符的形式,以簡(jiǎn)化訂閱流程。如果用戶想要獲取所有警報(bào)的狀態(tài),則可直接訂閱 /home/alarms/+/status,該主題可通知用戶所有的警報(bào)狀態(tài)變化。整個(gè)子樹還可使用主題 /home/# 進(jìn)行訂閱,該主題可以訂閱 /home 下的所有事件。
2.1 服務(wù)質(zhì)量
MQTT 允許定義服務(wù)質(zhì)量 (QoS)。MQTT 中有三個(gè)等級(jí)的 QoS:
QoS 0。該等級(jí)表示 “最多一次” 交付(最佳狀況)。消息不會(huì)得到確認(rèn),因而,這是一種一勞永與的方法。
QoS 1。該等級(jí)表示 “至少一次” 交付。用戶可能不止一次獲得消息,但是允許收到的人確認(rèn)已經(jīng)收到。
QoS 2。最慢但是最有保障的服務(wù)質(zhì)量等級(jí)即為等級(jí) 2。QoS 2 表示 “只有一次”,并包含四個(gè)階段的交付握手。該等級(jí)最慢,但是最安全。
您選擇的 QoS 等級(jí)將取決于數(shù)據(jù)及其交付的重要性。
2.2 消息隊(duì)列遙測(cè)傳輸經(jīng)紀(jì)人
隨著越來(lái)越多的物聯(lián)網(wǎng)采用 MQTT 作為支持協(xié)議,您將會(huì)發(fā)現(xiàn)許多開源應(yīng)用和產(chǎn)品中出現(xiàn)了 MQTT。英特爾 物聯(lián)網(wǎng)網(wǎng)關(guān)解決方案則是其中一款采用 MQTT 的全面物聯(lián)網(wǎng)解決方案。
該系列產(chǎn)品支持傳感器、設(shè)備和云之間安全交互。這些預(yù)驗(yàn)證的應(yīng)用就緒型平臺(tái)支持出色的可管理性、安全性和多種連接選項(xiàng),如 ZigBee*、蜂窩網(wǎng)絡(luò)、藍(lán)牙、USB、Wi-Fi,當(dāng)然還有 MQTT 和 Modbus 等協(xié)議。
英特爾根據(jù)市場(chǎng)需求提供了三個(gè)版本的英特爾 物聯(lián)網(wǎng)網(wǎng)關(guān),分別包含不同的輸入 / 輸出選項(xiàng),并針對(duì)工業(yè)和能源、交通運(yùn)輸以及綜合產(chǎn)業(yè)等不同領(lǐng)域。雖有不同之處,但它們無(wú)一例外都包括通用的可管理性和供應(yīng)、數(shù)據(jù)和端點(diǎn)安全性以及運(yùn)行時(shí)環(huán)境。它們分別運(yùn)行在安全且穩(wěn)定的 Wind River* Linux* 上。
英特爾 物聯(lián)網(wǎng)網(wǎng)關(guān)的主要優(yōu)勢(shì)是 McAfee 嵌入式控制安全技術(shù)。McAfee 嵌入式控制可根據(jù)策略處理設(shè)備變化,同時(shí)能夠追蹤所有變化,提供完整的可視性和可說明性,以便進(jìn)行持續(xù)的審計(jì)跟蹤。
總結(jié)
MQTT 和 Modbus 能夠互相補(bǔ)充提高物聯(lián)網(wǎng)的性能。使用 Modbus 作為本地接口來(lái)管理設(shè)備,使用 MQTT 作為全局協(xié)議來(lái)擴(kuò)展設(shè)備的范圍,二者都起到了重要的作用。英特爾 物聯(lián)網(wǎng)網(wǎng)關(guān)可為現(xiàn)在以及未來(lái)構(gòu)建物聯(lián)網(wǎng)提供一個(gè)簡(jiǎn)單、安全的方式。
審核編輯:湯梓紅
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
840瀏覽量
40215 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44062瀏覽量
370225 -
MODBUS
+關(guān)注
關(guān)注
28文章
1757瀏覽量
76760 -
MQTT
+關(guān)注
關(guān)注
5文章
647瀏覽量
22392
原文標(biāo)題:MQTT 和 Modbus 協(xié)議對(duì)比
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論