欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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é)議簡(jiǎn)介及協(xié)議原理

汽車(chē)電子技術(shù) ? 來(lái)源:物聯(lián)網(wǎng)IoT開(kāi)發(fā) ? 作者: 杰杰mcu ? 2023-02-28 16:16 ? 次閱讀

MQTT協(xié)議簡(jiǎn)介

MQTT協(xié)議全稱(chēng)是Message Queuing Telemetry Transport,翻譯過(guò)來(lái)就是消息隊(duì)列遙測(cè)傳輸協(xié)議,它是物聯(lián)網(wǎng)常用的應(yīng)用層協(xié)議,運(yùn)行在TCP/IP中的應(yīng)用層中,依賴(lài)TCP協(xié)議,因此它具有非常高的可靠性,同時(shí)它是基于TCP協(xié)議的 <客戶(hù)端-服務(wù)器> 模型發(fā)布/訂閱主題消息的輕量級(jí)協(xié)議,也是我們常說(shuō)的發(fā)送與接收數(shù)據(jù),下面我們來(lái)初步了解一下mqtt相關(guān)的名稱(chēng)與功能。

MQTT最大的優(yōu)點(diǎn)在于可以以極少的代碼和有限的帶寬,為遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開(kāi)銷(xiāo)、低帶寬占用的即時(shí)通訊協(xié)議,MQTT在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有廣泛的應(yīng)用。

MQTT是哪一層的協(xié)議?

眾所周知,TCP/IP參考模型可以分為四層:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、鏈路層。TCP和UDP位于傳輸層,應(yīng)用層常見(jiàn)的協(xié)議有HTTP、FTP、SSH等。MQTT協(xié)議運(yùn)行于TCP之上,屬于應(yīng)用層協(xié)議,因此只要是支持TCP/IP協(xié)議棧的地方,都可以使用MQTT。

MQTT通信模型

MQTT 協(xié)議提供一對(duì)多的消息發(fā)布,可以降低應(yīng)用程序的耦合性,用戶(hù)只需要編寫(xiě)極少量的應(yīng)用代碼就能完成一對(duì)多的消息發(fā)布與訂閱,該協(xié)議是基于<客戶(hù)端-服務(wù)器>模型,在協(xié)議中主要有三種身份:發(fā)布者(Publisher)、服務(wù)器(Broker)以及訂閱者(Subscriber)。其中,MQTT消息的發(fā)布者和訂閱者都是客戶(hù)端,服務(wù)器只是作為一個(gè)中轉(zhuǎn)的存在,將發(fā)布者發(fā)布的消息進(jìn)行轉(zhuǎn)發(fā)給所有訂閱該主題的訂閱者;發(fā)布者可以發(fā)布在其權(quán)限之內(nèi)的所有主題,并且消息發(fā)布者可以同時(shí)是訂閱者,實(shí)現(xiàn)了生產(chǎn)者與消費(fèi)者的脫耦,發(fā)布的消息可以同時(shí)被多個(gè)訂閱者訂閱。

MQTT通信模型示意圖如下:

圖片

mqtt001

MQTT客戶(hù)端的功能:

  1. 發(fā)布消息給其它相關(guān)的客戶(hù)端。
  2. 訂閱主題請(qǐng)求接收相關(guān)的應(yīng)用消息。
  3. 取消訂閱主題請(qǐng)求移除接收應(yīng)用消息。
  4. 從服務(wù)端終止連接。

MQTT客戶(hù)服務(wù)器功能:

MQTT 服務(wù)器常被稱(chēng)為 Broker(消息代理),它一般為云服務(wù)器,比如BTA三巨頭的一些物聯(lián)網(wǎng)平臺(tái)就是常使用MQTT協(xié)議,它是位于消息發(fā)布者和訂閱者之間,以便用于接收消息并發(fā)送到訂閱者之中,它的功能有:

  1. 接受來(lái)自客戶(hù)端的網(wǎng)絡(luò)連接請(qǐng)求。
  2. 接受客戶(hù)端發(fā)布的應(yīng)用消息。
  3. 處理客戶(hù)端的訂閱和取消訂閱請(qǐng)求。
  4. 轉(zhuǎn)發(fā)應(yīng)用消息給符合條件的已訂閱客戶(hù)端(包括發(fā)布者自身)。

消息主題與服務(wù)質(zhì)量

什么是主題?MQTT服務(wù)器為每個(gè)連接的客戶(hù)端(訂閱者)添加一個(gè)標(biāo)簽,該標(biāo)簽與服務(wù)器中的所有訂閱相匹配,服務(wù)器會(huì)將消息轉(zhuǎn)發(fā)給與標(biāo)簽相匹配的每個(gè)客戶(hù)端(訂閱者),當(dāng)然訂閱者也是需要有權(quán)限才能訂閱對(duì)應(yīng)的主題,比如像阿里云中的,訂閱者只能訂閱同一個(gè)產(chǎn)品下的主題,而不能跨產(chǎn)品訂閱,這樣子的處理就能達(dá)到信息的安全性以及多個(gè)訂閱者能及時(shí)收到消息。一個(gè)主題可以有多個(gè)級(jí)別,各個(gè)級(jí)別之間用斜杠字符分隔,例如/test 和 /test/test1/test2都 是有效的主題。

