文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.04.007
中文引用格式: 徐春燕,,肖揚(yáng)文,,蔡敏. BLE Mesh網(wǎng)絡(luò)協(xié)議綜述[J].電子技術(shù)應(yīng)用,2017,,43(4):29-31,,35.
英文引用格式: Xu Chunyan,Xiao Yangwen,,Cai Min. Overview of BLE Mesh network protocols[J].Application of Electronic Technique,,2017,43(4):29-31,,35.
0 引言
自2012年藍(lán)牙4.0規(guī)范推出之后,全新的藍(lán)牙低功耗(BLE)技術(shù)由于其極低的運(yùn)行和待機(jī)功耗,、低成本和跨廠(chǎng)商互操作性,,3 ms低延遲,、AES-128加密等諸多特色,可以用于計(jì)步器,、心律監(jiān)視器,、傳感器物聯(lián)網(wǎng)等眾多領(lǐng)域,大大擴(kuò)展藍(lán)牙技術(shù)的應(yīng)用范圍[1-2],。
盡管BLE已經(jīng)被廣泛應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域,,但是仍然存在著點(diǎn)對(duì)點(diǎn)的拓?fù)浣Y(jié)構(gòu)的限制,以及傳輸距離短,、組網(wǎng)能力差等問(wèn)題,。由于藍(lán)牙4.1規(guī)范中說(shuō)明,一個(gè)BLE設(shè)備既可以在一個(gè)網(wǎng)絡(luò)中作為主設(shè)備,,又可以在另一個(gè)網(wǎng)絡(luò)中作為從設(shè)備[3],。因此,Mesh網(wǎng)絡(luò)可以利用BLE的這一特性,,就可以在不需要連接的情況下傳輸數(shù)據(jù),,同時(shí)也可以發(fā)起廣播。在藍(lán)牙4.1規(guī)范中還提到,,v4.1是以物聯(lián)網(wǎng)為目標(biāo)對(duì)v4.0軟件升級(jí),,硬件上沒(méi)有任何改動(dòng),并且可以通過(guò)IPv6建立網(wǎng)絡(luò)連接,,解決了在無(wú)WiFi情況下設(shè)備上網(wǎng)不易的問(wèn)題,。
本文首先介紹了BLE Mesh網(wǎng)絡(luò)結(jié)構(gòu)的特點(diǎn)優(yōu)勢(shì),然后綜合評(píng)述了影響B(tài)LE Mesh組網(wǎng)發(fā)展的關(guān)鍵因素,,并分析了現(xiàn)有BLE Mesh技術(shù)的不足之處,,在此基礎(chǔ)上對(duì)BLE Mesh技術(shù)的發(fā)展方向進(jìn)行了展望。
1 Mesh的網(wǎng)絡(luò)結(jié)構(gòu)特點(diǎn)
無(wú)線(xiàn)Mesh網(wǎng)絡(luò)也稱(chēng)為“多跳(multi-hop)”網(wǎng)絡(luò),,它是一種與傳統(tǒng)無(wú)線(xiàn)網(wǎng)絡(luò)完全不同的新型無(wú)線(xiàn)網(wǎng)絡(luò)技術(shù)[4],。傳統(tǒng)的無(wú)線(xiàn)網(wǎng)絡(luò)主要是點(diǎn)對(duì)點(diǎn)或點(diǎn)對(duì)多點(diǎn)的星型網(wǎng)絡(luò),所有終端節(jié)點(diǎn)必須與中心節(jié)點(diǎn)交換數(shù)據(jù),,其拓?fù)浣Y(jié)構(gòu)如圖1,。而無(wú)線(xiàn)Mesh網(wǎng)絡(luò)采用對(duì)等式的網(wǎng)絡(luò)拓?fù)洌總€(gè)節(jié)點(diǎn)與其相鄰節(jié)點(diǎn)進(jìn)行通信,,并有數(shù)據(jù)轉(zhuǎn)發(fā)的功能,,其拓?fù)浣Y(jié)構(gòu)如圖2。無(wú)線(xiàn)Mesh網(wǎng)絡(luò)的可擴(kuò)展性強(qiáng),,如果需要向網(wǎng)絡(luò)中新增節(jié)點(diǎn),,只需將新增節(jié)點(diǎn)安裝并進(jìn)行相應(yīng)的配置[5-6]。無(wú)線(xiàn)Mesh網(wǎng)絡(luò)的可靠性也極高,如果某個(gè)節(jié)點(diǎn)上行有線(xiàn)鏈路出現(xiàn)故障,,不會(huì)影響整個(gè)網(wǎng)絡(luò)的運(yùn)行,,可以有效避免單點(diǎn)故障。
多點(diǎn)對(duì)多點(diǎn)Mesh技術(shù)讓藍(lán)牙在組網(wǎng)能力上有了巨大的提升,,基于BLE標(biāo)準(zhǔn)協(xié)議的Mesh網(wǎng)絡(luò)中數(shù)據(jù)收發(fā)的過(guò)程如圖3所示,。
圖3中的BLE邏輯鏈路控制和適配協(xié)議(L2CAP)主要負(fù)責(zé)節(jié)點(diǎn)設(shè)備兩端的邏輯連接,節(jié)點(diǎn)的新增或減少通過(guò)BLE的L2CAP控制,。掃描管理(Scan Manager)負(fù)責(zé)廣播信道上的廣播信息,,通過(guò)發(fā)送掃描信息到BLE的廣播監(jiān)聽(tīng)者,從而傳到節(jié)點(diǎn)進(jìn)行節(jié)點(diǎn)的傳播,。同樣地,,廣播管理者(Advertise Manager)負(fù)責(zé)發(fā)送節(jié)點(diǎn)的廣播的信息到目的節(jié)點(diǎn)。
當(dāng)每個(gè)Mesh的節(jié)點(diǎn)不在廣播數(shù)據(jù)的狀態(tài),,就是在接受數(shù)據(jù)的狀態(tài),,即在一個(gè)廣播事件中BLE設(shè)備充當(dāng)Advertiser 角色,也充當(dāng)著Scanner角色,。當(dāng)Mesh節(jié)點(diǎn)需要廣播的時(shí)候,,退出接收數(shù)據(jù)的狀態(tài),正常收發(fā)的廣播的優(yōu)先級(jí)要比轉(zhuǎn)發(fā)數(shù)據(jù)的優(yōu)先級(jí)高,。
2 影響B(tài)LE Mesh技術(shù)的關(guān)鍵因素
2.1 路由選擇算法
2.1.1 CSR Mesh的洪泛式路由算法
基于藍(lán)牙4.0的CSR Mesh組網(wǎng)技術(shù)采用的是最簡(jiǎn)單最可靠的洪泛式路由算法[6],。洪泛式路由算法又稱(chēng)為擴(kuò)散法,,其基本思想是每個(gè)節(jié)點(diǎn)都是用廣播轉(zhuǎn)發(fā)收到的數(shù)據(jù)分組,,其節(jié)點(diǎn)和節(jié)點(diǎn)之間的距離為50 m,通過(guò)節(jié)點(diǎn)的不斷一級(jí)一級(jí)廣播,,最終到達(dá)目的節(jié)點(diǎn)[7],。這種廣播式的洪泛路由算法對(duì)于動(dòng)態(tài)的節(jié)點(diǎn),進(jìn)出網(wǎng)絡(luò)頻繁的場(chǎng)景下非常有效,,但是,,洪泛式的廣播會(huì)導(dǎo)致網(wǎng)絡(luò)中充斥著大量重復(fù)的數(shù)據(jù),占用網(wǎng)絡(luò)資源,,使得節(jié)點(diǎn)嚴(yán)重地消耗能量,,整個(gè)網(wǎng)絡(luò)的生命周期也會(huì)受影響。
針對(duì)傳統(tǒng)的廣播式洪泛算法缺陷,,需要作出改進(jìn)來(lái)避免無(wú)用的重復(fù)轉(zhuǎn)發(fā),,提高帶寬的利用率。例如: 將路由區(qū)域限定在指定區(qū)域內(nèi),,在指定區(qū)域內(nèi)再選擇下一節(jié)點(diǎn)的路由區(qū)域,。這種方法可以有效降低網(wǎng)絡(luò)中節(jié)點(diǎn)的無(wú)用消耗,同時(shí)也可能出現(xiàn)在指定區(qū)域內(nèi)找不到的節(jié)點(diǎn)的問(wèn)題,所以需要更進(jìn)一步去探討如何有效地限定區(qū)域,。
2.1.2 機(jī)會(huì)路由算法
機(jī)會(huì)路由算法的基本思想是每次數(shù)據(jù)包轉(zhuǎn)發(fā)給一組節(jié)點(diǎn),,從這一組節(jié)點(diǎn)中選出最優(yōu)節(jié)點(diǎn),再?gòu)倪@一最優(yōu)節(jié)點(diǎn)轉(zhuǎn)發(fā)到下一組節(jié)點(diǎn)中,,如此重復(fù)到目的節(jié)點(diǎn)接收到數(shù)據(jù)包,,可以大大提高數(shù)據(jù)分組傳輸成功率[8]。機(jī)會(huì)路由算法的優(yōu)劣取決于多個(gè)方面的因素,,一是后備轉(zhuǎn)發(fā)節(jié)點(diǎn)集,,若后備轉(zhuǎn)發(fā)節(jié)點(diǎn)過(guò)多,會(huì)導(dǎo)致數(shù)據(jù)重復(fù)發(fā)送的問(wèn)題,,若后備轉(zhuǎn)發(fā)節(jié)點(diǎn)過(guò)少,,則不利于提高數(shù)據(jù)分組的轉(zhuǎn)發(fā)率[9]。二是節(jié)點(diǎn)組中最優(yōu)節(jié)點(diǎn)的選擇,,確定最優(yōu)節(jié)點(diǎn)的關(guān)鍵是能夠反映節(jié)點(diǎn)發(fā)送能力的度量參數(shù),。度量參數(shù)主要包括空時(shí)變量、期望傳輸時(shí)間,、期望傳輸次數(shù),、跳數(shù)、地理距離等,。三是后備轉(zhuǎn)發(fā)節(jié)點(diǎn)間的協(xié)調(diào),,正確接收到數(shù)據(jù)包的后備轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)其優(yōu)先級(jí)回復(fù)ACK應(yīng)答幀,最先發(fā)送ACK的節(jié)點(diǎn)成為實(shí)際轉(zhuǎn)發(fā)節(jié)點(diǎn)[10],。
路由算法設(shè)計(jì)的優(yōu)劣直接決定了數(shù)據(jù)轉(zhuǎn)發(fā)的效率,,不管是傳統(tǒng)的洪泛式路由算法,還是機(jī)會(huì)路由算法,,在節(jié)點(diǎn)運(yùn)動(dòng)劇烈的情況下,,往往得不到較優(yōu)的網(wǎng)絡(luò)性能。
2.2 廣播信道的局限
藍(lán)牙工作在免許可的2.4 GHz的ISM射頻頻段,。其物理信道分為兩組:一組是廣播(Advertiser)信道,,一組是數(shù)據(jù)(Data)信道。在連接建立之前,,設(shè)備之間是通過(guò)廣播(Advertiser)信道交互數(shù)據(jù)的,,當(dāng)廣播者發(fā)送一個(gè)廣播包之后,它在同一信道上監(jiān)聽(tīng)連接請(qǐng)求包或者掃描請(qǐng)求包,,當(dāng)正確接收到連接請(qǐng)求包之后,,連接開(kāi)始建立。在連接成功建立之后,,數(shù)據(jù)之間的交互使用的是數(shù)據(jù)(Data)信道,。
傳統(tǒng)藍(lán)牙中,,使用32個(gè)廣播信道和79個(gè)數(shù)據(jù)信道,每1 MHz一個(gè)頻道,;而在BLE中,,只用了3個(gè)廣播信道和37個(gè)數(shù)據(jù)信道,每2 MHz一個(gè)頻道,。廣播信道的急劇減少是為了實(shí)現(xiàn)更低功耗,,這意味著B(niǎo)LE掃描其他設(shè)備開(kāi)啟的時(shí)間遠(yuǎn)遠(yuǎn)低于傳統(tǒng)藍(lán)牙的開(kāi)啟時(shí)間。BLE技術(shù)設(shè)計(jì)的3個(gè)廣播信道是為了在魯棒性和低功耗之間取得平衡,。在BLE中,,如果只設(shè)1個(gè)廣播信道,假設(shè)該信道被其他設(shè)備阻塞,,則設(shè)備無(wú)法配對(duì)或者廣播數(shù)據(jù),,整個(gè)系統(tǒng)將無(wú)法工作。如果信道設(shè)定的過(guò)多,,該設(shè)備將需要花費(fèi)大量的時(shí)間進(jìn)行廣播數(shù)據(jù)的傳輸,,將與低功耗的初衷背道而馳。
BLE的3個(gè)廣播信道用于Mesh網(wǎng)絡(luò)中,,則需重新考慮魯棒性的問(wèn)題,。隨著Mesh網(wǎng)絡(luò)的節(jié)點(diǎn)不斷增加,所有節(jié)點(diǎn)都只能共用3個(gè)廣播信道,,此時(shí),,出現(xiàn)信號(hào)沖突的概率就大大增加。
2.3 睡眠模式的關(guān)閉
BLE有三種工作模式:一是關(guān)閉模式,,此時(shí)沒(méi)有任何時(shí)鐘在運(yùn)行,,芯片完全斷電,沒(méi)有任何設(shè)備能夠進(jìn)行連接,。二是睡眠模式,,此時(shí)僅有l(wèi)ow_power_clk在運(yùn)行,,這種情況下只有達(dá)到預(yù)定的睡眠時(shí)間或者有wake_up喚醒請(qǐng)求,,睡眠模式才能轉(zhuǎn)換為正常工作的模式。三是正常工作模式,,在這種模式下,,可以進(jìn)行廣播、掃描,、連接以及實(shí)時(shí)數(shù)據(jù)包的處理,。主時(shí)鐘hclk打開(kāi),若數(shù)據(jù)需要進(jìn)行加密,,加密時(shí)鐘crypt_clk也會(huì)打開(kāi),。
BLE設(shè)計(jì)采用睡眠模式來(lái)替代傳統(tǒng)藍(lán)牙的空閑狀態(tài),在睡眠模式下,主機(jī)長(zhǎng)時(shí)間處于超低的負(fù)載循環(huán)狀態(tài),,只需要在運(yùn)行的時(shí)候由控制器來(lái)啟動(dòng),,因?yàn)橹鳈C(jī)比控制器消耗更多的能量。而且在睡眠模式下的數(shù)據(jù)發(fā)送間隔加大,,由此,,BLE的待機(jī)功耗大大減小。但是在BLE的Mesh網(wǎng)絡(luò)中,,一次事件中不僅是單一的廣播或者單一的連接,,若進(jìn)入到睡眠模式之后,睡眠時(shí)間過(guò)短導(dǎo)致射頻來(lái)不及關(guān)閉又必須打開(kāi),,睡眠時(shí)間無(wú)效,。如圖4所示。
如圖4(a)中,,一次廣播事件包括了在(37,,38,39)3個(gè)廣播信道上廣播,,T1為廣播間隔范圍為20 ms到10.24 s,。廣播完成后,BLE進(jìn)入睡眠模式,,直到下一次廣播事件的來(lái)臨,。圖4(b)中,一次事件中包括了正常的廣播事件加上掃描事件,。T1為廣播間隔時(shí)間,,廣播事件的優(yōu)先級(jí)最高,這個(gè)事件不能被打斷,。T2為掃描事件間隔,,當(dāng)掃描事件EVENTINT中斷產(chǎn)生后,如果10 ms內(nèi)沒(méi)有新的事件需要處理,,會(huì)重新開(kāi)始掃描事件,。T3為不可連接的廣播事件間隔,當(dāng)不可連接廣播事件EVENTINT中斷產(chǎn)生后,,如果在一次這個(gè)廣播事件間隔內(nèi)沒(méi)有可連接廣播,,并且UNCON_ADV_CNT(協(xié)議棧記錄不可連接廣播發(fā)送的次數(shù))<5時(shí)重新開(kāi)始這個(gè)事件。每產(chǎn)生一次EVENTINT中斷,,協(xié)議棧中的UNCON_ADV_CNT+1,。
3 結(jié)論
目前,BLE Mesh技術(shù)的宣傳很火熱,,BLE Mesh技術(shù)的出現(xiàn)對(duì)于WiFi和ZigBee等無(wú)線(xiàn)傳輸技術(shù)來(lái)說(shuō),,將成為一大挑戰(zhàn),。但是能夠真正融入人們的日常生活還有很長(zhǎng)的一段路要走。值得慶幸的是,,在2015年2月,,藍(lán)牙技術(shù)聯(lián)盟宣布成立藍(lán)牙智能Mesh工作小組,旨在為BLE建立Mesh網(wǎng)絡(luò)標(biāo)準(zhǔn),。雖然BLE Mesh目前還存在著許多問(wèn)題,,但是隨著B(niǎo)LE Mesh技術(shù)的不斷進(jìn)步,相信在不久的將來(lái),,BLE Mesh能夠納入藍(lán)牙技術(shù)聯(lián)盟的標(biāo)準(zhǔn)之中,,并且能夠普及在智能家居和物聯(lián)網(wǎng)的應(yīng)用。
參考文獻(xiàn)
[1] The Bluetooth Special Interest Group.Specification of the Bluetooth System,,Covered Core Package,,Version:4.0[EB/OL].https://www.bluetooth.org/docman/handlers/downloaddoc.ashx?doc_id=229737.
[2] A West.Smartphone,the key for Bluetooth low energy technology[EB/OL].(2012-06-24).http://www.bluetooth.com/Pages/Smartphones.aspx.
[3] Bluetooth SIG.Bluetooth Specification Version 4.0[EB/OL].https://www.bluetooth.com/specifications/adopted-specifications.
[4] OUNI A,,RIVANO H,,VALOIS F,et al.Energy and through-put optimization of wireless mesh networks with continuous power control[J].IEEE Transactions on Wireless Communications,,2015,,14(2):1131-1142.
[5] ALOTAIBI E,MUKHERJEE B.A survey on routing algorithms for wireless Ad-Hoc and mesh networks[J].Computer Networks,,2012,,56(2):940-965.
[6] ZENKER P,KRUG S,,BINHACK M,,et al.Evaluation of BLE Mesh capabilities:A case study based on CSRMesh[C]//Eighth International Conference on Ubiquitous and Future Networks.2016:790-795.
[7] GUO S,HE L,,GU Y,,et al.Opportunistic flooding in low-duty-cycle wireless sensor networks with unreliable links[J].IEEE Transactions on Computers,2014,,63(11):2787-2802.
[8] GHADIMI E,,LANDSIEDEL O,SOLDATI P,,et al.Opportunistic routing in low duty-cycle wireless sensor networks[J].Acm Transactions on Sensor Networks,,2016,10(4):1-39.
[9] KIM H S,,LEE J,JU W J.BLEmesh:A wireless mesh network protocol for bluetooth low energy devices[C]//International Conference on Future Internet of Things and Cloud,,IEEE Computer Society,,2015:558-563.
[10] SIRUR S,,JUTURU P,GUPTA H P,,et al.A mesh network for mobile devices using Bluetooth low energy[C]//IEEE Sensors,,IEEE,2015:1-4.
[11] SIEKKINEN M,,HIIENKARI M,,NURMINEN J K,et al.How low energy is bluetooth low energy? Comparative measurements with ZigBee/802.15.4[C]//Wireless Communications and NETWORKING Conference Workshops.IEEE,,2012:232-237.
[12] Bluetooth Special Interest Group,,Bluetooth Technology adding Mesh Networking to Spur New Wave of Innovation[EB/OL].2015,https://www.bluetooth.com/news/pressre-leases/2015/02/24/bluetoothtechnology-adding-mesh-networking-to-spur-new-wave-of-innovation.
作者信息:
徐春燕1,,肖揚(yáng)文2,,蔡 敏1
(1.華南理工大學(xué) 電子與信息學(xué)院,廣東 廣州510640,;2.國(guó)家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局信息中心,,北京100088)