Mosquitto: 理解 MQTT 主題
本文件是入門指南指南的一部分。請在此處查看完整指南:如何開始使用 Mosquitto。
👋 歡迎來到 Stackhero 文件!
Stackhero 提供即用型 Mosquitto MQTT cloud 解決方案,帶來多項優勢,包括:
- 無限的消息交換和傳輸。
- 通過外部 API 進行 無限 的設備認證。
- 在主題、用戶和操作上提供 高級 ACLs。
- 使用 HTTPS 保護的 可自訂域名(例如,https://mqtt.your-company.com)。
- 只需點擊即可輕鬆 更新。
- 由 專用私有 VM 提供的最佳 性能 和強大 安全性。
節省時間 並 簡化您的生活:只需 5 分鐘 即可嘗試 Stackhero 的 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等主題。