0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

物聯(lián)網(wǎng)傳輸協(xié)議MQTT的優(yōu)勢(shì)

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-01-09 14:46 ? 次閱讀

物聯(lián)網(wǎng)IoT) 設(shè)備需要連接到互聯(lián)網(wǎng),聯(lián)網(wǎng)的方式有很多種,傳輸協(xié)議也有很多種,為什么MQTT才是物聯(lián)網(wǎng)的首選傳輸協(xié)議呢?

本文重點(diǎn)講述MQTT傳輸協(xié)議。

一、關(guān)于MQTTMQTT:Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸。

互聯(lián)網(wǎng)的基礎(chǔ)網(wǎng)絡(luò)協(xié)議是 TCP/IP,MQTT(消息隊(duì)列遙測(cè)傳輸) 是基于 TCP/IP 協(xié)議棧而構(gòu)建的。

MQTT由IBM在1999年發(fā)布,是一種基于發(fā)布/訂閱(publish / subscribe)模式的“輕量級(jí)”通訊協(xié)議,在 2014 年末,它正式成為了一種 OASIS 開(kāi)放標(biāo)準(zhǔn),而且在一些流行的編程語(yǔ)言中受到支持(通過(guò)使用多種開(kāi)源實(shí)現(xiàn))。

前面文章《http和tcp/ip的關(guān)系和區(qū)別》提及了OSI(開(kāi)放式系統(tǒng)互聯(lián)),這里MQTT同HTTP屬于第七層(應(yīng)用層)。

參考網(wǎng)址:

http://mqtt.orghttp://mqtt.p2hp.comhttps://www.ibm.com/developerworks/cn/iot/https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html

二、MQTT特點(diǎn)

MQTT特點(diǎn):

開(kāi)放消息協(xié)議,簡(jiǎn)單易實(shí)現(xiàn)

發(fā)布訂閱模式,一對(duì)多消息發(fā)布

消息QoS支持,可靠傳輸保證

基于TCP/IP網(wǎng)絡(luò)連接,提供有序,無(wú)損,雙向連接。

1字節(jié)固定報(bào)頭,2字節(jié)心跳報(bào)文,最小化傳輸開(kāi)銷(xiāo)和協(xié)議交換,有效減少網(wǎng)絡(luò)流量。

設(shè)計(jì)規(guī)范:

由于物聯(lián)網(wǎng)的環(huán)境是非常特別的,所以MQTT遵循以下設(shè)計(jì)原則:

精簡(jiǎn),不添加可有可無(wú)的功能;

允許用戶動(dòng)態(tài)創(chuàng)建主題,零運(yùn)維成本;

把傳輸量降到最低以提高傳輸效率;

把低帶寬、高延遲、不穩(wěn)定的網(wǎng)絡(luò)等因素考慮在內(nèi);

支持連續(xù)的會(huì)話控制;

理解客戶端計(jì)算能力可能很低;

提供服務(wù)質(zhì)量管理;

發(fā)布/訂閱(Pub/Sub)模式,方便消息在傳感器之間傳遞;

假設(shè)數(shù)據(jù)不可知,不強(qiáng)求傳輸數(shù)據(jù)的類(lèi)型與格式,保持靈活性。

三、物聯(lián)網(wǎng)為何首選MQTT

1.為何選擇 MQTT

MQTT 是一種輕量級(jí)的、靈活的網(wǎng)絡(luò)協(xié)議,致力于為 IoT 開(kāi)發(fā)人員實(shí)現(xiàn)適當(dāng)?shù)钠胶猓?/p>

這個(gè)輕量級(jí)協(xié)議可在嚴(yán)重受限的設(shè)備硬件和高延遲/帶寬有限的網(wǎng)絡(luò)上實(shí)現(xiàn)。

它的靈活性使得為 IoT 設(shè)備和服務(wù)的多樣化應(yīng)用場(chǎng)景提供支持成為可能。

為了了解為什么 MQTT 如此適合 IoT 開(kāi)發(fā)人員,我們首先來(lái)分析一下為什么其他流行網(wǎng)絡(luò)協(xié)議未在 IoT 中得到成功應(yīng)用。

2.為什么不選擇其他眾多網(wǎng)絡(luò)協(xié)議

大多數(shù)開(kāi)發(fā)人員已經(jīng)熟悉 HTTP Web 服務(wù)。那么為什么不讓 IoT 設(shè)備連接到 Web 服務(wù)?設(shè)備可采用 HTTP 請(qǐng)求的形式發(fā)送其數(shù)據(jù),并采用 HTTP 響應(yīng)的形式從系統(tǒng)接收更新。這種請(qǐng)求和響應(yīng)模式存在一些嚴(yán)重的局限性:

A.HTTP 是一種同步協(xié)議??蛻舳诵枰却?wù)器響應(yīng)。Web 瀏覽器具有這樣的要求,但它的代價(jià)是犧牲了可伸縮性。在 IoT 領(lǐng)域,大量設(shè)備以及很可能不可靠或高延遲的網(wǎng)絡(luò)使得同步通信成為問(wèn)題。異步消息協(xié)議更適合 IoT 應(yīng)用程序。傳感器發(fā)送讀數(shù),讓網(wǎng)絡(luò)確定將其傳送到目標(biāo)設(shè)備和服務(wù)的最佳路線和時(shí)間。

