在過(guò)去的10年里,物聯(lián)網(wǎng)技術(shù)變得更加經(jīng)濟(jì)有效。[常用物聯(lián)網(wǎng)協(xié)議匯總,究竟該用哪一個(gè)?附優(yōu)缺點(diǎn)對(duì)比]。設(shè)備成本更便宜、更節(jié)能,體型也更小,而且功能也越來(lái)越優(yōu)化,可以在物聯(lián)網(wǎng)架構(gòu)中扮演特定的角色,以創(chuàng)建新的業(yè)務(wù)模型。在接下來(lái)的20年里,我們可以將一萬(wàn)億臺(tái)設(shè)備連接到互聯(lián)網(wǎng)上。連接的設(shè)備越多,就越能夠發(fā)現(xiàn)更多的業(yè)務(wù)改進(jìn)機(jī)會(huì),并利用物聯(lián)網(wǎng)來(lái)實(shí)現(xiàn)這些機(jī)會(huì)。
現(xiàn)在,必要的物聯(lián)網(wǎng)技術(shù)已經(jīng)接近成熟,功能性物聯(lián)網(wǎng)解決方案也正在加速落地。一股物聯(lián)網(wǎng)的浪潮已經(jīng)開(kāi)始沖擊市場(chǎng),它們有著各種各樣的架構(gòu)、功能集和應(yīng)用程序。雖然在投資物聯(lián)網(wǎng)硬件或完整的物聯(lián)網(wǎng)解決方案時(shí)需要考慮諸多因素,但了解物聯(lián)網(wǎng)傳感器可用的協(xié)議,以及前瞻性的商業(yè)決策者如何做出協(xié)議的最佳選擇,無(wú)論是目前還是長(zhǎng)期,都是至關(guān)重要的。
如何選擇物聯(lián)網(wǎng)協(xié)議?
物聯(lián)網(wǎng)協(xié)議是物聯(lián)網(wǎng)系統(tǒng)節(jié)點(diǎn)使用的網(wǎng)絡(luò)語(yǔ)言,對(duì)物聯(lián)網(wǎng)解決方案的整體部署的可行性至關(guān)重要。協(xié)議規(guī)定了物聯(lián)網(wǎng)解決方案通信的范圍、格式和復(fù)雜性,并在確定成本和功能性方面發(fā)揮關(guān)鍵作用。
因此,如果你對(duì)部署你自己的物聯(lián)網(wǎng)感興趣,那應(yīng)該如何選擇一個(gè)適合的需求和規(guī)模的協(xié)議呢?有兩個(gè)關(guān)鍵要素需要考慮:
功耗——傳感器需要在電池供電的情況下使用幾天、幾個(gè)月或幾年?他們需要多久發(fā)送一次數(shù)據(jù)?是否考慮使用一次性設(shè)備,還是使用可替換或可充電的電池?
連通性——通信必須覆蓋哪些范圍,以及它們需要在每條消息中發(fā)送多少數(shù)據(jù)?蜂窩網(wǎng)絡(luò)供應(yīng)商是否能維護(hù)我們的連接,或者你更愿意構(gòu)建私有網(wǎng)絡(luò)來(lái)運(yùn)行數(shù)據(jù)?
當(dāng)物聯(lián)網(wǎng)部署的需求涉及連通性時(shí),通常會(huì)考慮:最低要求的物聯(lián)網(wǎng)設(shè)置?用于聯(lián)網(wǎng)的是家庭或辦公室?是否可在普通Wi-Fi網(wǎng)絡(luò)上運(yùn)行?所有組件均需連續(xù)供電?
對(duì)于需要小容量數(shù)據(jù)傳輸?shù)妮^大區(qū)域,如農(nóng)場(chǎng)、校園或城市,獨(dú)立的低功耗廣域網(wǎng)(LPWAN)是最理想的解決方案——LoRaWAN和SigFox是最流行的兩種低功耗廣域網(wǎng)。當(dāng)談到覆蓋區(qū)域和跨越邊界時(shí),像NB-IoT或Cat-M這樣的蜂窩協(xié)議可能看起來(lái)更實(shí)用。
當(dāng)涉及到功耗、覆蓋范圍和成本時(shí),兩者各有優(yōu)缺點(diǎn)。
許多通信技術(shù)眾所周知,如WiFi,藍(lán)牙,ZigBee和2G / 3G / 4G蜂窩,但也有幾個(gè)新興的新興網(wǎng)絡(luò)選項(xiàng),如線程作為家庭自動(dòng)化應(yīng)用的替代品,以及在主要城市實(shí)施的空白電視技術(shù)用于更廣泛的基于IoT的用例。
根據(jù)應(yīng)用,范圍,數(shù)據(jù)要求,安全性和功率需求以及電池壽命等因素將決定某種形式的技術(shù)組合的選擇。這些是向開(kāi)發(fā)人員提供的一些主要通信技術(shù)。
藍(lán)牙
重要的短距離通信技術(shù)當(dāng)然是藍(lán)牙技術(shù),在計(jì)算和許多消費(fèi)品市場(chǎng)中已經(jīng)變得非常重要。預(yù)計(jì)這是可穿戴產(chǎn)品的關(guān)鍵,特別是連接到物聯(lián)網(wǎng),盡管可能通過(guò)智能手機(jī)在許多情況下。新的藍(lán)牙低功耗(BLE)或藍(lán)牙智能(如現(xiàn)在已被標(biāo)注)是物聯(lián)網(wǎng)應(yīng)用的重要協(xié)議。重要的是,雖然它提供了與藍(lán)牙類似的范圍,但它的設(shè)計(jì)旨在顯著降低功耗。
但是,Smart / BLE并不是真正設(shè)計(jì)用于文件傳輸,更適合于小塊數(shù)據(jù)。鑒于其在智能手機(jī)和許多其他移動(dòng)設(shè)備上的廣泛集成,因此在許多競(jìng)爭(zhēng)技術(shù)的個(gè)人設(shè)備環(huán)境中肯定具有重大優(yōu)勢(shì)。根據(jù)藍(lán)牙SIG,超過(guò)90%的藍(lán)牙智能手機(jī),包括iOS,Android和Windows的型號(hào),預(yù)計(jì)到2018年將“智能就緒”。
使用藍(lán)牙智能功能的設(shè)備包含了基于射頻收發(fā)器,基帶和協(xié)議棧的基本數(shù)據(jù)速率和低能量核心配置的藍(lán)牙核心規(guī)范版本4.0(或更高版本 - 2014年底最新版本4.2) 。重要的是,版本4.2通過(guò)其互聯(lián)網(wǎng)協(xié)議支持配置文件將允許藍(lán)牙智能傳感器通過(guò)6LoWPAN連接直接訪問(wèn)互聯(lián)網(wǎng)(下面更多)。這種IP連接使得可以使用現(xiàn)有的IP基礎(chǔ)設(shè)施來(lái)管理藍(lán)牙智能邊緣設(shè)備。有關(guān)藍(lán)牙4.2的更多信息,可從RS獲得各種藍(lán)牙模塊。
標(biāo)準(zhǔn):藍(lán)牙4.2核心規(guī)格
頻率:2.4GHz(ISM)
范圍:50-150米(智能/ BLE)
數(shù)據(jù)速率:1Mbps(智能/ BLE)
Zigbee
ZigBee像藍(lán)牙一樣具有大量的操作基礎(chǔ),盡管傳統(tǒng)上在工業(yè)環(huán)境中也是如此。ZigBee PRO和ZigBee遠(yuǎn)程控制(RF4CE)以及其他可用的ZigBee配置文件均基于IEEE802.15.4協(xié)議,該協(xié)議是以2.4GHz為目標(biāo)的行業(yè)標(biāo)準(zhǔn)無(wú)線網(wǎng)絡(luò)技術(shù),針對(duì)的應(yīng)用程序需要相對(duì)不頻繁的數(shù)據(jù)交換,在限制區(qū)域內(nèi)的距離在100米范圍內(nèi),例如在家庭或建筑物中。
ZigBee / RF4CE在復(fù)雜系統(tǒng)中具有一些顯著的優(yōu)勢(shì),提供低功耗操作,高安全性,魯棒性和高可擴(kuò)展性,具有高節(jié)點(diǎn)數(shù)量,并且有能力利用M2M和IoT應(yīng)用中的無(wú)線控制和傳感器網(wǎng)絡(luò)。ZigBee的最新版本是最近推出的3.0版本,它基本上是將各種ZigBee無(wú)線標(biāo)準(zhǔn)統(tǒng)一為單一標(biāo)準(zhǔn)。ZigBee開(kāi)發(fā)的示例產(chǎn)品和套件包括TI的CC2538SF53RTQT ZigBee片上系統(tǒng)集成電路和CC2538 ZigBee開(kāi)發(fā)套件。
標(biāo)準(zhǔn):基于IEEE802.15.4的ZigBee 3.0
頻率:2.4GHz
范圍:10-100米
數(shù)據(jù)速率:250kbps
Z波
Z-Wave是一種低功耗射頻通信技術(shù),主要用于諸如燈控制器和傳感器之類的產(chǎn)品的家庭自動(dòng)化。針對(duì)數(shù)據(jù)速率高達(dá)100kbit / s的小數(shù)據(jù)數(shù)據(jù)包的可靠和低延遲通信進(jìn)行了優(yōu)化,其工作在1GHz頻段,并且不受WiFi和其他無(wú)線技術(shù)在2.4 GHz范圍內(nèi)的干擾,如藍(lán)牙或ZigBee。它支持全網(wǎng)狀網(wǎng)絡(luò),而不需要協(xié)調(diào)器節(jié)點(diǎn),并且是非常可擴(kuò)展的,可以控制多達(dá)232個(gè)設(shè)備。Z-Wave使用比其他一些更簡(jiǎn)單的協(xié)議,可以實(shí)現(xiàn)更快更簡(jiǎn)單的開(kāi)發(fā),但與其他無(wú)線技術(shù)(如ZigBee等)的多種來(lái)源相比,唯一的芯片制造商是Sigma Designs。
標(biāo)準(zhǔn):Z-Wave Alliance ZAD12837 / ITU-T G.9959
頻率:900MHz(ISM)
范圍:30m
數(shù)據(jù)速率:9.6 / 40 / 100kbit / s
6LowPAN
基于IP(Internet Protocol)的技術(shù)是6LowPAN(IPv6低功率無(wú)線個(gè)人區(qū)域網(wǎng)絡(luò))。6LowPAN不是像藍(lán)牙或ZigBee這樣的IoT應(yīng)用協(xié)議技術(shù),而是一種定義封裝和頭壓縮機(jī)制的網(wǎng)絡(luò)協(xié)議。該標(biāo)準(zhǔn)具有頻帶和物理層的自由度,也可以在多種通信平臺(tái)上使用,包括以太網(wǎng),Wi-Fi,802.15.4和sub-1GHz ISM。一個(gè)關(guān)鍵的屬性是IPv6(互聯(lián)網(wǎng)協(xié)議版本6)堆棧,這是近年來(lái)非常重要的介紹,以實(shí)現(xiàn)物聯(lián)網(wǎng)。IPv6是IPv4的后繼者,為世界上每個(gè)人提供大約5 x 1028個(gè)地址,使世界上任何嵌入式對(duì)象或設(shè)備都擁有自己的唯一IP地址并連接到互聯(lián)網(wǎng)。例如,IPv6專為家庭或樓宇自動(dòng)化設(shè)計(jì),提供了一種基本的傳輸機(jī)制,可以通過(guò)低功耗無(wú)線網(wǎng)絡(luò)以成本效益的方式生產(chǎn)復(fù)雜的控制系統(tǒng)和與設(shè)備進(jìn)行通信。
該標(biāo)準(zhǔn)旨在通過(guò)基于IEEE802.15.4的網(wǎng)絡(luò)發(fā)送IPv6數(shù)據(jù)包,并實(shí)施開(kāi)放IP標(biāo)準(zhǔn),包括TCP,UDP,HTTP,COAP,MQTT和Websockets,該標(biāo)準(zhǔn)提供端對(duì)端可尋址節(jié)點(diǎn),允許路由器將網(wǎng)絡(luò)連接到IP。6LowPAN是一種網(wǎng)狀網(wǎng)絡(luò),具有強(qiáng)大的可擴(kuò)展性和自愈性。網(wǎng)狀路由器設(shè)備可以路由指定給其他設(shè)備的數(shù)據(jù),而主機(jī)能夠長(zhǎng)時(shí)間睡眠。這里有6LowPAN的解釋,TI提供。
標(biāo)準(zhǔn):RFC6282
頻率:(適用于各種其他網(wǎng)絡(luò)媒體,包括藍(lán)牙智能(2.4GHz)或ZigBee或低功率射頻(亞1GHz)
范圍:N / A
數(shù)據(jù)速率:N / A
線程
線程是一種針對(duì)家庭自動(dòng)化環(huán)境的新型基于IP的IPv6網(wǎng)絡(luò)協(xié)議。基于6LowPAN,也喜歡它,它不是像藍(lán)牙或ZigBee這樣的IoT應(yīng)用協(xié)議。然而,從應(yīng)用的角度來(lái)看,它主要被設(shè)計(jì)為WiFi的補(bǔ)充,因?yàn)樗R(shí)別出WiFi對(duì)于許多消費(fèi)者設(shè)備而言是有利的,它在家庭自動(dòng)化設(shè)置中使用的限制。
線程組于2014年中推出,免版稅協(xié)議基于各種標(biāo)準(zhǔn),包括IEEE802.15.4(作為無(wú)線空中接口協(xié)議),IPv6和6LoWPAN,并為物聯(lián)網(wǎng)提供了一種彈性的基于IP的解決方案。Thread專為從現(xiàn)有的IEEE802.15.4無(wú)線芯片供應(yīng)商(如飛思卡爾和Silicon Labs)工作,Thread支持使用IEEE802.15.4無(wú)線電收發(fā)器的網(wǎng)狀網(wǎng)絡(luò),能夠處理多達(dá)250個(gè)具有高級(jí)別身份驗(yàn)證和加密的節(jié)點(diǎn)。相對(duì)簡(jiǎn)單的軟件升級(jí)應(yīng)允許用戶在現(xiàn)有的支持IEEE802.15.4的設(shè)備上運(yùn)行線程。
標(biāo)準(zhǔn):線程,基于IEEE802.15.4和6LowPAN
頻率:2.4GHz(ISM)
范圍:N / A
數(shù)據(jù)速率:N / A
無(wú)線上網(wǎng)(WIFI)
WiFi連接通常是許多開(kāi)發(fā)人員的明顯選擇,特別是考慮到局域網(wǎng)內(nèi)家庭環(huán)境中WiFi的普及。除了明確指出,現(xiàn)有基礎(chǔ)架構(gòu)廣泛,并提供快速的數(shù)據(jù)傳輸和處理大量數(shù)據(jù)的能力,這不需要進(jìn)一步的解釋。
目前,在家庭和許多企業(yè)中使用的最常見(jiàn)的WiFi標(biāo)準(zhǔn)是802.11n,其提供了在數(shù)百兆比特每秒的嚴(yán)格吞吐量,這對(duì)于文件傳輸是很好的,但對(duì)于許多IoT應(yīng)用來(lái)說(shuō)可能太耗電了。RS提供了一系列用于構(gòu)建基于WiFi的應(yīng)用的RF開(kāi)發(fā)套件。
標(biāo)準(zhǔn):基于802.11n(今天最常見(jiàn)的用途)
頻率:2.4GHz和5GHz頻段
范圍:約50m
數(shù)據(jù)速率:最大600 Mbps,但根據(jù)所使用的通道頻率和天線數(shù)量(最新的802.11-ac標(biāo)準(zhǔn)應(yīng)提供500Mbps至1Gbps),150-200Mbps更為典型。
蜂窩
需要更長(zhǎng)距離運(yùn)行的IoT應(yīng)用程序可以利用GSM / 3G / 4G蜂窩通信功能。雖然蜂窩電話顯然能夠發(fā)送大量的數(shù)據(jù),特別是對(duì)于4G,但對(duì)于許多應(yīng)用來(lái)說(shuō),費(fèi)用和功耗將會(huì)太高,但是對(duì)于傳輸速度非常低的基于傳感器的低帶寬數(shù)據(jù)項(xiàng)目來(lái)說(shuō),這是非常理想的互聯(lián)網(wǎng)上的數(shù)據(jù)量。該領(lǐng)域的一個(gè)關(guān)鍵產(chǎn)品是SparqEE系列產(chǎn)品,包括原始的小型CELLv1.0低成本開(kāi)發(fā)板和一系列與Raspberry Pi和Arduino平臺(tái)一起使用的屏蔽連接板。
標(biāo)準(zhǔn):GSM / GPRS / EDGE(2G),UMTS / HSPA(3G),LTE(4G)
頻率:900/1800/1900 / 2100MHz
范圍:GSM最大35km; HSPA最長(zhǎng)200公里
數(shù)據(jù)速率(典型下載):35-170kps(GPRS),120-384kbps(EDGE),384Kbps-2Mbps(UMTS),600kbps-10Mbps(HSPA),3-10Mbps
NFC
NFC(近場(chǎng)通信)是一種技術(shù),能夠?qū)崿F(xiàn)電子設(shè)備之間的簡(jiǎn)單和安全的雙向交互,特別適用于智能手機(jī),允許消費(fèi)者執(zhí)行非接觸式支付交易,訪問(wèn)數(shù)字內(nèi)容和連接電子設(shè)備。本質(zhì)上它擴(kuò)展了非接觸式卡技術(shù)的能力,并使設(shè)備能夠在距離小于4cm的情況下共享信息。此處提供更多信息。
標(biāo)準(zhǔn):ISO / IEC 18000-3
頻率:13.56MHz(ISM)
范圍:10厘米
數(shù)據(jù)速率:100-420kbps
Sigfox
標(biāo)題另一種廣泛的技術(shù)是Sigfox,它的范圍在WiFi和蜂窩之間。它使用可免費(fèi)使用的ISM頻帶,而不需要獲取許可證,以便在非常窄的頻譜范圍內(nèi)將數(shù)據(jù)傳輸?shù)竭B接對(duì)象和從連接對(duì)象傳輸數(shù)據(jù)。Sigfox的想法是,對(duì)于運(yùn)行在小型電池上的許多M2M應(yīng)用程序,只需要低級(jí)別的數(shù)據(jù)傳輸,則WiFi的范圍太短,而蜂窩電話太貴,并且功耗太大。Sigfox使用一種稱為超窄帶(UNB)的技術(shù),僅用于處理每秒10至1,000位的低數(shù)據(jù)傳輸速度。與5000微瓦相比,蜂窩通信消耗的電量?jī)H為50微瓦,或者可以通過(guò)2.5Ah電池提供典型的待機(jī)時(shí)間20年,而蜂窩電話僅為0.2年。
已經(jīng)部署在成千上萬(wàn)個(gè)連接對(duì)象中,該網(wǎng)絡(luò)目前正在歐洲主要城市推出,其中包括英國(guó)的十個(gè)城市。該網(wǎng)絡(luò)提供了一個(gè)強(qiáng)大的,功率高效和可擴(kuò)展的網(wǎng)絡(luò),可以與數(shù)百萬(wàn)個(gè)電池供電設(shè)備在幾平方公里的區(qū)域進(jìn)行通信,使其適用于預(yù)期包括智能電表,病人監(jiān)視器,安全設(shè)備,街道照明和環(huán)境傳感器。Sigfox系統(tǒng)使用Silicon Labs等EZRadioPro無(wú)線收發(fā)器等硅片,為在1GHz以下頻段工作的無(wú)線網(wǎng)絡(luò)應(yīng)用提供行業(yè)領(lǐng)先的無(wú)線性能,擴(kuò)展范圍和超低功耗。
標(biāo)準(zhǔn):Sigfox
頻率:900MHz
范圍:30-50公里(農(nóng)村環(huán)境),3-10公里(城市環(huán)境)
數(shù)據(jù)速率:10-1000bps
Neul
與Sigfox相似,在1GHz頻段內(nèi)運(yùn)行,Neul利用電視白空間頻譜的小片,提供高可擴(kuò)展性,高覆蓋率,低功耗和低成本無(wú)線網(wǎng)絡(luò)。系統(tǒng)基于Iceni芯片,其使用白色空間無(wú)線電進(jìn)行通信,以訪問(wèn)高質(zhì)量的UHF頻譜,由于模擬到數(shù)字電視轉(zhuǎn)換,現(xiàn)在可用。通信技術(shù)稱為無(wú)重量,是一種為IoT設(shè)計(jì)的新型廣域無(wú)線網(wǎng)絡(luò)技術(shù),與現(xiàn)有的GPRS,3G,CDMA和LTE WAN解決方案大有競(jìng)爭(zhēng)。數(shù)據(jù)速率可以是在同一個(gè)單一鏈路上從每秒幾位到100kbps的任何數(shù)據(jù)速率;并且設(shè)備可以從2xAA電池消耗少至20至30mA,這意味著在現(xiàn)場(chǎng)10至15年。
標(biāo)準(zhǔn):Neul
頻率:900MHz(ISM),458MHz(英國(guó)),470-790MHz(白色空間)
范圍:10公里
數(shù)據(jù)速率:最少可達(dá)100kbps
LoRaWAN
Again在某些方面與Sigfox和Neul類似,LoRaWAN針對(duì)廣域網(wǎng)(WAN)應(yīng)用,旨在為具有特定功能的低功率WAN提供支持,以便在IoT,M2M和M2M中支持低成本移動(dòng)安全雙向通信智能城市和工業(yè)應(yīng)用。針對(duì)低功耗優(yōu)化并支持具有數(shù)百萬(wàn)和數(shù)百萬(wàn)臺(tái)設(shè)備的大型網(wǎng)絡(luò),數(shù)據(jù)速率范圍為0.3 kbps至50 kbps。
標(biāo)準(zhǔn):LoRaWAN
頻率:各種
范圍:2-5公里(城市環(huán)境),15公里(郊區(qū)環(huán)境)
數(shù)據(jù)速率:0.3-50 kbps。
對(duì)于物聯(lián)網(wǎng),最重要的是在互聯(lián)網(wǎng)中設(shè)備與設(shè)備的通訊,現(xiàn)在物聯(lián)網(wǎng)在internet通信中比較常見(jiàn)的通訊協(xié)議包括:HTTP、websocket、XMPP、COAP、MQTT
1、HTTP和websocket
在互聯(lián)網(wǎng)時(shí)代,TCP/IP協(xié)議已經(jīng)一統(tǒng)江湖,現(xiàn)在的物聯(lián)網(wǎng)的通信架構(gòu)也是構(gòu)建在傳統(tǒng)互聯(lián)網(wǎng)基礎(chǔ)架構(gòu)之上。在當(dāng)前的互聯(lián)網(wǎng)通信協(xié)議中,HTTP協(xié)議由于開(kāi)發(fā)成本低,開(kāi)放程度高,幾乎占據(jù)大半江山,所以很多廠商在構(gòu)建物聯(lián)網(wǎng)系統(tǒng)時(shí)也基于http協(xié)議進(jìn)行開(kāi)發(fā)。包括google主導(dǎo)的physic web項(xiàng)目,都是期望在傳統(tǒng)web技術(shù)基礎(chǔ)上構(gòu)建物聯(lián)網(wǎng)協(xié)議標(biāo)準(zhǔn)。
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)用廣泛,但并不適用于物聯(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)景還勉強(qiá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”
HTTP的連接問(wèn)題,HTTP客戶端和服務(wù)器之間的交互是采用請(qǐng)求/應(yīng)答模式,在客戶端請(qǐng)求時(shí),會(huì)建立一個(gè)HTTP連接,然后發(fā)送請(qǐng)求消息,服務(wù)端給出應(yīng)答消息,然后連接就關(guān)閉了。(后來(lái)的HTTP1.1支持持久連接)
因?yàn)門CP連接的建立過(guò)程是有開(kāi)銷的,如果使用了SSL/TLS開(kāi)銷就更大。
在瀏覽器里,一個(gè)網(wǎng)頁(yè)包含許多資源,包括HTML,CSS,JavaScript,圖片等等,這樣在加載一個(gè)網(wǎng)頁(yè)時(shí)要同時(shí)打開(kāi)連接到同一服務(wù)器的多個(gè)連接。
HTTP消息頭問(wèn)題,現(xiàn)在的客戶端會(huì)發(fā)送大量的HTTP消息頭,由于一個(gè)網(wǎng)頁(yè)可能需要50-100個(gè)請(qǐng)求,就會(huì)有相當(dāng)大的消息頭的數(shù)據(jù)量。
HTTP通信方式問(wèn)題,HTTP的請(qǐng)求/應(yīng)答方式的會(huì)話都是客戶端發(fā)起的,缺乏服務(wù)器通知客戶端的機(jī)制,在需要通知的場(chǎng)景,如聊天室,游戲,客戶端應(yīng)用需要不斷地輪詢服務(wù)器。
當(dāng)然,依然有不少?gòu)S商由于開(kāi)發(fā)方便的原因,選擇基于HTTP協(xié)議構(gòu)架物聯(lián)網(wǎng)系統(tǒng),在設(shè)備資源允許的情況下,怎么避免上面提到的數(shù)據(jù)推送實(shí)時(shí)性低的問(wèn)題呢?
websocket是一個(gè)可行的辦法。websocket是HTML5提出的基于TCP之上的可支持全雙工通信的協(xié)議標(biāo)準(zhǔn),其在設(shè)計(jì)上基本遵循HTTP的思路,對(duì)于基于HTTP協(xié)議的物聯(lián)網(wǎng)系統(tǒng)是一個(gè)很好的補(bǔ)充。
但是問(wèn)題是:http+websocket的方式,協(xié)議開(kāi)銷代價(jià)太大。如果讓一個(gè)單片機(jī)去實(shí)現(xiàn)這樣的協(xié)議,性能會(huì)很吃力。
2、XMPP
由于物聯(lián)網(wǎng)設(shè)備通信的模式和互聯(lián)網(wǎng)中的即時(shí)通訊應(yīng)用非常相似,互聯(lián)網(wǎng)中常用的即時(shí)通訊協(xié)議也被大量運(yùn)用于物聯(lián)網(wǎng)系統(tǒng)構(gòu)建中,這其中的典型是XMPP。
XMPP是基于XML的協(xié)議,由于其開(kāi)放性和易用性,在互聯(lián)網(wǎng)及時(shí)通訊應(yīng)用中運(yùn)用廣泛。相對(duì)HTTP,XMPP在通訊的業(yè)務(wù)流程上是更適合物聯(lián)網(wǎng)系統(tǒng)的,開(kāi)發(fā)者不用花太多心思去解決設(shè)備通訊時(shí)的業(yè)務(wù)通訊流程,相對(duì)開(kāi)發(fā)成本會(huì)更低。但是HTTP協(xié)議中的安全性以及計(jì)算資源消耗的硬傷并沒(méi)有得到本質(zhì)的解決。前段時(shí)間報(bào)出的黑客輕松破解的TCL洗衣機(jī),正是采用XMPP協(xié)議。
無(wú)論是HTTP、websocket還是XMPP,在設(shè)計(jì)時(shí)都是根據(jù)互聯(lián)網(wǎng)應(yīng)用場(chǎng)景設(shè)計(jì)的,雖然很多廠商把他們應(yīng)用在物聯(lián)網(wǎng)系統(tǒng)中,但是必然會(huì)水土不服,這些協(xié)議的通病就是根本無(wú)法適用物聯(lián)網(wǎng)設(shè)備的多樣性,無(wú)法適用很多物聯(lián)網(wǎng)設(shè)備對(duì)低功耗、低成本的需求,難以在極低資源的物聯(lián)網(wǎng)設(shè)備中運(yùn)用。能不能有協(xié)議既可以借用web技術(shù)的設(shè)計(jì)思想,同時(shí)又能適應(yīng)惡劣的物聯(lián)網(wǎng)設(shè)備運(yùn)行環(huán)境呢?
3、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)化:
1. 采用UDP而不是TCP。這省去了TCP建立連接的成本及協(xié)議棧的開(kāi)銷。
2. 將數(shù)據(jù)包頭部都采用二進(jìn)制壓縮,減小數(shù)據(jù)量以適應(yīng)低網(wǎng)絡(luò)速率場(chǎng)景。
3. 發(fā)送和接收數(shù)據(jù)可以異步進(jìn)行,這樣提升了設(shè)備響應(yīng)速度。
COAP協(xié)議就像一個(gè)針對(duì)物聯(lián)網(wǎng)場(chǎng)景的http移植品,很多設(shè)計(jì)保留了HTTP協(xié)議的影子,擁有web背景的開(kāi)發(fā)者也能快速上手。但是由于很多物聯(lián)網(wǎng)設(shè)備隱藏在局域網(wǎng)內(nèi)部,coap設(shè)備作為服務(wù)器無(wú)法被外部設(shè)備尋址,在ipv6沒(méi)有普及之前,coap只能適用于局域網(wǎng)內(nèi)部(如wifi)通信,這也很大限制了它的發(fā)展。
4、MQTT協(xié)議
MQTT協(xié)議就很好的解決了coap存在的問(wèn)題。MQTT協(xié)議是由IBM開(kāi)發(fā)的即時(shí)通訊協(xié)議,相比來(lái)說(shuō)比較適合物聯(lián)網(wǎng)場(chǎng)景的通訊協(xié)議。MQTT協(xié)議采用發(fā)布/訂閱模式,所有的物聯(lián)網(wǎng)終端都通過(guò)TCP連接到云端,云端通過(guò)主題的方式管理各個(gè)設(shè)備關(guān)注的通訊內(nèi)容,負(fù)責(zé)將設(shè)備與設(shè)備之間消息的轉(zhuǎn)發(fā)。
MQTT在協(xié)議設(shè)計(jì)時(shí)就考慮到不同設(shè)備的計(jì)算性能的差異,所以所有的協(xié)議都是采用二進(jìn)制格式編解碼,并且編解碼格式都非常易于開(kāi)發(fā)和實(shí)現(xiàn)。最小的數(shù)據(jù)包只有2個(gè)字節(jié),對(duì)于低功耗低速網(wǎng)絡(luò)也有很好的適應(yīng)性。有非常完善的QOS機(jī)制,根據(jù)業(yè)務(wù)場(chǎng)景可以選擇最多一次、至少一次、剛好一次三種消息送達(dá)模式。運(yùn)行在TCP協(xié)議之上,同時(shí)支持TLS(TCP+SSL)協(xié)議,并且由于所有數(shù)據(jù)通信都經(jīng)過(guò)云端,安全性得到了較好地保障。
當(dāng)前的物聯(lián)網(wǎng)通信協(xié)議真的是百花齊放,沒(méi)有任何協(xié)議能夠在市場(chǎng)上占有統(tǒng)治地位。但要實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備互聯(lián)互通(不同廠商、不同平臺(tái)、不同架構(gòu)),關(guān)鍵點(diǎn)并不在上述接入?yún)f(xié)議或通訊協(xié)議的統(tǒng)一,而在于上層業(yè)務(wù)應(yīng)用層協(xié)議的統(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)鍵。
5、DDS
DDS(Data Distribution Service for Real-Time Systems),面向?qū)崟r(shí)系統(tǒng)的數(shù)據(jù)分布服務(wù),這是大名鼎鼎的OMG組織提出的協(xié)議,其權(quán)威性應(yīng)該能證明該協(xié)議的未來(lái)應(yīng)用前景。
適用范圍:分布式高可靠性、實(shí)時(shí)傳輸設(shè)備數(shù)據(jù)通信。目前DDS已經(jīng)廣泛應(yīng)用于國(guó)防、民航、工業(yè)控制等領(lǐng)域。
特點(diǎn):
? 以數(shù)據(jù)為中心
? 使用無(wú)代理的發(fā)布/訂閱消息模式,點(diǎn)對(duì)點(diǎn)、點(diǎn)對(duì)多、多對(duì)多
? 提供多大21種QoS服務(wù)質(zhì)量策略
協(xié)議主要實(shí)現(xiàn):
? OpenDDS 是一個(gè)開(kāi)源的 C++ 實(shí)現(xiàn)
? OpenSplice DDS
DDS很好地支持設(shè)備之間的數(shù)據(jù)分發(fā)和設(shè)備控制,設(shè)備和云端的數(shù)據(jù)傳輸,同時(shí)DDS的數(shù)據(jù)分發(fā)的實(shí)時(shí)效率非常高,能做到秒級(jí)內(nèi)同時(shí)分發(fā)百萬(wàn)條消息到眾多設(shè)備。DDS在服務(wù)質(zhì)量(QoS)上提供非常多的保障途徑,這也是它適用于國(guó)防軍事、工業(yè)控制這些高可靠性、可安全性應(yīng)用領(lǐng)域的原因。但這些應(yīng)用都工作在有線網(wǎng)絡(luò)下,在無(wú)線網(wǎng)絡(luò),特別是資源受限的情況下,沒(méi)有見(jiàn)到過(guò)實(shí)施案例。