99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

MQTT協(xié)議詳解 概念、特性、版本及作用

億佰特物聯(lián)網(wǎng)應(yīng)用專(zhuān)家 ? 2023-08-01 00:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是ISO標(biāo)準(zhǔn)下基于發(fā)布/訂閱方式的輕量級(jí)消息協(xié)議。MQTT通常使用TCP / IP(傳輸控制協(xié)議/Internet協(xié)議)作為其傳輸,但也可以使用其他雙向傳輸。MQTT通常應(yīng)用于物聯(lián)網(wǎng)、智能家居等設(shè)備和應(yīng)用程序之間的通信。在嵌入式領(lǐng)域,MQTT已經(jīng)占據(jù)著無(wú)法替代的分量,因?yàn)榇蠖鄶?shù)的嵌入式設(shè)備,都需要這樣的協(xié)議進(jìn)行數(shù)據(jù)交互。

MQTT協(xié)議的主要特點(diǎn)

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

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

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

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

(5)消息QoS支持可靠傳輸保證。

MQTT深層特性

01

一對(duì)多信息發(fā)布

首先,他是基于訂閱與發(fā)布的一種協(xié)議,所以他可以一對(duì)多地進(jìn)行消息發(fā)布,這樣的功能應(yīng)用場(chǎng)景非常多,局限性廣播能夠讓服務(wù)器靈活控制想要控制的那個(gè)設(shè)備,并且服務(wù)器可以提供多個(gè)可以訂閱的主題,這是極為關(guān)鍵的。

因?yàn)閷?duì)于服務(wù)器而言,接收數(shù)據(jù)并處理是核心任務(wù),但是當(dāng)設(shè)備的增多、設(shè)備功能行的增多,服務(wù)器處理邏輯將會(huì)幾何倍數(shù)增長(zhǎng)。同樣是接收的數(shù)據(jù),也許是完全不同類(lèi)設(shè)備上傳的完全不一樣的信息,所以當(dāng)可以提供多個(gè)訂閱主題與發(fā)布主題時(shí),這種邏輯上的差異性就能被區(qū)分開(kāi),給開(kāi)發(fā)者帶來(lái)了很大的便利。

02

不同底層協(xié)議

MQTT的第二個(gè)特性其實(shí)就是他基于了TCP/IP而生,注定它是靠上層的一個(gè)協(xié)議,現(xiàn)在接觸的其實(shí)大多都是基于TCP協(xié)議而開(kāi)發(fā)的,但它其實(shí)是有基于UDP版本的,名為MQTT-SN,但大家都知道,TCP面向連接,而UDP不面向連接,所以基于不同的底層協(xié)議類(lèi)型,MQTT展現(xiàn)的特性肯定也是不同的。

03

消息可靠性

對(duì)于常用的MQTT協(xié)議,它有一個(gè)很重要的保證消息可靠性的特性——QoS(服務(wù)質(zhì)量),QoS可分為三個(gè)等級(jí):QoS 0、QoS 1、QoS 2。

QoS 0其實(shí)相當(dāng)于MQTT沒(méi)有做額外信息保護(hù),因?yàn)楸旧硎腔赥CP協(xié)議的,所以其消息可靠性完全依賴(lài)于TCP協(xié)議。而QoS 1,則是代表至少承諾會(huì)有一次發(fā)送給接收者,這是在MQTT層進(jìn)行的信息保護(hù),而不只是依靠TCP協(xié)議層。最后QoS 2,則是保證消息僅僅傳送到目的地一次。

a357d0e4-2fbc-11ee-bbcf-dac502259ad0.png

因?yàn)閷?duì)于QoS 1,可能會(huì)因?yàn)橄](méi)有反饋而多次發(fā)送,而接收方也可能收到多次消息,為此,QoS 2傳輸?shù)南в形ㄒ坏腎D,帶有唯一消息ID的消息會(huì)存儲(chǔ)兩次,首先來(lái)自發(fā)送者,然后是接收者QoS級(jí)別2在網(wǎng)絡(luò)中具有最高的開(kāi)銷(xiāo),因?yàn)樵诎l(fā)送方和接收方之間需要兩個(gè)流。

