在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MQTT協議簡介及協議原理

汽車電子技術 ? 來源:物聯網IoT開發 ? 作者: 杰杰mcu ? 2023-02-28 16:16 ? 次閱讀

MQTT協議簡介

MQTT協議全稱是Message Queuing Telemetry Transport,翻譯過來就是消息隊列遙測傳輸協議,它是物聯網常用的應用層協議,運行在TCP/IP中的應用層中,依賴TCP協議,因此它具有非常高的可靠性,同時它是基于TCP協議的 <客戶端-服務器> 模型發布/訂閱主題消息的輕量級協議,也是我們常說的發送與接收數據,下面我們來初步了解一下mqtt相關的名稱與功能。

MQTT最大的優點在于可以以極少的代碼和有限的帶寬,為遠程設備提供實時可靠的消息服務。作為一種低開銷、低帶寬占用的即時通訊協議,MQTT在物聯網、小型設備、移動應用等方面有廣泛的應用。

MQTT是哪一層的協議?

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

MQTT通信模型

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

MQTT通信模型示意圖如下:

圖片

mqtt001

MQTT客戶端的功能:

  1. 發布消息給其它相關的客戶端。
  2. 訂閱主題請求接收相關的應用消息。
  3. 取消訂閱主題請求移除接收應用消息。
  4. 從服務端終止連接。

MQTT客戶服務器功能:

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

  1. 接受來自客戶端的網絡連接請求。
  2. 接受客戶端發布的應用消息。
  3. 處理客戶端的訂閱和取消訂閱請求。
  4. 轉發應用消息給符合條件的已訂閱客戶端(包括發布者自身)。

消息主題與服務質量

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

發布者與訂閱者可以通過主題名字,一般為UTF-8編碼(反正用英文字符串就不會錯)的形式發布和訂閱主題,比如我們可以直接定義一個名字為“test”的主題,絕大多數的MQTT服務器支持動態發布/訂閱主題,即當前服務器中沒有某個主題,但是客戶端直接可以向該主題發布/訂閱消息,這樣子服務器就會創建對應的主題,當然,服務器中一般也會默認提供多個系統主題,所有連接的客戶端均可訂閱。

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

那么什么是服務質量呢?MQTT的服務質量提供3個等級:

  1. QoS0:最多發送一次消息,在消息發送出去后,接收者不會發送回應,發送者也不會重發消息,消息可能送達一次也可能根本沒送達,這個服務質量常用在不重要的消息傳遞中,因為即使消息丟了也沒有太大關系。
  2. QoS1:最少發送一次消息(消息最少需要送達一次,也有可送達多次),QoS 1的PUBLISH報文的可變報頭中包含一個報文標識符,需要PUBACK報文確認。即需要接收者返回PUBACK應答報文。
  3. QoS2:這是最高等級的服務質量,消息丟失和重復都是不可接受的,只不過使用這個服務質量等級會有額外的開銷,這個等級常用于支付中,因為支付是必須有且僅有一次成功,總不能沒給錢或者給了多次錢吧。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2913

    文章

    44923

    瀏覽量

    377017
  • MQTT
    +關注

    關注

    5

    文章

    653

    瀏覽量

    22692
  • 消息隊列
    +關注

    關注

    0

    文章

    33

    瀏覽量

    3017
