當前位置:首頁 > 百科知識 > 物聯網 > 正文

MQTT

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,有可能成為物聯網的重要組成部分。該協議支持所有平臺,幾乎可以把所有聯網物品和外部連接起來,被用來當做傳感器和致動器(比如通過Twitter讓房屋聯網)的通信協議。

  1、MQTT簡介

  早在1999年,IBM的Andy Stanford-Clark博士以及Arcom公司ArlenNipper博士發明了MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)技術。

  MQTT是一個物聯網傳輸協議,它被設計用于輕量級的發布/訂閱式消息傳輸,旨在為低帶寬和不穩定的網絡環境中的物聯網設備提供可靠的網絡服務。MQTT是專門針對物聯網開發的輕量級傳輸協議。MQTT協議針對低帶寬網絡,低計算能力的設備,做了特殊的優化,使得其能適應各種物聯網應用場景。目前MQTT擁有各種平臺和設備上的客戶端,已經形成了初步的生態系統。

  MQTT既有完全高級版可以在TCP/IP上運行,也有簡化版MQTT-SN用于非IP設備。其發布/訂閱模式能夠在讓拓撲結構進行擴展的同時保留實時的特性以及服務質量的可配置性。

  2、MQTT的發展歷史

  在物聯網中,開源和開放標準是基本的要素。MQTT的發展歷史大致如下:

  1999年,IBM和合作伙伴共同發明了MQTT協議。

  2004年,MQTT.org開放了論壇,供大家廣泛參與。

  2011年,IBM建立了Eclipse開源項目Paho,并貢獻了代碼。Eclipse Paho是MQTT的Java實現版本。

  2013年,OASIS MQTT技術規范委員會成立。

  2014年,MQTT正式成為推薦的物聯網傳輸協議標準。

  3、MQTT特點

  MQTT協議是為大量計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:

  1)使用發布/訂閱消息模式,提供一對多的消息發布,解除應用程序耦合;

  2)對負載內容屏蔽的消息傳輸;

  3)使用 TCP/IP 提供網絡連接;

  4)有三種消息發布服務質量:

  “至多一次”,消息發布完全依賴底層 TCP/IP 網絡。會發生消息丟失或重復。這一級別可用于如下情況,環境傳感器數據,丟失一次讀記錄無所謂,因為不久后還會有第二次發送。

  “至少一次”,確保消息到達,但消息重復可能會發生。

  “只有一次”,確保消息到達一次。這一級別可用于如下情況,在計費系統中,消息重復或丟失會導致不正確的結果。

  5)小型傳輸,開銷很?。ü潭ㄩL度的頭部是2字節),協議交換最小化,以降低網絡流量;

  6)使用Last Will和Testament特性通知有關各方客戶端異常中斷的機制;

  4、MQTT的優勢

  MQTT的設計思想是開源、可靠、輕巧、簡單,MQTT的傳輸格式非常精小,最小的數據包只有2個比特,且無應用消息頭。MQTT可以保證消息的可 靠性,它包括三種不同的服務質量(最多只傳一次、最少被傳一次、一次且只傳一次),如果客戶端意外掉線,可以使用“遺愿”發布一條消息,同時支持持久訂閱。

  MQTT在物聯網應用中的優勢有:

  可靠傳輸。MQTT可以保證消息可靠安全的傳輸,并可以與企業應用簡易集成。

  消息推送。支持消息實時通知、豐富的推送內容、靈活的Pub-Sub以及消息存儲和過濾。

  低帶寬、低耗能、低成本。占用移動應用程序帶寬小,并且帶寬利用率高,耗電量較少。

  5、物聯網接入的挑戰

  物聯網中的數據傳輸會面臨很多問題,比如在網絡不穩定的情況下,如果保證數據的傳輸沒有問題,如何保證數據不被重復發送,連接斷開后如何進行重連??傮w來說,物聯網的接入會面臨以下幾個方面的挑戰:

  設備、傳感器。物聯網接入對終端采集和控制設備要求高,且終端的改造以及網絡費用成本也比較高。另外,其對終端的能耗要求也比較高。

  網絡?,F有的網絡傳輸貸款參差不齊,傳輸網絡不穩定。

  服務器。高并發情況下,多客戶端的接入能力以及消息處理能力。

  6、MQTT應用

  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協議衍生出來的各個不同版本。


內容來自百科網

開通會員,享受整站包年服務
国产呦精品一区二区三区网站|久久www免费人咸|精品无码人妻一区二区|久99久热只有精品国产15|中文字幕亚洲无线码