EMQ 與 mqtt 與 IOT設備


1.IOT設備的特性

IOT(物聯網things of internet)設備和傳統的智能設備有什么區別,筆者總結下的IOT設備有如下特點:

硬件能力差(存儲能力基本只有幾MB,CPU頻率低連使用HTTP請求都很奢侈)
系統千差萬別(Brillo,mbedOS,RIOT等)
如使用電池供電,電量消耗敏感
如果是小設備設備基數大需要維持大量在線鏈接
網絡情況不穩定,移動網絡網絡資費貴,需要盡量減少開銷和穩定


在以上這樣苛刻的場景下很多技術上常用在智能設備方案都望而卻步,總結一下我們主要面對下面三個問題:

socket.io,websocket? 不同的系統可能無法使用HTTP,設備資源可能使用HTTP都奢侈
TCP/IP自定協議? 雖然不用在意系統,自定義報文怎么解決網絡開銷問題?
自主研發成本高,使用第三方IOT平台容易被技術或硬件綁定

2. MQTT為什么適合IOT場景

MQTT(Message Queuing Telemetry Transport,消息隊列遙測傳輸)是IBM開發的一個即時通訊協議,使用方式比較類似於隊列軟件比如RabbitMQ,使用發布/訂閱的方式提供互相之間的通訊,MQTT是為在計算能力有限,且工作在低帶寬、不可靠的網絡的遠程傳感器和控制設備通訊而設計的協議,它具有以下主要的幾項特性:

該協議支持所有平台,幾乎可以把所有聯網物品和外部連接起來


有三種消息發布服務質量

 “至多一次”,消息的分發依賴於底層網絡的能力。接收者不會發送響應,發送者也不會重試。消息可能送達一次也可能根本沒送達。這個服務質量常用在雞肋的消息傳遞中,即消息丟了也沒有關系
 “至少一次”,確保消息到達,但消息重復可能會發生。
 “只有一次”,確保消息到達一次。這一級別可用於如下情況,在計費系統中,消息重復或丟失會導致不正確的結果。


小型傳輸,開銷很小(固定長度的頭部是 2 字節),協議交換最小化,以降低網絡流量
使用 Last Will 和 Testament 特性通知有關各方客戶端異常中斷的機制;


除了MQTT的協議特性外還有一些客觀原因:

對語言友好主流語言的客戶端都有
大部分硬件方案天生支持
數十個MQTT服務器端程序可供選擇
社區成熟解決方案被廣泛運用遇到問題方便尋求幫助

 


原文鏈接:https://blog.csdn.net/u011142688/article/details/79852267

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM