• <nav id="4o4s2"><nav id="4o4s2"></nav></nav>
  • <nav id="4o4s2"></nav>
  • 物聯網開發

    物聯網技術講解:MQTT(消息隊列遙測傳輸協議)

      物聯網概述


      物聯網——即Internet-of-Things,其實這個概念由來已久,簡單來講,物聯網是物與物、人與物之間的信息傳遞與控制簡稱。它和能源、電子信息、醫療、交通、零售、物流、工業制造等行業息息相關。要實現物聯網,首先需要將具備信息感知和通信能力的設備嵌入到我們關心的物品中,使其能連接到因特網或企業網絡之上,實現互聯互通。之后,互通的物品不僅要通過設備采集信息、實現智能的感知,更要結合一切先進的信息處理、數據挖掘等手段,與業務應用相結合,從后臺到前端設備,實現智能的控制。一句話來理解物聯網就是把所有物品通過信息傳感設備與互聯網連接起來,以實現智能化識別和管理。


    MQTT


      MQTT簡介


      MQTT是一個由IBM開發的物聯網傳輸協議,它被設計用于輕量級的發布/訂閱式消息傳輸,旨在為低帶 寬和不穩定的網絡環境中的物聯網設備提供可靠的網絡服務。MQTT是專門針對物聯網開發的輕量級傳輸協議。MQTT協議針對低帶寬網絡,低計算能力的設 備,做了特殊的優化,使得其能適應各種物聯網應用場景。


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


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


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


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


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


      物聯網接入的挑戰


      當前物聯網領域的消息傳輸依采用單一的實施規范,它是在互聯網基礎上的延伸和擴展的網絡,用戶端從傳統的計算機延伸和擴展到了任何物品與物品之間,物品通過嵌入的傳感器進行信息采集,然后通過小型計算設備進行網絡信息交換與通信。然而當前移動互聯網正處于起步階段,物聯網中的數據傳輸會面臨很多問題,比如在網絡不穩定的情況下,如何保證數據的傳輸沒有問題,如何保證數據不被重復發送,連接斷開后如何進行重連??傮w來說,物聯網的接入會面臨以下幾個方面的挑戰:


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


      通信協議。設備往往不具備較高的計算能力和存儲空間,因此很難支持諸如 HTTP、SSL 和 XML 這樣的傳輸協議,它需要一套簡單高效的傳輸協議以滿足通信需求。


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


      信息安全。如何保證信息傳輸的安全以及業務層身份鑒別。


      基于物聯網的MQTT技術則恰好可以很好地彌補這一方面的缺陷,在云計算和移動設備之間架起一道橋梁,在低帶寬和不穩定的網絡環境中提供可靠的網絡服務。


      對于信息安全,并不僅僅是信息傳輸安全,物聯網時代的安全是物理安全、信息采集安全、信息傳輸安全和信息處理安全的綜合,物聯網時代還需要一個強大的云以完成信息傳輸安全,信息處理安全以及信息的存儲,分析等,當然您還需要一個強大的服務管理系統來管理您為了處理特定的業務邏輯而運行的服務。


      設備使用MQTT客戶端可以在特定的主題上發布消息,也可以通過訂閱特定的主題以接收其他設備或者用戶發布的消息,從而實現M2M,M2P,P2M的通信。


      云網關gateway負責設備的接入,協議適配,消息轉發等功能,如果要支持海量設備的接入,gateway集群是必須的。


      設備管理負責設備接入認證,設備與用戶綁定,操作授權等相關的功能。


      賬號管理負責用戶賬號安全認證,授權認證等相關的功能,同時也支持第三方賬號安全認證。


      云服務負責設備業務邏輯。不同的設備廠商都有一套自己的業務邏輯和服務,這種服務可以和容易的運行在云端提供的容器中,使用基于容器的微服務使得應用程序能夠更快地進行創建,并且更易于維護,同時 又能夠得到更高的質量。而數據的存儲和分析使用云平臺提供的通用的存儲服務和大數據分析引擎。


      用戶只要注冊賬號,綁定設備,就可以通過手機APP,微信或者web等終端輕松查看設備信息,與設備進行交互操作。


      此解決方案具有的優勢有:


      · 移動設備


      能在 8bit 位處理器上很好的運行 C /JavaScript/Java 的 client 庫分別只有 30/75/100KB


      在移動設備上耗電率低,大約只需要 HTTP 的一半


      · 很好的適應各種復雜網絡,特別是受限網絡


      預期并適應頻繁的網絡中斷,能應對低速、低質量的網絡


      壓縮優化過后的協議,可以有效降低網絡流量,從而節約網絡成本


      完成同樣的數據通信,MQTT 只需要 HTTP 約 1/4 得數據流量


      · 發布 - 訂閱的消息通信協議,允許一條消息只發布一次,便可被多個消費端(應用程序 / 設備)所接收


      實現系統間松耦合,簡化開發,方便擴展,整合。


      · 提供靈活便捷的系統整合能力


      使用微服務+docker的方式,快速部署高效運行云端服務


      提供可靠的設備管理和賬號管理體系,您只需要關注核心業務


      提供通用的數據存儲和數據分析服務


      提供與第三方云平臺的對接功能


      提供協議適配功能,客戶端可以使用多種通信協議與設備進行通信。


      · 提供豐富的安全性


      使用 SSL 提供的認證和加密來保證傳輸安全性


      采用賬號安全認證+設備安全認證結合的方式保證內容安全


      · 強大的性能提高系統的高可靠性


      高連接數下系統低計算資源使用


      高連接數下系統高信息處理速度


      · 提供多種消息服務質量,滿足不同場景需求


      0 :消息最多被傳遞一次,比如一般類廣告,通知


      1 :消息會被傳遞但可能會重復傳遞,比如賬戶余額通知


      2 :消息保證傳遞且僅有一次傳遞,比如交易支付批復通知


      結束語


      人類正走向“物聯網”時代,但是這個過程可能需要很長的時間。毫無疑問,如果“物聯網”時代來臨,人們的日常生活將發生翻天覆地的變化。不管物聯網如何發展,在未來幾年,相信MQTT的應用會越來越廣。


    注:本站文章部分文字及圖片來自互聯網。如有侵權行為,請聯系我們,我們會及時刪除。