MQTT協議詳解及開發教程(一)MQTT協議概述

2021-10-13 18:23:25 字數 826 閱讀 3921

推薦一款穩定的基於c編寫的mqtt client開源庫《cmqtt》

mqtt協議目前在物聯網技術中應用非常廣泛,各種公有雲的iot平台通訊基本上都是按照該協議來實現的,這裡先簡單的做個總結:

(1)mqtt協議框架及內容比較標準,可以認為是「物聯網行業的modbus協議」。

(2)不同廠家的mqtt 伺服器或客戶端在通訊層面是完全一致的,只有業務資料不同而已。這也就意味著,如果知道client id 、password、payload格式,

那麼任何的mqtt client都可以連線到mqtt 伺服器上。

(3)mqtt的模式是發布和訂閱,發布既可以是客戶端也可以是服務端,但是最終都是需要服務端broker進行**。

關於mqtt協議的定義及應用場景,網上的資料非常多,下面舉乙個簡單的應用案例系統框圖來說明:

上圖中,client1和client3 都「訂閱」了topic1,當client2向topic1「發布」訊息時,client1和client3都會收到client2 傳送的訊息。

客戶端通過「訂閱」某個topic,當這個topic有新的訊息時,伺服器會自動將訊息**給這個client。

附加在應用訊息上的乙個標籤,伺服器broker就是根據topic名稱,與訂閱該topic的client進行關聯,然後進行訊息**。

訂閱操作中包含的topic,可以是具體的topic name,也可以通過「萬用字元」實現訂閱多個主題。

從客戶端向服務端發起mqtt連線請求開始,到連線中斷,直到會話過期未知的訊息手法序列稱之為會話。

MQTT協議 MQTT協議簡介及協議原理

mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有限的頻寬,為連...

MQTT協議 MQTT協議簡介及協議原理

mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有限的頻寬,為連...

MQTT協議 MQTT協議簡介及協議原理

mqtt message queuing telemetry transport,訊息佇列遙測傳輸協議 是一種基於發布 訂閱 publish subscribe 模式的 輕量級 通訊協議,該協議構建於tcp ip協議上,由ibm在1999年發布。mqtt最大優點在於,可以以極少的 和有限的頻寬,為連...