發(fā)布者與訂閱者可以通過(guò)主題名字,一般為UTF-8編碼(反正用英文字符串就不會(huì)錯(cuò))的形式發(fā)布和訂閱主題,比如我們可以直接定義一個(gè)名字為“test”的主題,絕大多數(shù)的MQTT服務(wù)器支持動(dòng)態(tài)發(fā)布/訂閱主題,即當(dāng)前服務(wù)器中沒(méi)有某個(gè)主題,但是客戶(hù)端直接可以向該主題發(fā)布/訂閱消息,這樣子服務(wù)器就會(huì)創(chuàng)建對(duì)應(yīng)的主題,當(dāng)然,服務(wù)器中一般也會(huì)默認(rèn)提供多個(gè)系統(tǒng)主題,所有連接的客戶(hù)端均可訂閱。

每個(gè)客戶(hù)端與服務(wù)器建立連接后就是一個(gè)會(huì)話(huà),客戶(hù)端和服務(wù)器之間會(huì)有狀態(tài)交互,訂閱是基于會(huì)話(huà)之上,每個(gè)訂閱中,都會(huì)包含一個(gè)主題過(guò)濾器,它是一個(gè)表達(dá)式,用于標(biāo)識(shí)訂閱相關(guān)的一個(gè)或多個(gè)主題,主題過(guò)濾器可以使用通配符,因此訂閱者需要指定訂閱的主題名字與服務(wù)質(zhì)量(QoS),訂閱者能訂閱多個(gè)主題,也就能接收到多個(gè)發(fā)布者發(fā)布的消息。同理,發(fā)布者也需要首先與服務(wù)器建立會(huì)話(huà),并且指定發(fā)送的主題名字與服務(wù)質(zhì)量,同時(shí)它也能向多個(gè)不同的主題發(fā)送消息。

