成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

帶你了解MQTT協議

網絡
目前MQTT協議被廣泛應用于自動駕駛、工業、通信等領域。本文將詳細介紹MQTT協議的特點、如何運作等相關問題。

作者 | 王映月,單位:中國移動智慧家庭運營中心

?Labs 導讀

目前MQTT協議被廣泛應用于自動駕駛、工業、通信等領域。而在智能家居領域市場上,中國移動、華為、阿里、騰訊等多家IoT平臺都支持MQTT協議接入。本文將詳細介紹MQTT協議的特點、如何運作等相關問題。

MQTT是結構化信息標準促進組織(OASIS,Organization for the Advancement of Structured Information Standards)標準下的物聯網消息傳遞協議,其輕量級的發布/訂閱傳輸機制,非常適合為遠程連接設備提供可靠的消息通信服務。目前MQTT協議被廣泛應用于自動駕駛、工業、通信等領域。而在智能家居領域市場上中國移動、華為、阿里、騰訊等多家IoT平臺都支持MQTT協議接入。

圖片

Part 01MQTT協議的特點 

- 輕量高效

只需極少的資源即可實現MQTT客戶端,這使得MQTT協議可以輕松地在微型芯片上運行。極簡報文設置實現最小網絡開銷。

- 范圍廣播

輕松實現百萬設備消息廣播。

- 穩定傳輸

3種消息傳輸保障等級,提供不同場景下消息傳遞的可靠性保證。

- 弱網支持

會話保持機制減少弱網環境下設備重連時間。

- 安全保障

支持多種認證協議保障消息安全

Part 02MQTT協議是怎么工作的 ● 

MQTT協議定義了消息代理節點(Broker)及MQTT客戶端(Client),兩種網絡實體類型。Broker接收Client發送的消息并負責轉發這些消息到指定的Client。Client是能與Broker產生交互的任何實體,負責發送與接收消息。常見的Client比如IoT傳感器,云端服務器。可見在MQTT協議中消息是通過Broker進行轉發的,而不是由一個Client與另一個Client直接連接通信。為了區分,我們可以把Client定義為消息發送者(Publisher-Client)與消息接收者(Subscriber-Client)。

  • Client與Broker建立連接,該連接可以是一個TCP/IP連接,也可以是一個加密的TLS連接。
  • Subscriber-Client訂閱一個主題(Topic)。
  • Publisher-Client發送某個Topic消息到Broker。
  • Broker將該條消息轉發給所有訂閱該Topic的Subscriber-Client。

圖片

Part 03MQTT協議質量保障 

眾所周知,物聯網設備往往處在復雜的網絡環境下,比如農業物聯網中,蔬菜大棚的傳感器設備;工業物聯網中,封閉車間的溫濕度傳感器等等。在這些復雜網絡場景下,設備狀態是無法確定的,為了在這些場景下保障連接,MQTT協議提供了消息服務質量保障等級(Qos,Quality of Service levels)。

  • Qos-0最多一次

Qos 0 保障消息到達終點最多不超過1次。消息可能到達1次或根本不會到達。適用于功率受限設備,可以最大減少傳播時間,減少消息傳遞成本;適用于非關鍵消息傳遞,例如被頻繁重復發送的消息。

圖片

  • Qos-1 最少一次

Qos 1保障消息到達終點最少不低于1次。Broker在確認接收消息后會返回一個PUBACK消息給到Publisher-Client。如果消息發送失敗,Publisher-Client將在一段時間后重發消息。此類型消息適用于重要不可丟失的消息傳遞,可利用該傳輸機制保證消息在離線設備上線后仍能收到。Subscriber-Client需要做好重復消息處理工作。

圖片

  • Qos-2 只有一次

Qos 2 保障消息到達終點只有1次。此類消息保證接接收端對于一條消息只接收一次,是MQTT協議中最安全且傳輸速度最慢的一種消息傳遞形式。適用于十分重要且不允許重復消息出現的場景使用,由于消息十分重要,因此可忽視額外的網絡開銷。

圖片

Part 04最小MQTT應用搭建

在了解MQTT理論基礎概念后,我們一起在Windows系統上搭建一個最小MQTT服務,實現MQTT消息的發送及訂閱。

