一、 定義
MQTT(Message Queuing Telemetry Transport)是一種基于發布/訂閱模式的輕量級物聯網消息傳輸協議。它專為在低帶寬、高延遲或不穩定的網絡環境中運行的設備而設計。
二、 核心概念與工作流程
要理解MQTT,首先需要了解其架構中的三個核心角色和通信流程。
1. 核心角色
· 發布者:發送消息的客戶端。
· 訂閱者:接收消息的客戶端。
· 代理:負責接收所有消息,并根據主題過濾后,再將消息分發給感興趣的訂閱者。它是整個通信的核心。
關鍵點:發布者和訂閱者不需要知道彼此的存在,它們只與代理通信,實現了徹底的 “解耦”。
2. 主題
主題 是MQTT協議用于路由消息的機制。它是一個分層的字符串,類似于文件路徑或URL,例如:home/living-room/temperature。
· 通配符:
o + :單層通配符。例如 home/+/temperature 可以匹配 home/living-room/temperature 和 home/kitchen/temperature。
o # :多層通配符,只能放在最后。例如 home/# 可以匹配所有以 home/ 開頭的主題。
3. 工作流程
連接:客戶端(發布者或訂閱者)通過 TCP/IP 向 Broker 發起連接請求。
訂閱:訂閱者向 Broker 訂閱其感興趣的主題(如 sensors/temperature)。
發布:發布者向某個主題(如 sensors/temperature)發布一條消息。
路由與分發:Broker 收到消息后,會根據主題找到所有訂閱了該主題的訂閱者,并將消息發送給它們。
整個流程如下圖所示,清晰地展示了消息如何通過代理從發布者路由到訂閱者:

三、核心特征
這些規則共同塑造了MQTT獨一無二的特征。
1、輕量級與高效
協議頭非常小,最小只有2字節,極大地節省了網絡帶寬和設備功耗。
2、異步發布/訂閱模式
?空間解耦:發布者和訂閱者不需要知道彼此的網絡地址。
?時間解耦:發布者和訂閱者不需要同時在線。
?同步解耦:雙方在通信過程中不會被阻塞,可以繼續執行其他任務。
3、靈活可靠的消息傳遞
通過三層QoS,開發者可以根據業務場景在傳輸效率和可靠性之間做出精準權衡。
4、對不穩定網絡的容錯性
持久化會話 和遺囑消息 機制,使得MQTT能夠優雅地處理客戶端的頻繁斷線重連,并及時感知設備異常離線。
5、安全性
?支持標準的用戶名/密碼認證。
?可以與 TLS/SSL 加密結合使用(通常使用端口8883),確保傳輸過程中的數據安全。
四、應用場景
MQTT的輕量、異步和可靠特性,使其在以下場景中大放異彩:
應用場景 | 場景描述 | 適合MQTT原因 |
物聯網與M2M | 智能家居、環境監測、遠程設備控制。 | 輕量級,適合資源受限的設備;低帶寬,適合蜂窩網絡;發布/訂閱模式,輕松管理海量設備。 |
移動應用 | 即時通訊、新聞推送、社交應用通知。 | 省電,保活機制和輕量設計能有效延長移動設備電池壽命;異步通信,適應不穩定的移動網絡。 |
車聯網 | 車輛狀態上報、遠程診斷、OTA升級。 | 能夠處理高延遲、不穩定的網絡連接;QoS 確保關鍵指令可靠送達。 |
遙測與監控 | 工業4.0設備數據采集、能源管理系統。 | 低延遲,實時傳輸傳感器數據;主題機制,方便對不同類型的數據進行分類和路由。 |
總之,MQTT是一個為物聯網而生的、輕量級、基于發布/訂閱模式的消息協議。它的高效性、可靠性和解耦特性,使其成為連接物理世界與數字世界的關鍵橋梁。
從IBM、Eclipse等開源社區到亞馬遜、阿里云等商業巨頭,廣泛的生態支持確立了它在物聯網領域不可動搖的核心地位,是萬物互聯時代的“隱形英雄”。
宏達信諾HXGE系列工業物聯網網關支持MQTT通信協議,在工業物聯網體系中扮演著“承上啟下”的智能邊緣節點角色,它通過統一的協議轉換與管理接口,負責將各類工業設備的數據匯聚并傳輸到云端。它是將傳統“啞設備”工業體系,帶入智能物聯網時代的“橋梁”,是工業物聯網落地不可或缺的關鍵基礎設施
