物聯(lián)網(wǎng)技術(shù)發(fā)展了不少年頭,但依然處在一片混沌之中。要實(shí)現(xiàn)真正的互聯(lián)互通,通信協(xié)議是重要的一環(huán)。然而,當(dāng)前的物聯(lián)網(wǎng)通信協(xié)議可謂是百家爭(zhēng)鳴,各有千秋,讓人眼花繚亂。
我個(gè)人將物聯(lián)網(wǎng)通信協(xié)議大致分為兩大類,一類是接入?yún)f(xié)議,一類是通訊協(xié)議。
接入?yún)f(xié)議一般負(fù)責(zé)子網(wǎng)內(nèi)設(shè)備間的組網(wǎng)及通信;
通訊協(xié)議主要是運(yùn)行在傳統(tǒng)互聯(lián)網(wǎng)TCP/IP協(xié)議之上的設(shè)備通訊協(xié)議,負(fù)責(zé)設(shè)備通過(guò)互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)交換及通信。
這個(gè)分類只是為了方便,并非標(biāo)準(zhǔn)。
接入?yún)f(xié)議
目前市場(chǎng)上常見(jiàn)的接入?yún)f(xié)議有zigbee、藍(lán)牙以及wifi協(xié)議等等
zigbee
zigbee目前在工業(yè)控制領(lǐng)域應(yīng)用廣泛,在智能家居領(lǐng)域也有一定應(yīng)用。它有以下主要優(yōu)勢(shì):
1.低成本。zigbee協(xié)議數(shù)據(jù)傳輸速率低,協(xié)議簡(jiǎn)單,所以開(kāi)發(fā)成本也比較低。并且zigbee協(xié)議還免收專利費(fèi)用。
2.低功耗。由于zigbee協(xié)議傳輸速率低,節(jié)點(diǎn)所需的發(fā)射功率僅1mW,并采用休眠+喚醒模式,功耗極低。
3.自組網(wǎng)。通過(guò)zigbee協(xié)議自帶的mesh功能,一個(gè)子網(wǎng)絡(luò)內(nèi)可以支持多達(dá)65000個(gè)節(jié)點(diǎn)連接,可以快速實(shí)現(xiàn)一個(gè)大規(guī)模的傳感網(wǎng)絡(luò)。
4.安全性。使用crc校驗(yàn)數(shù)據(jù)包的完整性,支持鑒權(quán)和認(rèn)證,并且采用aes-128對(duì)傳輸數(shù)據(jù)進(jìn)行加密。
zigbee協(xié)議的最佳應(yīng)用場(chǎng)景是無(wú)線傳感網(wǎng)絡(luò),比如水質(zhì)監(jiān)測(cè)、環(huán)境控制等節(jié)點(diǎn)之間需要自組網(wǎng)以相互之間傳輸數(shù)據(jù)的工業(yè)場(chǎng)景中。在這些場(chǎng)景中zigbee協(xié)議的優(yōu)勢(shì)發(fā)揮的非常明顯。目前國(guó)內(nèi)外很多廠商也將zigbee運(yùn)用在智能家居方案中。
藍(lán)牙
藍(lán)牙協(xié)議大家都非常熟悉了,特別是隨著藍(lán)牙4.0協(xié)議推出后發(fā)展迅速,目前已經(jīng)成為智能手機(jī)的標(biāo)配通信組件。藍(lán)牙4.0之所以在近幾年發(fā)展迅速,主要有以下兩點(diǎn)原因:
1.低功耗。我認(rèn)為這個(gè)是藍(lán)牙4.0的大殺器,使用紐扣電池的藍(lán)牙4.0設(shè)備可運(yùn)行一年以上,這對(duì)不希望頻繁充電的可穿戴設(shè)備具有十分大的吸引力。當(dāng)前基本世面上的可穿戴設(shè)備基本都選用藍(lán)牙4.0方案。
2.智能手機(jī)的普及。近年來(lái)支持藍(lán)牙協(xié)議基本成為智能手機(jī)的標(biāo)配,用戶無(wú)需購(gòu)買額外的接入模塊。
WiFi
wifi協(xié)議和藍(lán)牙協(xié)議一樣,目前也得到了非常大的發(fā)展。由于前幾年家用wifi路由器以及智能手機(jī)的迅速普及,wifi協(xié)議在智能家居領(lǐng)域也得到了廣泛應(yīng)用。wifi協(xié)議最大的優(yōu)勢(shì)是可以直接接入互聯(lián)網(wǎng)。相對(duì)于zigbee,采用wifi協(xié)議的智能家居方案省去了額外的網(wǎng)關(guān),相對(duì)于藍(lán)牙協(xié)議,省去了對(duì)手機(jī)等移動(dòng)終端的依賴。
相當(dāng)于藍(lán)牙和zigbee,wifi協(xié)議的功耗成為其在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用的一大瓶頸。但是隨著現(xiàn)在各大芯片廠商陸續(xù)推出低功耗、低成本的wifi soc(如esp8266),這個(gè)問(wèn)題也在逐漸被解決。
通訊協(xié)議
以上講的都是物聯(lián)網(wǎng)設(shè)備接入?yún)f(xié)議,對(duì)于物聯(lián)網(wǎng),最重要的是在互聯(lián)網(wǎng)中設(shè)備與設(shè)備的通訊,下面重點(diǎn)跟大家分享下現(xiàn)在物聯(lián)網(wǎng)在internet通信中比較常見(jiàn)的通訊協(xié)議。
HTTP
HTTP協(xié)議是典型的CS通訊模式,由客戶端主動(dòng)發(fā)起連接,向服務(wù)器請(qǐng)求XML或JSON數(shù)據(jù)。該協(xié)議最早是為了適用web 瀏覽器的上網(wǎng)瀏覽場(chǎng)景和設(shè)計(jì)的,目前在PC、手機(jī)、pad等終端上都應(yīng)用廣泛,但是我認(rèn)為其并不適用于物聯(lián)網(wǎng)場(chǎng)景。在物聯(lián)網(wǎng)場(chǎng)景中其有三大弊端:
1.由于必須由設(shè)備主動(dòng)向服務(wù)器發(fā)送數(shù)據(jù),難以主動(dòng)向設(shè)備推送數(shù)據(jù)。對(duì)于單單的數(shù)據(jù)采集等場(chǎng)景還秒搶適用,但是對(duì)于頻繁的操控場(chǎng)景,只能通過(guò)設(shè)備定期主動(dòng)拉取的的方式,實(shí)現(xiàn)成本和實(shí)時(shí)性都大打折扣。
2.安全性不高。web的不安全相信大家都是婦孺皆知,HTTP是明文協(xié)議,在很多要求高安全性的物聯(lián)網(wǎng)場(chǎng)景,如果不做很多安全準(zhǔn)備工作(如采用https等),后果不堪設(shè)想...
3.不同于用戶交互終端如pc、手機(jī),物聯(lián)網(wǎng)場(chǎng)景中的設(shè)備多樣化,對(duì)于運(yùn)算和存儲(chǔ)資源都十分受限的設(shè)備,http協(xié)議實(shí)現(xiàn)、XML/JSON數(shù)據(jù)格式的解析,都是“mission impossible”。
websocket
websocket是HTML5提出的基于TCP之上的可支持全雙工通信的協(xié)議標(biāo)準(zhǔn),其在設(shè)計(jì)上基本遵循HTTP的思路,對(duì)于基于HTTP協(xié)議的物聯(lián)網(wǎng)系統(tǒng)是一個(gè)很好的補(bǔ)充。
CoaP
COAP協(xié)議的設(shè)計(jì)目標(biāo)就是在低功耗低速率的設(shè)備上實(shí)現(xiàn)物聯(lián)網(wǎng)通信。coap和HTTP協(xié)議一樣,采用URL標(biāo)示需要向發(fā)送的數(shù)據(jù),在協(xié)議格式的設(shè)計(jì)上也基本是參考HTTP協(xié)議,非常容易理解。同時(shí)做了以下幾點(diǎn)優(yōu)化:
采用UDP而不是TCP。這省去了TCP建立連接的成本及協(xié)議棧的開(kāi)銷。
將數(shù)據(jù)包頭部都采用二進(jìn)制壓縮,減小數(shù)據(jù)量以適應(yīng)低網(wǎng)絡(luò)速率場(chǎng)景。
發(fā)送和接受數(shù)據(jù)可以異步進(jìn)行,這樣提升了設(shè)備響應(yīng)速度。
MQTT
MQTT在協(xié)議設(shè)計(jì)時(shí)就考慮到不同設(shè)備的計(jì)算性能的差異,所以所有的協(xié)議都是采用二進(jìn)制格式編解碼,并且編解碼格式都非常易于開(kāi)發(fā)和實(shí)現(xiàn)。
MQTT最小的數(shù)據(jù)包只有2個(gè)字節(jié),對(duì)于低功耗低速網(wǎng)絡(luò)也有很好的適應(yīng)性。
MQTT有非常完善的QOS機(jī)制,根據(jù)業(yè)務(wù)場(chǎng)景可以選擇最多一次、至少一次、剛好一次三種消息送達(dá)模式。
MQTT運(yùn)行在TCP協(xié)議之上,同時(shí)支持TLS(TCP+SSL)協(xié)議,并且由于所有數(shù)據(jù)通信都經(jīng)過(guò)云端,安全性得到了較好地保障。
大家可以發(fā)現(xiàn),當(dāng)前的物聯(lián)網(wǎng)通信協(xié)議真的是百花齊放,沒(méi)有任何協(xié)議能夠在市場(chǎng)上占有統(tǒng)治地位。無(wú)論是WIFI 、藍(lán)牙、亦或是MQTT、HTTP都是設(shè)備進(jìn)行數(shù)據(jù)通訊和交換的通道,規(guī)定的是通訊的格式;而通訊的內(nèi)容的統(tǒng)一才是實(shí)現(xiàn)互聯(lián)互通的關(guān)鍵。點(diǎn)擊鏈接免費(fèi)學(xué)習(xí)更多有關(guān)物聯(lián)網(wǎng)和通信技術(shù)的知識(shí)。