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