Mosquitto: 理解 MQTT 主題

此文件屬於入門指南指南的一部分。請在此處查看完整指南:如何開始使用 Mosquitto

👋 歡迎瀏覽 Stackhero 文件!

Stackhero 為您提供一個全託管的 Mosquitto MQTT cloud 環境,專為高可靠性及靈活性而設:

  • 無限訊息吞吐量及數據傳輸,確保您的工作流程不會受到人為限制。
  • 透過您自設的外部 API,實現無限裝置認證,讓裝置接入及存取管理更輕鬆。
  • 進階 ACLs,可細緻控制 topics、用戶及操作權限。
  • 提供自訂網域名稱及內建HTTPS,確保端點安全並展現品牌形象(例如:https://mqtt.your-company.com)。
  • 零煩惱更新:只需一鍵即可套用功能改進或安全修補。
  • 穩定效能及強大安全性,每個實例均運行於專屬私有基礎設施

加速您的 IoT 項目,同時減少營運負擔。您只需數分鐘,即可啟動一個安全、可投入生產的 Mosquitto MQTT cloud hosting 實例。

MQTT 將通信組織為「主題」,這些主題充當發布和訂閱數據的通道。設備將消息發布到特定主題或訂閱它們以接收相關更新。

MQTT 中的主題區分大小寫,必須包含 UTF-8 字符,並且至少需要一個字符。主題中的層次結構是使用斜線(/)字符定義的。

以下是 IoT 設備收集溫度和濕度數據的示例設置,通過其 MAC 地址識別:

  • 對於 MAC 地址為 00:00:00:00:00:00 的設備:

    • 溫度:devices/00:00:00:00:00:00/temperature
    • 濕度:devices/00:00:00:00:00:00/humidity
  • 對於 MAC 地址為 11:11:11:11:11:11 的設備:

    • 溫度:devices/11:11:11:11:11:11/temperature
    • 濕度:devices/11:11:11:11:11:11/humidity

應用程序可以訂閱特定主題,例如 devices/00:00:00:00:00:00/temperature,以接收來自相應 IoT 設備的數據。

MQTT 支持通配符以便有效管理主題:

  • + 通配符匹配主題層次結構中的單一層級。例如,訂閱 devices/+/temperature 可以捕獲像 devices/1/temperature 這樣的主題,但不包括 devices/1/2/temperature

  • # 通配符匹配多個層級。例如,devices/# 匹配的主題包括 devices/1/temperaturedevices/2/humiditydevices/1/2/somethingElse