B.HTTP 是單向的。客戶端必須發(fā)起連接。在 IoT 應(yīng)用程序中,設(shè)備或傳感器通常是客戶端,這意味著它們無(wú)法被動(dòng)地接收來(lái)自網(wǎng)絡(luò)的命令。

HTTP 是一種 1-1 協(xié)議。客戶端發(fā)出請(qǐng)求,服務(wù)器進(jìn)行響應(yīng)。將消息傳送到網(wǎng)絡(luò)上的所有設(shè)備上,不但很困難,而且成本很高,而這是 IoT 應(yīng)用程序中的一種常見(jiàn)使用情況。

C.HTTP 是一種有許多標(biāo)頭和規(guī)則的重量級(jí)協(xié)議。它不適合受限的網(wǎng)絡(luò)。

出于上述原因,大部分高性能、可擴(kuò)展的系統(tǒng)都使用異步消息總線來(lái)進(jìn)行內(nèi)部數(shù)據(jù)交換,而不使用 Web 服務(wù)。事實(shí)上,企業(yè)中間件系統(tǒng)中使用的最流行的消息協(xié)議被稱為 AMQP(高級(jí)消息排隊(duì)協(xié)議)。但是,在高性能環(huán)境中,計(jì)算能力和網(wǎng)絡(luò)延遲通常不是問(wèn)題。AMQP 致力于在企業(yè)應(yīng)用程序中實(shí)現(xiàn)可靠性和互操作性。它擁有龐大的特性集,但不適合資源受限的 IoT 應(yīng)用程序。

除了 AMQP 之外,還有其他流行的消息協(xié)議。例如,XMPP(Extensible Messaging and Presence Protocol,可擴(kuò)展消息和狀態(tài)協(xié)議)是一種對(duì)等即時(shí)消息 (IM) 協(xié)議。它高度依賴于支持 IM 用例的特性,比如存在狀態(tài)和介質(zhì)連接。與 MQTT 相比,它在設(shè)備和網(wǎng)絡(luò)上需要的資源都要多得多。

