MQTT 最初是用于石油管道的傳感器與衛(wèi)星之間數(shù)據(jù)傳輸。他們當(dāng)時(shí)正在開(kāi)發(fā)一個(gè)利用衛(wèi)星通訊監(jiān)控 輸油管道的項(xiàng)目,為了實(shí)現(xiàn)這個(gè)項(xiàng)目要求,他們需要開(kāi)發(fā)一種用于嵌入式設(shè)備的通訊協(xié)議,這種通訊協(xié)議必須滿足以下條件:
? 易于實(shí)現(xiàn),服務(wù)器必須要實(shí)現(xiàn)成千上萬(wàn)個(gè)客戶端的接入
? 數(shù)據(jù)傳輸?shù)姆?wù)質(zhì)量可控,根據(jù)數(shù)據(jù)的重要性和特性,設(shè)置不同等級(jí)的服務(wù)質(zhì)量
? 占用帶寬小,單次數(shù)據(jù)量小,但不能出錯(cuò)
? 必須能夠適應(yīng)高延遲、掉線、斷網(wǎng)等網(wǎng)絡(luò)通信不可靠的風(fēng)險(xiǎn)
? 設(shè)備連接狀態(tài)可知,云端與設(shè)備端保持長(zhǎng)連接
通過(guò)以上幾個(gè)條件可知:
? MQTT 服務(wù)器可以連接大量的遠(yuǎn)程傳感器和控制設(shè)備,與遠(yuǎn)程客戶端保持長(zhǎng)連接,具有一定的實(shí) 時(shí)性。
? 云端向設(shè)備端發(fā)送消息,設(shè)備端可以在最短的時(shí)間內(nèi)接收到并作出回應(yīng)。
? MQTT 更適合需要實(shí)時(shí)控制的場(chǎng)合,尤其適合執(zhí)行器。
? 云端與客戶端需要保持長(zhǎng)連接,要能夠獲取到設(shè)備的連接狀態(tài),就需要時(shí)不時(shí)地發(fā)送心跳包,這就不會(huì)省電,所以,MQTT 并不適合低功耗場(chǎng)合。
可以看出,MQTT 從誕生之初就是專為低帶寬、高延遲或不可靠的網(wǎng)絡(luò)而設(shè)計(jì)的。雖然歷經(jīng)幾十年的更新和變化,以上這些特點(diǎn)仍然是 MQTT 協(xié)議的核心特點(diǎn)。但是與最初不同的是,MQTT 協(xié)議已經(jīng)從嵌入式系統(tǒng)應(yīng)用拓展到開(kāi)放的物聯(lián)網(wǎng)(IoT)領(lǐng)域。
-
嵌入式
+關(guān)注
關(guān)注
5059文章
18973瀏覽量
302024 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2900文章
44062瀏覽量
370223
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論