MQTT兩個(gè)主要版本

MQTT有v3 和 v5兩個(gè)主要版本。這兩個(gè)版本原理基本相同,但它們之間存在一些關(guān)鍵的差異,下面將從以下幾個(gè)方面來(lái)介紹它們之間的區(qū)別。

01

主題別名

主題是MQTT中的核心概念,它用于標(biāo)識(shí)消息的內(nèi)容和意圖。在MQTT v3中,主題只是一個(gè)簡(jiǎn)單的字符串,其結(jié)構(gòu)是由一系列以斜杠分隔的單詞組成的。例如,一個(gè) MQTT v3主題可以是 sensors/temperature/room1,其中sensors是頂級(jí)主題,temperature是其子主題,room1是子主題下的一個(gè)特定設(shè)備。

然而,在 MQTT v5中,主題的結(jié)構(gòu)得到了擴(kuò)展,新增了一些更高級(jí)的功能。具體來(lái)說(shuō),MQTT v5引入了一個(gè)名為主題別名的新概念,它允許客戶(hù)端將主題字符串映射到預(yù)定義的主題ID,從而減少網(wǎng)絡(luò)流量和消息大小。這使得客戶(hù)端能夠在發(fā)送消息時(shí)只發(fā)送主題ID,而不必每次都發(fā)送完整的主題字符串。這對(duì)于IoT設(shè)備和網(wǎng)絡(luò)帶寬有限的環(huán)境來(lái)說(shuō)非常有用。

02

訂閱操作

MQTT v5引入了一種名為共享訂閱的新訂閱類(lèi)型。如下圖所示,共享訂閱允許多個(gè)客戶(hù)端共享一個(gè)訂閱,并按照一定規(guī)則進(jìn)行分配。這種訂閱類(lèi)型對(duì)于訂閱高負(fù)載主題非常有用,因?yàn)樗梢云胶庥嗛喺?qǐng)求,減輕單個(gè)客戶(hù)端的負(fù)載壓力。

a3ab2ad2-2fbc-11ee-bbcf-dac502259ad0.png

另外MQTT v5增加了訂閱選項(xiàng)的概念,可以指定訂閱選項(xiàng),例如QoS等級(jí)、Retain As Publish、Retain Handling、消息的生命周期等,來(lái)對(duì)訂閱行為進(jìn)行更加精細(xì)地控制。

03

遺囑消息

遺囑消息是MQTT為那些可能出現(xiàn)意外斷線的設(shè)備提供的將遺囑優(yōu)雅地發(fā)送給第三方的能力。

a3d4ae34-2fbc-11ee-bbcf-dac502259ad0.png

Will Properties是MQTT v5新增的一個(gè)字段,不同類(lèi)型的報(bào)文有著不同的屬性,例如CONNECT報(bào)文有最大報(bào)文長(zhǎng)度、會(huì)話過(guò)期間隔等屬性,SUBSCRIBE報(bào)文則有訂閱標(biāo)識(shí)符等屬性。而且MQTT v5較v3相比,遺囑消息的內(nèi)容變得更加靈活,可以包含任何主題和任何消息內(nèi)容。

04

錯(cuò)誤處理

MQTT v5支持更加詳細(xì)的錯(cuò)誤處理機(jī)制,可以通過(guò)錯(cuò)誤碼和錯(cuò)誤原因來(lái)定位和解決問(wèn)題。同時(shí),MQTT v5還引入了一個(gè)新的控制報(bào)文——Disconnect報(bào)文,可以幫助客戶(hù)端和服務(wù)器更好地處理錯(cuò)誤情況。

05

流量控制

MQTT v5在v3版本基礎(chǔ)上引入了一些新的機(jī)制用于流量控制,為了更好地控制消息的傳輸和處理,避免因?yàn)橄鬏斔俣冗^(guò)快導(dǎo)致的網(wǎng)絡(luò)擁塞和負(fù)載過(guò)高。

