物聯(lián)網(wǎng)技術(shù)發(fā)展了不少年頭,但依然處在一片混沌之中。要實現(xiàn)真正的互聯(lián)互通,通信協(xié)議是重要的一環(huán)。然而,當前的物聯(lián)網(wǎng)通信協(xié)議可謂是百家爭鳴,各有千秋,讓人眼花繚亂。

我個人將物聯(lián)網(wǎng)通信協(xié)議大致分為兩大類,一類是接入?yún)f(xié)議,一類是通訊協(xié)議。
接入?yún)f(xié)議一般負責子網(wǎng)內(nèi)設(shè)備間的組網(wǎng)及通信;
通訊協(xié)議主要是運行在傳統(tǒng)互聯(lián)網(wǎng)TCP/IP協(xié)議之上的設(shè)備通訊協(xié)議,負責設(shè)備通過互聯(lián)網(wǎng)進行數(shù)據(jù)交換及通信。
這個分類只是為了方便,并非標準。

接入?yún)f(xié)議
目前市場上常見的接入?yún)f(xié)議有zigbee、藍牙以及wifi協(xié)議等等
zigbee
zigbee目前在工業(yè)控制領(lǐng)域應(yīng)用廣泛,在智能家居領(lǐng)域也有一定應(yīng)用。它有以下主要優(yōu)勢:
1.低成本。zigbee協(xié)議數(shù)據(jù)傳輸速率低,協(xié)議簡單,所以開發(fā)成本也比較低。并且zigbee協(xié)議還免收專利費用。
2.低功耗。由于zigbee協(xié)議傳輸速率低,節(jié)點所需的發(fā)射功率僅1mW,并采用休眠+喚醒模式,功耗極低。
3.自組網(wǎng)。通過zigbee協(xié)議自帶的mesh功能,一個子網(wǎng)絡(luò)內(nèi)可以支持多達65000個節(jié)點連接,可以快速實現(xiàn)一個大規(guī)模的傳感網(wǎng)絡(luò)。
4.安全性。使用crc校驗數(shù)據(jù)包的完整性,支持鑒權(quán)和認證,并且采用aes-128對傳輸數(shù)據(jù)進行加密。
zigbee協(xié)議的最佳應(yīng)用場景是無線傳感網(wǎng)絡(luò),比如水質(zhì)監(jiān)測、環(huán)境控制等節(jié)點之間需要自組網(wǎng)以相互之間傳輸數(shù)據(jù)的工業(yè)場景中。在這些場景中zigbee協(xié)議的優(yōu)勢發(fā)揮的非常明顯。目前國內(nèi)外很多廠商也將zigbee運用在智能家居方案中。

藍牙
藍牙協(xié)議大家都非常熟悉了,特別是隨著藍牙4.0協(xié)議推出后發(fā)展迅速,目前已經(jīng)成為智能手機的標配通信組件。藍牙4.0之所以在近幾年發(fā)展迅速,主要有以下兩點原因:
1.低功耗。我認為這個是藍牙4.0的大殺器,使用紐扣電池的藍牙4.0設(shè)備可運行一年以上,這對不希望頻繁充電的可穿戴設(shè)備具有十分大的吸引力。當前基本世面上的可穿戴設(shè)備基本都選用藍牙4.0方案。
2.智能手機的普及。近年來支持藍牙協(xié)議基本成為智能手機的標配,用戶無需購買額外的接入模塊。

WiFi
wifi協(xié)議和藍牙協(xié)議一樣,目前也得到了非常大的發(fā)展。由于前幾年家用wifi路由器以及智能手機的迅速普及,wifi協(xié)議在智能家居領(lǐng)域也得到了廣泛應(yīng)用。wifi協(xié)議最大的優(yōu)勢是可以直接接入互聯(lián)網(wǎng)。相對于zigbee,采用wifi協(xié)議的智能家居方案省去了額外的網(wǎng)關(guān),相對于藍牙協(xié)議,省去了對手機等移動終端的依賴。
相當于藍牙和zigbee,wifi協(xié)議的功耗成為其在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用的一大瓶頸。但是隨著現(xiàn)在各大芯片廠商陸續(xù)推出低功耗、低成本的wifi soc(如esp8266),這個問題也在逐漸被解決。