那么,MQTT 為什么如此輕量且靈活?因?yàn)镸QTT 協(xié)議的一個(gè)關(guān)鍵特性是發(fā)布和訂閱模型。與所有消息協(xié)議一樣,它將數(shù)據(jù)的發(fā)布者與使用者分離。


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2909

    文章

    44635

    瀏覽量

    373390
  • 傳輸協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    11451
  • MQTT協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    97

    瀏覽量

    5379
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MQTT聯(lián)網(wǎng)云平臺(tái)有什么功能

    關(guān)鍵作用。MQTT聯(lián)網(wǎng)云平臺(tái)基于MQTT協(xié)議,為聯(lián)網(wǎng)
    的頭像 發(fā)表于 10-09 14:15 ?272次閱讀

    聯(lián)網(wǎng)行業(yè)中MQTT通信協(xié)議詳解以及使用

    聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有較廣泛的應(yīng)用。 二 MQTT協(xié)議特點(diǎn) MQTT是一個(gè)基于 客戶端-服務(wù)器 的消息發(fā)布/訂閱
    的頭像 發(fā)表于 09-20 17:08 ?1452次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>行業(yè)中<b class='flag-5'>MQTT</b>通信<b class='flag-5'>協(xié)議</b>詳解以及使用

    MQTT協(xié)議網(wǎng)關(guān)的工作原理及功能特性

    的數(shù)據(jù)傳輸。本文將詳細(xì)探討 MQTT協(xié)議網(wǎng)關(guān) 的工作原理、功能特性及其在聯(lián)網(wǎng)應(yīng)用中的重要作用。 一、M
    的頭像 發(fā)表于 09-18 17:00 ?495次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)的工作原理及功能特性

    MQTT聯(lián)網(wǎng)平臺(tái)和網(wǎng)關(guān)有什么功能

    聯(lián)網(wǎng)(IoT)迅速發(fā)展的今天,MQTT(Message Queuing Telemetry Transport)作為一種輕量級(jí)的通信協(xié)議,以其高效、可靠的特點(diǎn),在
    的頭像 發(fā)表于 08-22 14:19 ?279次閱讀

    MQTT網(wǎng)關(guān):聯(lián)網(wǎng)中的關(guān)鍵橋梁

    基于發(fā)布/訂閱模式的輕量級(jí)通信協(xié)議,特別適用于低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境下的數(shù)據(jù)傳輸。MQTT網(wǎng)關(guān)則是連接物聯(lián)網(wǎng)設(shè)備與消息代理服務(wù)器之間的橋梁,通過(guò)它,
    的頭像 發(fā)表于 08-22 14:15 ?410次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān):<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>中的關(guān)鍵橋梁

    MQTT聯(lián)網(wǎng)平臺(tái)是什么

    MQTT聯(lián)網(wǎng)平臺(tái)是一種軟件平臺(tái),它基于MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸
    的頭像 發(fā)表于 07-18 14:22 ?596次閱讀

    MQTT聯(lián)網(wǎng)網(wǎng)關(guān)是什么

    Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是一種輕量級(jí)的發(fā)布/訂閱模式的消息傳輸協(xié)議,特別適合于低帶寬、不穩(wěn)定網(wǎng)絡(luò)環(huán)境中的
    的頭像 發(fā)表于 07-18 14:17 ?528次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>網(wǎng)關(guān)是什么

    一文了解聯(lián)網(wǎng)通信協(xié)議MQTT如何助力無(wú)線模塊廣泛連接

    引言:隨著聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,無(wú)線模塊在連接各種智能設(shè)備、實(shí)現(xiàn)數(shù)據(jù)交互中扮演著至關(guān)重要的角色。為了有效滿 足聯(lián)網(wǎng)通信的多樣化需求,一種輕量級(jí)、高效且可靠的消息
    的頭像 發(fā)表于 06-07 16:10 ?1156次閱讀
    一文了解<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)通信協(xié)議</b>之<b class='flag-5'>MQTT</b>如何助力無(wú)線模塊廣泛連接

    [天拓四方]4G MQTT網(wǎng)關(guān)在聯(lián)網(wǎng)應(yīng)用中的優(yōu)勢(shì)探討

    隨著聯(lián)網(wǎng)(IoT)技術(shù)的飛速發(fā)展,各種設(shè)備和系統(tǒng)之間的互聯(lián)互通變得日益重要。MQTT(Message Queuing Telemetry Transport)作為一種輕量級(jí)的發(fā)布/訂閱消息
    的頭像 發(fā)表于 05-28 17:22 ?488次閱讀

    MQTT聯(lián)網(wǎng)平臺(tái)是什么?MQTT聯(lián)網(wǎng)平臺(tái)的功能

    ,易于實(shí)現(xiàn),因此廣泛應(yīng)用于受限的環(huán)境,如機(jī)器與機(jī)器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境(IoT)。 MQTT聯(lián)網(wǎng)平臺(tái)通過(guò)提供一種標(biāo)準(zhǔn)化的協(xié)議和平
    的頭像 發(fā)表于 04-01 10:20 ?737次閱讀

    MQTT聯(lián)網(wǎng)平臺(tái)實(shí)現(xiàn)設(shè)備連接與安全加密

    隨著工業(yè)聯(lián)網(wǎng)(IIoT)的不斷發(fā)展,越來(lái)越多的應(yīng)用場(chǎng)景采用MQTT作為工業(yè)聯(lián)網(wǎng)通信的輕量級(jí)消息傳輸
    的頭像 發(fā)表于 03-19 10:25 ?619次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>平臺(tái)實(shí)現(xiàn)設(shè)備連接與安全加密

    MQTT和Modbus的聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議的區(qū)別分析

    MQTT和Modbus的聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議區(qū)別分析 MQTT(Message Queuing Telemetry Transport)與Modbus是兩種廣泛應(yīng)用在
    的頭像 發(fā)表于 03-18 16:50 ?827次閱讀
    <b class='flag-5'>MQTT</b>和Modbus的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)網(wǎng)關(guān)協(xié)議</b>的區(qū)別分析

    MQTT協(xié)議網(wǎng)關(guān)解決方案設(shè)計(jì)與實(shí)施

    的主要功能包括協(xié)議轉(zhuǎn)換、消息過(guò)濾、安全認(rèn)證、負(fù)載均衡等,以確保消息的可靠傳輸和系統(tǒng)的穩(wěn)定運(yùn)行。隨著聯(lián)網(wǎng)技術(shù)的快速發(fā)展,MQTT
    的頭像 發(fā)表于 03-11 14:07 ?504次閱讀

    mqtt協(xié)議與終端監(jiān)測(cè)設(shè)備結(jié)合

    mqtt協(xié)議與終端監(jiān)測(cè)設(shè)備結(jié)合 摘要: MQTT是一個(gè)基于客戶端-服務(wù)器的消息發(fā)布/訂閱傳輸協(xié)議, 優(yōu)點(diǎn)是輕量,簡(jiǎn)單,開(kāi)放和易于實(shí)現(xiàn)的,這樣
    的頭像 發(fā)表于 01-30 13:13 ?398次閱讀
    <b class='flag-5'>mqtt</b><b class='flag-5'>協(xié)議</b>與終端監(jiān)測(cè)設(shè)備結(jié)合

    MQTT聯(lián)網(wǎng)平臺(tái)是什么?MQTT聯(lián)網(wǎng)平臺(tái)的功能有哪些

    ,易于實(shí)現(xiàn),因此廣泛應(yīng)用于受限的環(huán)境,如機(jī)器與機(jī)器的通信(M2M)以及物聯(lián)網(wǎng)環(huán)境(IoT)。 MQTT聯(lián)網(wǎng)平臺(tái)通過(guò)提供一種標(biāo)準(zhǔn)化的協(xié)議和平
    的頭像 發(fā)表于 01-24 09:23 ?1153次閱讀