技術(shù)
導(dǎo)讀:MQTT是一種機(jī)器對(duì)機(jī)器(M2M)協(xié)議。它是一種基于發(fā)布 - 訂閱的消息傳輸協(xié)議,用于將設(shè)備數(shù)據(jù)傳送到服務(wù)器。MQTT的主要目的是遠(yuǎn)程管理物聯(lián)網(wǎng)設(shè)備。它主要用于需要通過互聯(lián)網(wǎng)監(jiān)控或管理龐大的小型設(shè)備網(wǎng)絡(luò),即停車傳感器,水下線路,能源網(wǎng)絡(luò)等。
物聯(lián)網(wǎng)設(shè)備在不同層使用不同的通信和消息傳遞協(xié)議。在開發(fā)IoT設(shè)備時(shí),設(shè)備要執(zhí)行的類型,層和功能往往決定了最終的選擇。MQTT,XMPP,DDS,AMQP和CoAP是IoT應(yīng)用層中廣泛使用的一些通信協(xié)議。今天,小隱帶大家了解這幾個(gè)通信協(xié)議的優(yōu)缺點(diǎn)。
MQTT
MQTT是一種機(jī)器對(duì)機(jī)器(M2M)協(xié)議。它是一種基于發(fā)布 - 訂閱的消息傳輸協(xié)議,用于將設(shè)備數(shù)據(jù)傳送到服務(wù)器。MQTT的主要目的是遠(yuǎn)程管理物聯(lián)網(wǎng)設(shè)備。它主要用于需要通過互聯(lián)網(wǎng)監(jiān)控或管理龐大的小型設(shè)備網(wǎng)絡(luò),即停車傳感器,水下線路,能源網(wǎng)絡(luò)等。
MQTT工作原理
優(yōu)點(diǎn)
適用于受限網(wǎng)絡(luò)的輕量級(jí)
靈活選擇具有給定功能的服務(wù)質(zhì)量
由OASIS技術(shù)委員會(huì)標(biāo)準(zhǔn)化
實(shí)施簡單快捷
缺點(diǎn)
由于基于TCP的連接,功耗很高
缺乏加密
常見應(yīng)用場(chǎng)景:
在大型地下停車場(chǎng)安裝了許多停車傳感器,以識(shí)別空的或空置的停車位的數(shù)量和位置。
XMPP
XMPP使用XML格式進(jìn)行消息傳遞。該協(xié)議的主要特征是其尋址機(jī)制。它使用稱為Jabber ID(JID)的地址識(shí)別物聯(lián)網(wǎng)網(wǎng)絡(luò)中的設(shè)備/節(jié)點(diǎn)。JID遵循標(biāo)準(zhǔn)--name@domain.com。無論節(jié)點(diǎn)在網(wǎng)絡(luò)中的距離如何,這種尋址機(jī)制都可以使兩個(gè)節(jié)點(diǎn)交換信息。
XMPP消息通常通過底層TCP連接傳輸。它使用輪詢機(jī)制來標(biāo)識(shí)消息的目標(biāo)。XMPP使用客戶端 - 服務(wù)器體系結(jié)構(gòu)實(shí)現(xiàn)??蛻舳送ㄟ^發(fā)送開始標(biāo)記來啟動(dòng)XML流。然后,服務(wù)器使用XML流回復(fù)客戶端。由于XMPP是一種開放協(xié)議,任何人都可以在其網(wǎng)絡(luò)中擁有自己的XMPP服務(wù)器,而無需連接到Internet。
XMPP工作原理
優(yōu)點(diǎn)
尋址方案以識(shí)別網(wǎng)絡(luò)上的設(shè)備
客戶端 - 服務(wù)器架構(gòu)
缺點(diǎn)
基于文本的消息傳遞,沒有端到端的加密配置
沒有服務(wù)質(zhì)量規(guī)定
常見應(yīng)用場(chǎng)景:
智能恒溫器,可通過Web服務(wù)器從智能手機(jī)訪問。
一個(gè)游戲控制臺(tái),在兩個(gè)在線玩家之間提供即時(shí)消息。
DDS
DDS也基于發(fā)布 - 訂閱模型。DDS直接連接設(shè)備,與MQTT不同,MQTT將它們連接到服務(wù)器。這就是DDS比MQTT更快的原因。顯然,它可以在幾秒鐘內(nèi)向多個(gè)不同的接收器傳送數(shù)百萬條消息,因?yàn)樗伺c服務(wù)器的通信。DDS可用于通過數(shù)據(jù)總線提供設(shè)備到設(shè)備通信。它提供詳細(xì)的服務(wù)質(zhì)量和可靠性。
DDS 工作原理
優(yōu)點(diǎn)
基于簡單的“發(fā)布 - 訂閱”通信范例
靈活且適應(yīng)性強(qiáng)的架構(gòu),支持新的或過時(shí)的端點(diǎn)應(yīng)用程序的“自動(dòng)發(fā)現(xiàn)”
低開銷 - 可與高性能系統(tǒng)一起使用
確定性數(shù)據(jù)傳遞
動(dòng)態(tài)可擴(kuò)展
有效利用傳輸帶寬
常見應(yīng)用場(chǎng)景:
軍事系統(tǒng),風(fēng)電場(chǎng),醫(yī)院集成,醫(yī)療成像,資產(chǎn)跟蹤系統(tǒng)以及汽車測(cè)試和安全。
AMQP
高級(jí)消息隊(duì)列協(xié)議(AMQP)是一種開放標(biāo)準(zhǔn)應(yīng)用層協(xié)議,用于在服務(wù)器之間發(fā)送事務(wù)消息。作為以消息為中心的中間件,它可以處理數(shù)千個(gè)可靠的排隊(duì)事務(wù)。AMQP專注于不丟失消息,因?yàn)橄⒖梢允褂肨CP或UDP傳輸。TCP的使用提供了可靠的點(diǎn)對(duì)點(diǎn)連接。此外,端點(diǎn)必須確認(rèn)接受每條消息。該標(biāo)準(zhǔn)還描述了具有正式多階段提交序列的可選事務(wù)模式。AMQP專注于跟蹤消息并確保每條消息按預(yù)期交付,無論故障或重新啟動(dòng)如何。
AMQP工作原理
優(yōu)點(diǎn)
消息可以通過TCP和UDP發(fā)送
提供端到端加密
缺點(diǎn)
相對(duì)較高的資源利用率,即功率和內(nèi)存使用率
常見應(yīng)用場(chǎng)景:
AMQP主要用于商業(yè)消息傳遞。它通常定義移動(dòng)手機(jī)等設(shè)備,與后臺(tái)數(shù)據(jù)中心通信。
所有上面列出的協(xié)議都特別適用于不同的操作場(chǎng)景。任何協(xié)議都可以根據(jù)物聯(lián)網(wǎng)應(yīng)用程序開發(fā)的優(yōu)缺點(diǎn)進(jìn)行精心挑選。在為應(yīng)用程序選擇其中任何一個(gè)時(shí)要考慮的主要因素是服務(wù)質(zhì)量,安全性以及應(yīng)用程序所需的可靠性。
結(jié)語:任何協(xié)議都可以根據(jù)物聯(lián)網(wǎng)應(yīng)用程序開發(fā)的優(yōu)缺點(diǎn)進(jìn)行精心挑選。我們?cè)跒閼?yīng)用程序選擇傳輸協(xié)議時(shí)需要考慮的主要因素是服務(wù)質(zhì)量,安全性以及應(yīng)用程序所需的可靠性。