Mosquitto: 理解 MQTT 主題
此文件屬於入門指南指南的一部分。請在此處查看完整指南:如何開始使用 Mosquitto。
👋 歡迎瀏覽 Stackhero 文件!
Stackhero 為您提供一個全託管的 Mosquitto MQTT cloud 環境,專為高可靠性及靈活性而設:
- 無限訊息吞吐量及數據傳輸,確保您的工作流程不會受到人為限制。
- 透過您自設的外部 API,實現無限裝置認證,讓裝置接入及存取管理更輕鬆。
- 進階 ACLs,可細緻控制 topics、用戶及操作權限。
- 提供自訂網域名稱及內建HTTPS,確保端點安全並展現品牌形象(例如:https://mqtt.your-company.com)。
- 零煩惱更新:只需一鍵即可套用功能改進或安全修補。
- 穩定效能及強大安全性,每個實例均運行於專屬私有基礎設施。
加速您的 IoT 項目,同時減少營運負擔。您只需數分鐘,即可啟動一個安全、可投入生產的 Mosquitto MQTT cloud hosting 實例。
MQTT 將通信組織為「主題」,這些主題充當發布和訂閱數據的通道。設備將消息發布到特定主題或訂閱它們以接收相關更新。
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 主題中使用通配符
MQTT 支持通配符以便有效管理主題:
-
+通配符匹配主題層次結構中的單一層級。例如,訂閱devices/+/temperature可以捕獲像devices/1/temperature這樣的主題,但不包括devices/1/2/temperature。 -
#通配符匹配多個層級。例如,devices/#匹配的主題包括devices/1/temperature、devices/2/humidity和devices/1/2/somethingElse。