最大報(bào)文大小限制(Maximum Packet Size):MQTT v5 允許客戶(hù)端和服務(wù)端在握手時(shí)協(xié)商最大報(bào)文大小。如下圖所示,這個(gè)最大報(bào)文大小限制可以用于控制客戶(hù)端和服務(wù)端之間傳輸?shù)淖畲笙⒋笮?,防止因?yàn)閭鬏數(shù)南⑦^(guò)大導(dǎo)致網(wǎng)絡(luò)擁塞和負(fù)載過(guò)高。

消息隊(duì)列(Message Queue):當(dāng)服務(wù)端發(fā)送的消息超出了客戶(hù)端處理的速度時(shí),服務(wù)端可以將消息存儲(chǔ)到消息隊(duì)列中,等待客戶(hù)端處理。MQTT v5 定義了消息隊(duì)列的隊(duì)列大小和超時(shí)時(shí)間,以控制消息隊(duì)列的大小和生命周期。

06

性能與效率

MQTT v5相對(duì)于MQTT v3來(lái)說(shuō),可以更好地處理大規(guī)模的數(shù)據(jù)傳輸,提高了通信的效率和性能。例如MQTT v5支持批量發(fā)布(Batch Publish)和預(yù)取(Message Prefetch)等功能,可以大大減少M(fèi)QTT通信時(shí)的開(kāi)銷(xiāo)。

總之,MQTT v5相比于MQTT v3具有更多的新功能和安全性。但是,需要注意的是MQTT v5相對(duì)于MQTT v3增加了很多新的功能和概念,因此在使用MQTT v5時(shí),需要對(duì)MQTT協(xié)議的新特性進(jìn)行深入的了解,以便可以更好地使用這個(gè)新協(xié)議來(lái)構(gòu)建可靠的應(yīng)用程序。

MQTT協(xié)議于物聯(lián)網(wǎng)有何好處?

01

操作簡(jiǎn)單

啟動(dòng)和運(yùn)行MQTT既快速又簡(jiǎn)單,有數(shù)百萬(wàn)個(gè)現(xiàn)成的客戶(hù)端應(yīng)用程序和幾乎同樣多的代理可應(yīng)用。

02

安全可靠

許多物聯(lián)網(wǎng)設(shè)備依靠無(wú)線電連接來(lái)傳輸和收集數(shù)據(jù),這意味著連接并不總是可靠的。MQTT可以允許將消息存儲(chǔ)在代理中,直到設(shè)備準(zhǔn)備好接收它。由于QoS(服務(wù)質(zhì)量),MQTT能夠?qū)ο⑦M(jìn)行排隊(duì),確保它們到達(dá)目的地,如果需要,請(qǐng)確保它們只到達(dá)一次。

03

雙向消息傳遞

也許更準(zhǔn)確地說(shuō)MQTT是全向的。任何設(shè)備、事物或應(yīng)用程序都可以發(fā)布或訂閱代理處理的任何主題。這意味著在網(wǎng)絡(luò)上可以交談或收聽(tīng)的內(nèi)容沒(méi)有限制。

04

大規(guī)模消息傳遞

將消息廣播到一百萬(wàn)臺(tái)設(shè)備與發(fā)送到一百臺(tái)設(shè)備一樣容易,要被網(wǎng)絡(luò)上的所有內(nèi)容聽(tīng)到,事物只需要發(fā)布到所有設(shè)備都訂閱的主題。

歸根結(jié)底,物聯(lián)網(wǎng)(IoT)有一項(xiàng)工作就是在網(wǎng)絡(luò)上獲取設(shè)備之間的數(shù)據(jù)。而這些網(wǎng)絡(luò)可能位于世界任何地方,每個(gè)網(wǎng)絡(luò)都面臨著許多可能導(dǎo)致它們數(shù)據(jù)傳輸失敗的情況,MQTT具有無(wú)數(shù)內(nèi)置的功能來(lái)幫助緩解其中一些問(wèn)題,從而讓使用者的煩惱有所減少。

