複製鏈接
請複製以下鏈接發送給好友

MQTT

鎖定
MQTT(消息隊列遙測傳輸)是ISO 標準(ISO/IEC PRF 20922)下基於發佈/訂閲範式的消息協議。它工作在 TCP/IP協議族上,是為硬件性能低下的遠程設備以及網絡狀況糟糕的情況下而設計的發佈/訂閲型消息協議,為此,它需要一個消息中間件
MQTT是一個基於客户端-服務器的消息發佈/訂閲傳輸協議。MQTT協議是輕量、簡單、開放和易於實現的,這些特點使它適用範圍非常廣泛。在很多情況下,包括受限的環境中,如:機器與機器(M2M)通信和物聯網(IoT)。其在,通過衞星鏈路通信傳感器、偶爾撥號的醫療設備、智能家居、及一些小型化設備中已廣泛使用。
中文名
消息隊列遙測傳輸
外文名
MQTT(Message Queuing Telemetry Transport)
性    質
即時通訊協議
支持平台
所有
開發商
IBM

MQTT簡介

MQTT(消息隊列遙測傳輸)是ISO 標準(ISO/IEC PRF 20922)下基於發佈/訂閲範式的消息協議。它工作在TCP/IP協議族上,是為硬件性能低下的遠程設備以及網絡狀況糟糕的情況下而設計的發佈/訂閲型消息協議,為此,它需要一個消息中間件
IBM公司的安迪·斯坦福-克拉克及Cirrus Link公司的阿蘭·尼普於1999年撰寫了該協議的第一個版本。
該協議的可用性取決於該協議的使用環境。IBM公司在2013年就向結構化資訊標準促進組織提交了 MQTT 3.1 版規範,並附有相關章程,以確保只能對規範進行少量更改。MQTT-SN是針對非 TCP/IP 網絡上的嵌入式設備主要協議的變種,與此類似的還有ZigBee協議。
縱觀行業的發展歷程,“MQTT”中的“MQ” 是來自於IBM的MQ系列消息隊列產品線。然而通常隊列本身不需要作為標準功能來支持。
可選協議包含了高級消息隊列協議,面向文本的消息傳遞協議,互聯網工程任務組約束應用協議,可擴展消息與存在協議,數據分發服務,OPC UA以及web 應用程序消息傳遞協議。 [1] 

MQTTMQTT應用

IBM和St. Jude醫療中心通過MQTT開發了一套Merlin系統,該系統使用了用於家庭保健的傳感器。St. Jude醫療中心設計了一個叫做Merlin@home的心臟裝置,這種無線發射器可以用來監控那些已經植入復律-除顫器和起搏器(兩者都是基本的傳感器)的心臟病人。
該產品利用MQTT把病人的即時更新信息傳給醫生/醫院,然後醫院進行保存。這樣的話,病人就不用親自去醫院檢查心臟儀器了,醫生可以隨時查看病人的數據,給出建議,病人在家裏就可以自行檢查。
IBM稱該發射器包括一個大型觸摸屏,一個嵌入式鍵盤平台,以及一個Linux操作系統。
在未來幾年,MQTT的應用會越來越廣,值得關注。
通過MQTT協議,目前已經擴展出了數十個MQTT服務器端程序,可以通過PHP,JAVA,Python,C,C#等系統語言來向MQTT發送相關消息。
此外,國內很多企業都廣泛使用MQTT作為Android手機客户端與服務器端推送消息的協議。其中Sohu,Cmstop手機客户端中均有使用到MQTT作為消息推送消息。據Cmstop主要負責消息推送的高級研發工程師李文凱稱,隨着移動互聯網的發展,MQTT由於開放源代碼,耗電量小等特點,將會在移動消息推送領域會有更多的貢獻,在物聯網領域,傳感器與服務器的通信,信息的收集,MQTT都可以作為考慮的方案之一。在未來MQTT會進入到我們生活的各各方面。
如果需要下載MQTT服務器端,可以直接去MQTT官方網站點擊software進行下載MQTT協議衍生出來的各個不同版本。 [1] 

MQTTMQTT特點

MQTT協議是為大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:
1、使用發佈/訂閲消息模式,提供一對多的消息發佈,解除應用程序耦合;
2、對負載內容屏蔽的消息傳輸;
3、使用 TCP/IP 提供網絡連接;
4、有三種消息發佈服務質量:
5、小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量;
6、使用 Last Will 和 Testament 特性通知有關各方客户端異常中斷的機制。 [1] 
參考資料
  • 1.    Home Assistant Community. MQTT. home-assistant.io. Home Assistant Community. August 7, 2015 [August 4, 2017].