那么什么是服務(wù)質(zhì)量呢?MQTT的服務(wù)質(zhì)量提供3個(gè)等級(jí):

  1. QoS0:最多發(fā)送一次消息,在消息發(fā)送出去后,接收者不會(huì)發(fā)送回應(yīng),發(fā)送者也不會(huì)重發(fā)消息,消息可能送達(dá)一次也可能根本沒(méi)送達(dá),這個(gè)服務(wù)質(zhì)量常用在不重要的消息傳遞中,因?yàn)榧词瓜G了也沒(méi)有太大關(guān)系。
  2. QoS1:最少發(fā)送一次消息(消息最少需要送達(dá)一次,也有可送達(dá)多次),QoS 1的PUBLISH報(bào)文的可變報(bào)頭中包含一個(gè)報(bào)文標(biāo)識(shí)符,需要PUBACK報(bào)文確認(rèn)。即需要接收者返回PUBACK應(yīng)答報(bào)文。
  3. QoS2:這是最高等級(jí)的服務(wù)質(zhì)量,消息丟失和重復(fù)都是不可接受的,只不過(guò)使用這個(gè)服務(wù)質(zhì)量等級(jí)會(huì)有額外的開(kāi)銷(xiāo),這個(gè)等級(jí)常用于支付中,因?yàn)橹Ц妒潜仨氂星覂H有一次成功,總不能沒(méi)給錢(qián)或者給了多次錢(qiá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)注

    2914

    文章

    44955

    瀏覽量

    377235
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    654

    瀏覽量

    22709
  • 消息隊(duì)列
    +關(guān)注

    關(guān)注

    0

    文章

    33

    瀏覽量

    3017
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MQTT 協(xié)議開(kāi)發(fā)入門(mén)

    一、簡(jiǎn)述MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的"輕量級(jí)
    發(fā)表于 11-05 09:38

    MQTT 協(xié)議 開(kāi)發(fā)入門(mén)

    ,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的"輕量級(jí)"通訊協(xié)議,該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。
    發(fā)表于 11-07 15:51

    MQTT協(xié)議介紹與移植筆記

    # 硬件智能之 MQTT協(xié)議介紹與移植筆記(一)##MQTT是什么?MQTT(MessageQueuing Telemetry Transport Protocol)即全稱(chēng)消息隊(duì)列遙感
    發(fā)表于 08-20 07:08

    MQTT是什么?MQTT協(xié)議的特點(diǎn)有哪些

    MQTT是什么?MQTT協(xié)議的特點(diǎn)有哪些?MQTT協(xié)議有幾種消息發(fā)布服務(wù)質(zhì)量?。?/div>
    發(fā)表于 09-29 07:43

    MQTT協(xié)議的相關(guān)資料推薦

    講到物聯(lián)網(wǎng),就不得不提耳熟能詳?shù)?b class='flag-5'>MQTT協(xié)議,作為當(dāng)下被物聯(lián)網(wǎng)領(lǐng)域廣范圍應(yīng)用的標(biāo)準(zhǔn)協(xié)議,這一誕生于IBM實(shí)驗(yàn)室的“古老”產(chǎn)物(第一個(gè)版本誕生于1999年)已作為ISO國(guó)際標(biāo)準(zhǔn)越來(lái)越多的被廣大應(yīng)用商所
    發(fā)表于 12-13 06:42

    MQTT協(xié)議學(xué)習(xí)過(guò)程記錄

    學(xué)習(xí)mqtt協(xié)議(一)介紹1--6步內(nèi)容第一步 了解全局第二步 確定范圍第三步 定義目標(biāo)第四步 尋找資源第五步 創(chuàng)建學(xué)習(xí)計(jì)劃第六步 篩選資源總結(jié)介紹采用10步學(xué)習(xí)法學(xué)習(xí)mqtt協(xié)議,根
    發(fā)表于 01-07 06:32

    MQTT協(xié)議的相關(guān)資料分享

    前言搞智能家居就不得不說(shuō)到網(wǎng)絡(luò)通信,因?yàn)槲覀冃枰ㄟ^(guò)各種終端去控制我們的智能家居設(shè)備,所以網(wǎng)絡(luò)通信這方面是必備的.而在市面上比較流行的網(wǎng)絡(luò)通訊協(xié)議就是MQTT通信協(xié)議.今天我們就簡(jiǎn)單聊聊如何什么叫
    發(fā)表于 01-20 07:11

    玩轉(zhuǎn)mqtt協(xié)議的方法

    一過(guò)完年即將陷入一場(chǎng)惡戰(zhàn)之中,可能無(wú)暇在玩這么多東西了,趁著過(guò)年把之前一直想搞的mqtt協(xié)議給玩一玩 。簡(jiǎn)單說(shuō)一些mqtt協(xié)議MQTT(M
    發(fā)表于 02-16 06:48

    mqtt-v3.1.1版協(xié)議

    mqtt-v3.1.1版協(xié)議,英文版,時(shí)間2014.10.29,物聯(lián)網(wǎng)通信協(xié)議MQTT
    發(fā)表于 10-29 11:22 ?0次下載

    干貨:MQTT協(xié)議開(kāi)發(fā)入門(mén)

    MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸協(xié)議),是一種基于發(fā)布/訂閱(publish/subscribe)模式的輕量級(jí)通訊協(xié)議,該協(xié)議
    的頭像 發(fā)表于 10-25 09:16 ?3379次閱讀

    MQTT 5協(xié)議你知道多少?

    MQTT協(xié)議是當(dāng)今世界上最流行、接受度最高的物聯(lián)網(wǎng)協(xié)議。自推出以來(lái),MQTT協(xié)議在各行業(yè)應(yīng)用廣泛。本文帶大家了解
    的頭像 發(fā)表于 02-23 13:14 ?856次閱讀

    智聯(lián)物聯(lián)分享之物聯(lián)網(wǎng)協(xié)議MQTT簡(jiǎn)述,MQTT協(xié)議特點(diǎn)

    )基于客戶(hù)端/服務(wù)器的信息發(fā)布/訂閱的物聯(lián)網(wǎng)常用傳輸協(xié)議。1999年由開(kāi)發(fā)商IBM發(fā)布,MQTT協(xié)議是輕量、簡(jiǎn)單、開(kāi)放和易于實(shí)現(xiàn)的,這些特點(diǎn)也使得MQTT
    的頭像 發(fā)表于 03-28 18:10 ?1347次閱讀
    智聯(lián)物聯(lián)分享之物聯(lián)網(wǎng)<b class='flag-5'>協(xié)議</b><b class='flag-5'>MQTT</b>簡(jiǎn)述,<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>特點(diǎn)

    MQTT協(xié)議的概念和主要特性 MQTT協(xié)議于物聯(lián)網(wǎng)有何好處

    MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是ISO標(biāo)準(zhǔn)下基于發(fā)布/訂閱方式的輕量級(jí)消息協(xié)議。MQTT通常使用TCP / IP(傳輸控制
    的頭像 發(fā)表于 07-28 11:21 ?2594次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>的概念和主要特性 <b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>于物聯(lián)網(wǎng)有何好處

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

    MQTT協(xié)議網(wǎng)關(guān)是一個(gè)中間件,負(fù)責(zé)接收來(lái)自不同MQTT客戶(hù)端的消息,并將這些消息轉(zhuǎn)發(fā)到MQTT服務(wù)器;同時(shí),也能接收來(lái)自MQTT服務(wù)器的消息
    的頭像 發(fā)表于 03-11 14:07 ?563次閱讀

    mqtt協(xié)議和tcp協(xié)議區(qū)別

    MQTT協(xié)議和TCP協(xié)議在設(shè)計(jì)和應(yīng)用上存在以下主要區(qū)別: 1. 起源與設(shè)計(jì):MQTT協(xié)議誕生于1999年互聯(lián)網(wǎng)初期,而TCP
    的頭像 發(fā)表于 04-01 09:15 ?1768次閱讀