(1) Broker搭建

我們選擇開源代理平臺Mosquitto作為此次最小MQTT應用的單點Broker。

將Mosquitto Windows版下載完成后,通過Windows系統終端打開mosquitto.exe文件。輸入./mosquitto.exe -p 1883 即在Windows系統上啟動了一個MQTT服務,監聽地址為127.0.0.1,端口是1883。

(2) Client搭建

完成Broker搭建后,我們還需要Client實現消息的發送和訂閱。我們選擇mqtt.fx軟件作為此次最小MQTT應用的Client。打開mqtt.fx軟件,我們通過設置MQTT Broker Address為127.0.01,Broker Port為1883,并自定義Client ID。完成設置后,點擊主頁面的Connect,頁面右上角的連接指示燈顯示為綠色即表示完成了連接,此時我們實現了Client到Broker的連接。

(3) 消息訂閱

假定步驟二創建的Client為一個Subscriber-Client,此時通過點擊主頁面中的Subscribe,填寫訂閱Topic信息,在示例中我訂閱的Topic為test,即可完成該Client對于該Topic訂閱。

(4) 消息發送

重新打開一個mqtt.fx客戶端,創建一個Publisher-Client,設置MQTT Broker信息與Subscriber-Client信息一致,成功連接Broker后,在Publish頁面下,向指定Topic即test發送信息,此時我們可以在Subscriber-Client界面上看到消息成功的從Broker轉發至Subscriber-Client。

至此一個最小的MQTT應用就搭建完成了。

圖片

綜上所述,MQTT協議關注于消息,擁有輕量、高效、低開銷等特性,相對于HTTP等廣泛應用于互聯網場景的協議來說,MQTT協議與物聯網通信領域更加契合。?

責任編輯:未麗燕 來源: 移動Labs
相關推薦

2010-07-05 16:20:32

NetBEUI協議

2010-09-02 16:59:35

資源預留協議

2022-02-25 07:34:36

MQTT協議RabbitMQ

2010-07-06 17:14:03

網關通信協議

2022-02-24 07:34:10

SSL協議加密

2023-12-06 16:28:56

2019-09-27 09:40:06

ElvishShellLinux

2020-11-17 08:59:28

MQTT

2020-12-31 12:16:49

SAP云計算SAP產品

2021-02-03 16:22:43

新基建SAP

2021-05-31 14:22:56

物聯網物聯網安全

2021-12-10 10:29:07

在線客服系統

2019-11-05 10:18:04

RPM包RPMLinux

2018-08-17 06:13:16

物聯網協議MQTTMQTT-SN

2019-07-09 08:29:51

TCPIP協議

2024-03-26 11:52:13

2023-03-20 16:16:40

MQTT傳輸協議

2022-06-27 10:41:45

MQTT物聯網協議

2018-03-01 16:25:52

Linux內核內存管理

2023-11-20 08:18:49

Netty服務器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美国产日韩一区 | 羞羞视频在线网站观看 | 啪啪毛片 | 91麻豆精品国产91久久久更新资源速度超快 | 久久一区二区三区四区 | 羞羞视频网站免费观看 | 久草视频2 | 亚洲风情在线观看 | 国产精品1区2区3区 男女啪啪高潮无遮挡免费动态 | 99在线精品视频 | 日韩一二三区视频 | 91精品久久久 | 国产精品成人久久久久 | 亚洲精品日本 | 欧美视频一区 | 亚洲精品自拍视频 | 亚洲精品专区 | 人人干人人艹 | 91福利网址 | 一级毛片视频在线观看 | 特级做a爰片毛片免费看108 | 国产高清一区二区 | 一级片片| 精品在线一区二区三区 | 五月香婷婷 | 国产三级日本三级 | 久久精品国产99国产精品 | 国产精品视频一区二区三区 | 99热这里有精品 | 久久久久久99 | 热99| 成人av鲁丝片一区二区小说 | 亚洲成人在线免费 | 国产视频第一页 | 久久综合香蕉 | 国产九九精品 | 欧美精品中文字幕久久二区 | av看片| 成人福利视频网站 | 国产一区二区三区在线观看免费 | 国产精品久久影院 |