物聯(lián)網(wǎng)傳輸協(xié)議MQTT
掃描二維碼
隨時(shí)隨地手機(jī)看文章
MQTT是一個(gè)物聯(lián)網(wǎng)傳輸協(xié)議,它被設(shè)計(jì)用于輕量級的發(fā)布/訂閱式消息傳輸,旨在為低帶寬和不穩(wěn)定的網(wǎng)絡(luò)環(huán)境中的物聯(lián)網(wǎng)設(shè)備提供可靠的網(wǎng)絡(luò)服務(wù)。MQTT是專門針對物聯(lián)網(wǎng)開發(fā)的輕量級傳輸協(xié)議。MQTT協(xié)議針對低帶寬網(wǎng)絡(luò),低計(jì)算能力的設(shè)備,做了特殊的優(yōu)化,使得其能適應(yīng)各種物聯(lián)網(wǎng)應(yīng)用場景。目前MQTT擁有各種平臺(tái)和設(shè)備上的客戶端,已經(jīng)形成了初步的生態(tài)系統(tǒng)。在12月18日舉行的OIOT開放物聯(lián)網(wǎng)大會(huì)上,IBM的徐剛帶來了《IBM MQTT:國際標(biāo)準(zhǔn)化物聯(lián)網(wǎng)推薦協(xié)議》的主題分享,本文根據(jù)其演講內(nèi)容整理而成。
MQTT的發(fā)展歷史
在物聯(lián)網(wǎng)中,開源和開放標(biāo)準(zhǔn)是基本的要素。MQTT的發(fā)展歷史大致如下:
1999年,IBM和合作伙伴共同發(fā)明了MQTT協(xié)議。
2004年,MQTT.org開放了論壇,供大家廣泛參與。
2011年,IBM建立了Eclipse開源項(xiàng)目Paho,并貢獻(xiàn)了代碼。Eclipse Paho是MQTT的Java實(shí)現(xiàn)版本。
2013年,OASIS MQTT技術(shù)規(guī)范委員會(huì)成立。
2014年,MQTT正式成為推薦的物聯(lián)網(wǎng)傳輸協(xié)議標(biāo)準(zhǔn)。
物聯(lián)網(wǎng)接入的挑戰(zhàn)
物聯(lián)網(wǎng)中的數(shù)據(jù)傳輸會(huì)面臨很多問題,比如在網(wǎng)絡(luò)不穩(wěn)定的情況下,如果保證數(shù)據(jù)的傳輸沒有問題,如何保證數(shù)據(jù)不被重復(fù)發(fā)送,連接斷開后如何進(jìn)行重連??傮w來說,物聯(lián)網(wǎng)的接入會(huì)面臨以下幾個(gè)方面的挑戰(zhàn):
設(shè)備、傳感器。物聯(lián)網(wǎng)接入對終端采集和控制設(shè)備要求高,且終端的改造以及網(wǎng)絡(luò)費(fèi)用成本也比較高。另外,其對終端的能耗要求也比較高。
網(wǎng)絡(luò)?,F(xiàn)有的網(wǎng)絡(luò)傳輸貸款參差不齊,傳輸網(wǎng)絡(luò)不穩(wěn)定。
服務(wù)器。高并發(fā)情況下,多客戶端的接入能力以及消息處理能力。
MQTT的優(yōu)勢
MQTT的設(shè)計(jì)思想是開源、可靠、輕巧、簡單,MQTT的傳輸格式非常精小,最小的數(shù)據(jù)包只有2個(gè)比特,且無應(yīng)用消息頭。MQTT可以保證消息的可靠性,它包括三種不同的服務(wù)質(zhì)量(最多只傳一次、最少被傳一次、一次且只傳一次),如果客戶端意外掉線,可以使用“遺愿”發(fā)布一條消息,同時(shí)支持持久訂閱。MQTT在物聯(lián)網(wǎng)以及移動(dòng)應(yīng)用中的優(yōu)勢有:
可靠傳輸。MQTT可以保證消息可靠安全的傳輸,并可以與企業(yè)應(yīng)用簡易集成。
消息推送。支持消息實(shí)時(shí)通知、豐富的推送內(nèi)容、靈活的Pub-Sub以及消息存儲(chǔ)和過濾。
低帶寬、低耗能、低成本。占用移動(dòng)應(yīng)用程序帶寬小,并且帶寬利用率高,耗電量較少。