19_MQTT協議介紹

甜饼怪2030發表於2024-03-12

MQTT介紹

MQTT(Message Queuing Telemetry Transport)是一種基於釋出/訂閱模式的輕量級訊息傳輸協議。
它是在TCP/IP協議上構建的,用於在物聯網(IoT)等資源受限的裝置和低頻寬、高延遲或不穩定的網路環境中進行通訊。

特點

MQTT協議的特點包括:

  • 輕量級:MQTT協議的報文非常小,只有幾十個位元組,因此非常適合資源受限的裝置。
  • 可靠性:MQTT協議支援訊息的可靠傳輸,確保訊息不會丟失。
  • 可擴充套件性:MQTT協議支援多級主題,可以將裝置組織成樹形結構,方便管理。
  • 安全性:MQTT協議支援多種認證和授權機制,可以保證資料的安全性。

應用場景

MQTT協議的應用場景包括:

  • 物聯網:MQTT協議是物聯網中常用的通訊協議,用於連線各種感測器、執行器和其他裝置。
  • 工業控制:MQTT協議可以用於工業控制系統中,用於監控和控制裝置。
  • 智慧家居:MQTT協議可以用於智慧家居系統中,用於控制家電和燈光。
  • 車聯網:MQTT協議可以用於車聯網中,用於連線車載裝置和交通基礎設施。

工作原理

MQTT協議的工作原理如下:

  • MQTT協議使用釋出/訂閱模式進行通訊。
  • 釋出者將訊息釋出到主題。
  • 訂閱者訂閱主題,可以接收發布者釋出到該主題的訊息。
  • MQTT協議使用伺服器來儲存和轉發訊息。

報文型別

MQTT協議的報文型別包括:

  • CONNECT:連線報文,用於建立連線。
  • PUBLISH:釋出報文,用於釋出訊息。
  • SUBSCRIBE:訂閱報文,用於訂閱主題。
  • UNSUBSCRIBE:取消訂閱報文,用於取消訂閱主題。
  • DISCONNECT:斷開連線報文,用於斷開連線。

錯誤碼

MQTT協議的常見錯誤碼包括:

  • 0:連線成功
  • 1:連線拒絕
  • 2:不可接受的協議版本
  • 3:無效的客戶端識別符號
  • 4:無效的使用者名稱或密碼
  • 5:服務端不可用
  • 6:不匹配的協議版本
  • 7:客戶端識別符號已使用
  • 8:無效的主題
  • 9:訂閱主題數量超過限制
  • 10:訊息大小超過限制
  • 11:服務端內部錯誤

常見擴充套件

MQTT協議的常見擴充套件包括:

  • MQTT over WebSockets:使用 WebSockets 進行通訊。
  • MQTT over TLS:使用 TLS 加密進行通訊。
  • MQTT over HTTP:使用 HTTP 進行通訊。

相關文章