自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

帶你了解MQTT協(xié)議

網(wǎng)絡(luò)
目前MQTT協(xié)議被廣泛應(yīng)用于自動駕駛、工業(yè)、通信等領(lǐng)域。本文將詳細介紹MQTT協(xié)議的特點、如何運作等相關(guān)問題。

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

?Labs 導(dǎo)讀

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

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

圖片

Part 01MQTT協(xié)議的特點 

- 輕量高效

只需極少的資源即可實現(xiàn)MQTT客戶端,這使得MQTT協(xié)議可以輕松地在微型芯片上運行。極簡報文設(shè)置實現(xiàn)最小網(wǎng)絡(luò)開銷。

- 范圍廣播

輕松實現(xiàn)百萬設(shè)備消息廣播。

- 穩(wěn)定傳輸

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

- 弱網(wǎng)支持

會話保持機制減少弱網(wǎng)環(huán)境下設(shè)備重連時間。

- 安全保障

支持多種認證協(xié)議保障消息安全

Part 02MQTT協(xié)議是怎么工作的 ● 

MQTT協(xié)議定義了消息代理節(jié)點(Broker)及MQTT客戶端(Client),兩種網(wǎng)絡(luò)實體類型。Broker接收Client發(fā)送的消息并負責(zé)轉(zhuǎn)發(fā)這些消息到指定的Client。Client是能與Broker產(chǎn)生交互的任何實體,負責(zé)發(fā)送與接收消息。常見的Client比如IoT傳感器,云端服務(wù)器??梢娫贛QTT協(xié)議中消息是通過Broker進行轉(zhuǎn)發(fā)的,而不是由一個Client與另一個Client直接連接通信。為了區(qū)分,我們可以把Client定義為消息發(fā)送者(Publisher-Client)與消息接收者(Subscriber-Client)。

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

圖片

Part 03MQTT協(xié)議質(zhì)量保障 

眾所周知,物聯(lián)網(wǎng)設(shè)備往往處在復(fù)雜的網(wǎng)絡(luò)環(huán)境下,比如農(nóng)業(yè)物聯(lián)網(wǎng)中,蔬菜大棚的傳感器設(shè)備;工業(yè)物聯(lián)網(wǎng)中,封閉車間的溫濕度傳感器等等。在這些復(fù)雜網(wǎng)絡(luò)場景下,設(shè)備狀態(tài)是無法確定的,為了在這些場景下保障連接,MQTT協(xié)議提供了消息服務(wù)質(zhì)量保障等級(Qos,Quality of Service levels)。

  • Qos-0最多一次

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

圖片

  • Qos-1 最少一次

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

圖片

  • Qos-2 只有一次

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

圖片

Part 04最小MQTT應(yīng)用搭建

在了解MQTT理論基礎(chǔ)概念后,我們一起在Windows系統(tǒng)上搭建一個最小MQTT服務(wù),實現(xiàn)MQTT消息的發(fā)送及訂閱。

(1) Broker搭建

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

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

(2) Client搭建

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

(3) 消息訂閱

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

(4) 消息發(fā)送

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

至此一個最小的MQTT應(yīng)用就搭建完成了。

圖片

綜上所述,MQTT協(xié)議關(guān)注于消息,擁有輕量、高效、低開銷等特性,相對于HTTP等廣泛應(yīng)用于互聯(lián)網(wǎng)場景的協(xié)議來說,MQTT協(xié)議與物聯(lián)網(wǎng)通信領(lǐng)域更加契合。?

責(zé)任編輯:未麗燕 來源: 移動Labs
相關(guān)推薦

2010-07-05 16:20:32

NetBEUI協(xié)議

2022-02-25 07:34:36

MQTT協(xié)議RabbitMQ

2010-09-02 16:59:35

資源預(yù)留協(xié)議

2010-07-06 17:14:03

網(wǎng)關(guān)通信協(xié)議

2022-02-24 07:34:10

SSL協(xié)議加密

2023-12-06 16:28:56

2019-09-27 09:40:06

ElvishShellLinux

2020-11-17 08:59:28

MQTT

2018-08-17 06:13:16

物聯(lián)網(wǎng)協(xié)議MQTTMQTT-SN

2019-07-09 08:29:51

TCPIP協(xié)議

2021-02-03 16:22:43

新基建SAP

2020-12-31 12:16:49

SAP云計算SAP產(chǎn)品

2019-11-05 10:18:04

RPM包RPMLinux

2021-05-31 14:22:56

物聯(lián)網(wǎng)物聯(lián)網(wǎng)安全

2021-12-10 10:29:07

在線客服系統(tǒng)

2022-06-27 10:41:45

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

2024-03-26 11:52:13

2023-03-20 16:16:40

MQTT傳輸協(xié)議

2023-09-24 23:18:50

2021-07-05 22:22:24

協(xié)議MQTT
點贊
收藏

51CTO技術(shù)棧公眾號