聲明:本文內(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)注

    2931

    文章

    46251

    瀏覽量

    392720
  • 智能家居
    +關(guān)注

    關(guān)注

    1934

    文章

    9806

    瀏覽量

    190599
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    682

    瀏覽量

    23723
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MQTT網(wǎng)關(guān)具備邊緣計(jì)算功能嗎?有什么功能?

    協(xié)議轉(zhuǎn)換為MQTT協(xié)議,實(shí)現(xiàn)設(shè)備與云平臺(tái)的通信),但隨著邊緣計(jì)算技術(shù)的發(fā)展,兩者逐漸融合——MQTT網(wǎng)關(guān)集成邊緣計(jì)算能力后,可在靠近設(shè)備的“邊緣端”完成數(shù)據(jù)處理、決策和控制,大幅提升物
    的頭像 發(fā)表于 07-15 15:01 ?127次閱讀
    <b class='flag-5'>MQTT</b>網(wǎng)關(guān)具備邊緣計(jì)算功能嗎?有什么功能?

    簡(jiǎn)析Modbus和MQTT協(xié)議

    Modbus和MQTT協(xié)議在設(shè)計(jì)目標(biāo)、通信模式、應(yīng)用場(chǎng)景、網(wǎng)絡(luò)結(jié)構(gòu)、數(shù)據(jù)傳輸效率、設(shè)備兼容性及安全性等方面存在顯著差異,具體分析如下: 一、設(shè)計(jì)目標(biāo)與定位 Modbus :誕生于1979年,由施耐德
    的頭像 發(fā)表于 07-10 14:25 ?135次閱讀

    MQTT為何成為物聯(lián)網(wǎng)協(xié)議

    的優(yōu)勢(shì),以下為你詳細(xì)介紹: 輕量級(jí)特性,適配資源受限設(shè)備 協(xié)議頭開(kāi)銷(xiāo)小 :MQTT協(xié)議頭非常簡(jiǎn)潔,相比其他協(xié)議,它在數(shù)據(jù)傳輸時(shí)添加的額外信息
    的頭像 發(fā)表于 05-20 09:54 ?209次閱讀

    基于MQTT協(xié)議的車(chē)云通信設(shè)計(jì)

    隨著智能汽車(chē)的發(fā)展,車(chē)云通信的功能場(chǎng)景及數(shù)據(jù)量也逐漸增多,具有輕量化、可靠性等特點(diǎn)的MQTT協(xié)議成為很多OEM車(chē)云通信協(xié)議的選擇。本文主要介紹。 什么是MQTT?
    的頭像 發(fā)表于 01-08 10:24 ?1050次閱讀
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>的車(chē)云通信設(shè)計(jì)

    百問(wèn)MQTT協(xié)議分析 - MQTT簡(jiǎn)述及協(xié)議報(bào)文格式組成

    16.1 mqtt協(xié)議介紹 16.1.1 概述 ?MQTT是一個(gè)客戶(hù)端服務(wù)端架構(gòu)的發(fā)布/訂閱模式的消息傳輸協(xié)議。它的設(shè)計(jì)思想是輕巧、開(kāi)放、簡(jiǎn)單、規(guī)范,易于實(shí)現(xiàn)。這些特點(diǎn)使得它對(duì)很多場(chǎng)景
    發(fā)表于 12-13 09:29

    MQTT-3.1.1標(biāo)準(zhǔn)協(xié)議文檔

    電子發(fā)燒友網(wǎng)站提供《MQTT-3.1.1標(biāo)準(zhǔn)協(xié)議文檔.pdf》資料免費(fèi)下載
    發(fā)表于 11-21 16:20 ?4次下載

    【教程】設(shè)備通過(guò)MQTT協(xié)議接入OneNET平臺(tái),建立可視化界面

    在物聯(lián)網(wǎng)領(lǐng)域,傳感器與服務(wù)器的通信、信息的收集以及MQTT協(xié)議都是可以考慮的方案之一。MQTT通常用于需要低功耗和低帶寬的場(chǎng)景,如物聯(lián)網(wǎng)設(shè)備、傳感器網(wǎng)絡(luò)、移動(dòng)應(yīng)用等。它的輕量級(jí)和高效特性
    的頭像 發(fā)表于 10-25 08:06 ?2915次閱讀
    【教程】設(shè)備通過(guò)<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>接入OneNET平臺(tái),建立可視化界面

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

    關(guān)鍵作用MQTT物聯(lián)網(wǎng)云平臺(tái)基于MQTT協(xié)議,為物聯(lián)網(wǎng)設(shè)備提供連接、管理和數(shù)據(jù)處理服務(wù),其豐富的功能特性使得物聯(lián)網(wǎng)應(yīng)用更加高效、靈活和安全
    的頭像 發(fā)表于 10-09 14:15 ?722次閱讀

    MQTT.fx 連接Onenet 多協(xié)議接入平臺(tái) MQTT協(xié)議(舊版)詳解

    此文檔可以作為中間態(tài)MQTT版本,默認(rèn)參數(shù)獲取教程 多協(xié)議接入地址 td {white-space:nowrap;border:1px solid #dee0e3;font-size:10pt
    的頭像 發(fā)表于 09-30 15:20 ?1880次閱讀
    <b class='flag-5'>MQTT</b>.fx 連接Onenet 多<b class='flag-5'>協(xié)議</b>接入平臺(tái) <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>(舊版)<b class='flag-5'>詳解</b>

    ESP8266 通過(guò) MQTT 協(xié)議實(shí)現(xiàn) LED 的遠(yuǎn)程控制

    MQTT協(xié)議
    jf_07365693
    發(fā)布于 :2024年09月25日 16:05:05

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

    一 概述 MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級(jí)”通訊協(xié)議
    的頭像 發(fā)表于 09-20 17:08 ?2650次閱讀
    物聯(lián)網(wǎng)行業(yè)中<b class='flag-5'>MQTT</b>通信<b class='flag-5'>協(xié)議</b><b class='flag-5'>詳解</b>以及使用

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

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

    鋇錸技術(shù)Modbus轉(zhuǎn)MQTT網(wǎng)關(guān):橋接Modbus協(xié)議MQTT協(xié)議

    提供了一鍵對(duì)接亞馬遜云平臺(tái)的解決方案。 BL101網(wǎng)關(guān)是鋇錸技術(shù)研發(fā)的一款高性能工業(yè)物聯(lián)網(wǎng)設(shè)備,通過(guò)橋接Modbus協(xié)議MQTT通信協(xié)議,實(shí)現(xiàn)了工業(yè)設(shè)備與云端平臺(tái)之間的高效互聯(lián)。支持Modbus RTU、Modbus TCP和
    的頭像 發(fā)表于 07-30 16:28 ?733次閱讀
    鋇錸技術(shù)Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān):橋接Modbus<b class='flag-5'>協(xié)議</b>與<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>

    基于MQTT協(xié)議云平臺(tái)的Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)

    鋇錸Modbus轉(zhuǎn)MQTT網(wǎng)關(guān)BL100是一款高性能、高性?xún)r(jià)比的物聯(lián)網(wǎng)網(wǎng)關(guān),它支持將Modbus協(xié)議(包括Modbus RTU和Modbus TCP)的數(shù)據(jù)轉(zhuǎn)換為MQTT協(xié)議的數(shù)據(jù)格式
    的頭像 發(fā)表于 07-29 17:59 ?1140次閱讀
    基于<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>云平臺(tái)的Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b>網(wǎng)關(guān)

    鋇錸協(xié)議網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)MQTT協(xié)議

    Modbus是一種在工業(yè)自動(dòng)化領(lǐng)域廣泛使用的通信協(xié)議,以其簡(jiǎn)單性和可靠性而著稱(chēng)。然而,隨著物聯(lián)網(wǎng)技術(shù)的興起,傳統(tǒng)的Modbus協(xié)議需要與通信協(xié)議MQTT相結(jié)合,以實(shí)現(xiàn)更廣泛的應(yīng)用場(chǎng)景和
    的頭像 發(fā)表于 07-23 15:51 ?638次閱讀
    鋇錸<b class='flag-5'>協(xié)議</b>網(wǎng)關(guān)輕松實(shí)現(xiàn)Modbus轉(zhuǎn)<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>