收藏 人收藏

    評論

    相關推薦

    MQTT 協議開發入門

    一、簡述MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸協議),是一種基于發布/訂閱(publish/subscribe)模式的"輕量級
    發表于 11-05 09:38

    MQTT 協議 開發入門

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

    MQTT協議介紹與移植筆記

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

    MQTT是什么?MQTT協議的特點有哪些

    MQTT是什么?MQTT協議的特點有哪些?MQTT協議有幾種消息發布服務質量啊?
    發表于 09-29 07:43

    MQTT協議的相關資料推薦

    講到物聯網,就不得不提耳熟能詳的MQTT協議,作為當下被物聯網領域廣范圍應用的標準協議,這一誕生于IBM實驗室的“古老”產物(第一個版本誕生于1999年)已作為ISO國際標準越來越多的被廣大應用商所
    發表于 12-13 06:42

    MQTT協議學習過程記錄

    學習mqtt協議(一)介紹1--6步內容第一步 了解全局第二步 確定范圍第三步 定義目標第四步 尋找資源第五步 創建學習計劃第六步 篩選資源總結介紹采用10步學習法學習mqtt協議,根
    發表于 01-07 06:32

    MQTT協議的相關資料分享

    前言搞智能家居就不得不說到網絡通信,因為我們需要通過各種終端去控制我們的智能家居設備,所以網絡通信這方面是必備的.而在市面上比較流行的網絡通訊協議就是MQTT通信協議.今天我們就簡單聊聊如何什么叫
    發表于 01-20 07:11

    玩轉mqtt協議的方法

    一過完年即將陷入一場惡戰之中,可能無暇在玩這么多東西了,趁著過年把之前一直想搞的mqtt協議給玩一玩 。簡單說一些mqtt協議MQTT(M
    發表于 02-16 06:48

    mqtt-v3.1.1版協議

    mqtt-v3.1.1版協議,英文版,時間2014.10.29,物聯網通信協議MQTT
    發表于 10-29 11:22 ?0次下載

    干貨:MQTT協議開發入門

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

    MQTT 5協議你知道多少?

    MQTT協議是當今世界上最流行、接受度最高的物聯網協議。自推出以來,MQTT協議在各行業應用廣泛。本文帶大家了解
    的頭像 發表于 02-23 13:14 ?851次閱讀

    智聯物聯分享之物聯網協議MQTT簡述,MQTT協議特點

    )基于客戶端/服務器的信息發布/訂閱的物聯網常用傳輸協議。1999年由開發商IBM發布,MQTT協議是輕量、簡單、開放和易于實現的,這些特點也使得MQTT
    的頭像 發表于 03-28 18:10 ?1343次閱讀
    智聯物聯分享之物聯網<b class='flag-5'>協議</b><b class='flag-5'>MQTT</b>簡述,<b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>特點

    MQTT協議的概念和主要特性 MQTT協議于物聯網有何好處

    MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是ISO標準下基于發布/訂閱方式的輕量級消息協議MQTT通常使用TCP / IP(傳輸控制
    的頭像 發表于 07-28 11:21 ?2588次閱讀
    <b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>的概念和主要特性 <b class='flag-5'>MQTT</b><b class='flag-5'>協議</b>于物聯網有何好處

    MQTT協議網關解決方案設計與實施

    MQTT協議網關是一個中間件,負責接收來自不同MQTT客戶端的消息,并將這些消息轉發到MQTT服務器;同時,也能接收來自MQTT服務器的消息
    的頭像 發表于 03-11 14:07 ?562次閱讀

    mqtt協議和tcp協議區別

    MQTT協議和TCP協議在設計和應用上存在以下主要區別: 1. 起源與設計:MQTT協議誕生于1999年互聯網初期,而TCP
    的頭像 發表于 04-01 09:15 ?1754次閱讀
    主站蜘蛛池模板: 一级毛片成人免费看a | 日本免费不卡视频一区二区三区 | 午夜影院黄 | 婷婷色香| 亚洲精品影视 | 午夜毛片不卡高清免费 | 国产精品一区二区三区四区 | 国产主播在线播放 | 综综综综合网 | 免费观看老外特级毛片 | 亚洲经典一区二区三区 | 黄色a毛片 | 免费看欧美理论片在线 | 西西人体www303sw大胆高清 | 能看的黄网 | 男男生子大肚play做到生 | 91精品国产色综合久久不卡蜜 | 日本黄a | 日韩三级在线观看视频 | 看日本黄大片在线观看 | 亚洲精品美女视频 | 一级做a爰片久久毛片图片 一级做a爰片久久毛片鸭王 | 97影院理伦在线观看 | 成人mv高清在线 | 欧美激情xxxx性bbbb | 久久久久免费观看 | 午夜免费啪在线观看视频网站 | 国产高清一级在线观看 | 日本资源在线 | 色综合视频在线观看 | 操女网站 | 国产在线操 | 啪啪亚洲 | 色多多·com 色多多18免费观看 色多多a | 免费看黄的视频软件 | www.av在线| 欧美美女一区二区三区 | 视频色www永久免费 视频色版 | 一区视频| 久久婷婷国产一区二区三区 | 色老头在线精品视频在线播放 |