通訊協(xié)議
以上講的都是物聯(lián)網(wǎng)設(shè)備接入?yún)f(xié)議,對于物聯(lián)網(wǎng),最重要的是在互聯(lián)網(wǎng)中設(shè)備與設(shè)備的通訊,下面重點跟大家分享下現(xiàn)在物聯(lián)網(wǎng)在internet通信中比較常見的通訊協(xié)議。
HTTP
HTTP協(xié)議是典型的CS通訊模式,由客戶端主動發(fā)起連接,向服務(wù)器請求XML或JSON數(shù)據(jù)。該協(xié)議最早是為了適用web 瀏覽器的上網(wǎng)瀏覽場景和設(shè)計的,目前在PC、手機、pad等終端上都應(yīng)用廣泛,但是我認為其并不適用于物聯(lián)網(wǎng)場景。在物聯(lián)網(wǎng)場景中其有三大弊端:
1.由于必須由設(shè)備主動向服務(wù)器發(fā)送數(shù)據(jù),難以主動向設(shè)備推送數(shù)據(jù)。對于單單的數(shù)據(jù)采集等場景還秒搶適用,但是對于頻繁的操控場景,只能通過設(shè)備定期主動拉取的的方式,實現(xiàn)成本和實時性都大打折扣。
2.安全性不高。web的不安全相信大家都是婦孺皆知,HTTP是明文協(xié)議,在很多要求高安全性的物聯(lián)網(wǎng)場景,如果不做很多安全準備工作(如采用https等),后果不堪設(shè)想...
3.不同于用戶交互終端如pc、手機,物聯(lián)網(wǎng)場景中的設(shè)備多樣化,對于運算和存儲資源都十分受限的設(shè)備,http協(xié)議實現(xiàn)、XML/JSON數(shù)據(jù)格式的解析,都是“mission impossible”。
websocket
websocket是HTML5提出的基于TCP之上的可支持全雙工通信的協(xié)議標準,其在設(shè)計上基本遵循HTTP的思路,對于基于HTTP協(xié)議的物聯(lián)網(wǎng)系統(tǒng)是一個很好的補充。
CoaP
COAP協(xié)議的設(shè)計目標就是在低功耗低速率的設(shè)備上實現(xiàn)物聯(lián)網(wǎng)通信。coap和HTTP協(xié)議一樣,采用URL標示需要向發(fā)送的數(shù)據(jù),在協(xié)議格式的設(shè)計上也基本是參考HTTP協(xié)議,非常容易理解。同時做了以下幾點優(yōu)化:
采用UDP而不是TCP。這省去了TCP建立連接的成本及協(xié)議棧的開銷。
將數(shù)據(jù)包頭部都采用二進制壓縮,減小數(shù)據(jù)量以適應(yīng)低網(wǎng)絡(luò)速率場景。
發(fā)送和接受數(shù)據(jù)可以異步進行,這樣提升了設(shè)備響應(yīng)速度。
MQTT
MQTT在協(xié)議設(shè)計時就考慮到不同設(shè)備的計算性能的差異,所以所有的協(xié)議都是采用二進制格式編解碼,并且編解碼格式都非常易于開發(fā)和實現(xiàn)。
MQTT最小的數(shù)據(jù)包只有2個字節(jié),對于低功耗低速網(wǎng)絡(luò)也有很好的適應(yīng)性。
MQTT有非常完善的QOS機制,根據(jù)業(yè)務(wù)場景可以選擇最多一次、至少一次、剛好一次三種消息送達模式。
MQTT運行在TCP協(xié)議之上,同時支持TLS(TCP+SSL)協(xié)議,并且由于所有數(shù)據(jù)通信都經(jīng)過云端,安全性得到了較好地保障。
大家可以發(fā)現(xiàn),當前的物聯(lián)網(wǎng)通信協(xié)議真的是百花齊放,沒有任何協(xié)議能夠在市場上占有統(tǒng)治地位。無論是WIFI 、藍牙、亦或是MQTT、HTTP都是設(shè)備進行數(shù)據(jù)通訊和交換的通道,規(guī)定的是通訊的格式;而通訊的內(nèi)容的統(tǒng)一才是實現(xiàn)互聯(lián)互通的關(guān)鍵。點擊鏈接免費學習更多有關(guān)物聯(lián)網(wǎng)和通信技術(shù)的知識。
