MQTT協議簡介及百度雲物接入loT-MQTT測試

秦子帥發表於2019-03-04

前幾天寫了一下MQTT協議實現推送資料傳輸,所以我會不定期的更新一下關注MQTT的知識。

MQTT: MQTT(Message Queuing Telemetry Transport,訊息佇列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支援所有平臺,幾乎可以把所有聯網物品和外部連線起來,被用來當做感測器和制動器(比如通過Twitter讓房屋聯網)的通訊協議。

MQTT特點

MQTT協議是為大量計算能力有限,且工作在低頻寬、不可靠的網路的遠端感測器和控制裝置通訊而設計的協議,它具有以下主要的幾項特性:

1.使用釋出/訂閱訊息模式,提供一對多的訊息釋出,解除應用程式耦合;

2.對負載內容遮蔽的訊息傳輸;

3.使用 TCP/IP 提供網路連線;

4.有三種訊息釋出服務質量:

“至多一次”,訊息釋出完全依賴底層 TCP/IP 網路。會發生訊息丟失或重複。這一級別可用於如下情況,環境感測器資料,丟失一次讀記錄無所謂,因為不久後還會有第二次傳送。

“至少一次”,確保訊息到達,但訊息重複可能會發生。

“只有一次”,確保訊息到達一次。這一級別可用於如下情況,在計費系統中,訊息重複或丟失會導致不正確的結果。
複製程式碼

5.小型傳輸,開銷很小(固定長度的頭部是 2 位元組),協議交換最小化,以降低網路流量;

6.使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制; MQTT特徵原理

實現MQTT協議需要:客戶端和伺服器端

MQTT協議有三種身份:釋出者(Pushlish)、代理(Broker)、訂閱者(Subscribe)

MQTT的訊息分為:主題(Topic)和負載(payload)兩部分

Topic,可以理解為訊息的型別,訂閱者Subscribe之後,就會收到該主題的訊息內容(payload)。

payload,可以理解為訊息的內容,是指訂閱者具體的使用內容

##訊息型別:

CONNECT:客戶端連線到MQTT代理

CONNACK:連線確認

PUBLISH:新發布訊息

PUBACK:新發布訊息確認,是QoS 1給PUBLISH訊息的回覆

PUBREC:QoS 2訊息流的第一部分,表示訊息釋出已記錄

PUBREL:QoS 2訊息流的第二部分,表示訊息釋出已釋放

PUBCOMP:QoS 2訊息流的第三部分,表示訊息釋出完成

SUBSCRIBE:客戶端訂閱某個主題

SUBACK:對於SUBSCRIBE訊息的確認

UNSUBSCRIBE:客戶端終止訂閱的訊息

UNSUBACK:對於UNSUBSCRIBE訊息的確認

PINGREQ:心跳

PINGRESP:確認心跳

DISCONNECT:客戶端終止連線前優雅地通知MQTT代理
複製程式碼

MQTT應用

通過MQTT協議,目前已經擴充套件出了數十個MQTT伺服器端程式,可以通過PHP,JAVA,Python,C,C#等系統語言來向MQTT傳送相關訊息。

此外,國內很多企業都廣泛使用MQTT作為Android手機客戶端與伺服器端推送訊息的協議。其中Sohu,Cmstop手機客戶端中均有使用到MQTT作為訊息推送訊息。據Cmstop主要負責訊息推送的高階研發工程師李文凱稱,隨著移動網際網路的發展,MQTT由於開放原始碼,耗電量小等特點,將會在移動訊息推送領域會有更多的貢獻,在物聯網領域,感測器與伺服器的通訊,資訊的收集,MQTT都可以作為考慮的方案之一。在未來MQTT會進入到我們生活的各各方面。


百度雲物接入loT-MQTT測試

一.配置

1.註冊百度雲賬號,開啟物接入介面:

MQTT協議簡介及百度雲物接入loT-MQTT測試
2.在管理控制平臺建立:

MQTT協議簡介及百度雲物接入loT-MQTT測試

MQTT協議簡介及百度雲物接入loT-MQTT測試

3.點選剛才建立的例項名稱,並建立裝置:

MQTT協議簡介及百度雲物接入loT-MQTT測試
MQTT協議簡介及百度雲物接入loT-MQTT測試
4.填寫身份、策略、主題等資訊

需要注意的是Topic和生成的金鑰一定要記住,如果金鑰丟了的話只能去重置金鑰了。

MQTT協議簡介及百度雲物接入loT-MQTT測試

MQTT協議簡介及百度雲物接入loT-MQTT測試

基本配置就是這些了。

二.連線測試

1.點選連線測試:

MQTT協議簡介及百度雲物接入loT-MQTT測試

2.填寫剛才生成金鑰,以及使用者名稱稱,然後點選Connect

MQTT協議簡介及百度雲物接入loT-MQTT測試

3.連線之後開始測試,填寫一下你剛才設定的主題,比如我設定的主題是qzsservice,步驟如下:

MQTT協議簡介及百度雲物接入loT-MQTT測試

MQTT協議簡介及百度雲物接入loT-MQTT測試

MQTT協議簡介及百度雲物接入loT-MQTT測試
傳送後底下就會顯示Messages資訊了,說明測試成功!

歡迎大家關注我的微信公眾號:

MQTT協議簡介及百度雲物接入loT-MQTT測試

相關文章