作者:張慧 金陳瀟帥
隨著藍牙低功耗(BLE)技術(shù)在物聯(lián)網(wǎng)(IoT)行業(yè)快速普及,涌現(xiàn)出傳感器、可穿戴設(shè)備、醫(yī)療設(shè)備等典型應(yīng)用,但隨著智能家居領(lǐng)域的蓬勃發(fā)展,藍牙設(shè)備進行一對一的數(shù)據(jù)通信已逐漸無法滿足智能家居設(shè)備連接的需求,因此,藍牙技術(shù)聯(lián)盟(Bluetooth Special Interest Group)于2017年7月發(fā)布藍牙網(wǎng)狀標準,支持多對多拓撲(類似網(wǎng)狀結(jié)構(gòu)),多個藍牙設(shè)備可以互相發(fā)送消息并可以作為中繼將消息轉(zhuǎn)發(fā)到網(wǎng)絡(luò)中的其他設(shè)備。
相較于WiFi技術(shù),藍牙m(xù)esh技術(shù)具有傳輸距離廣、擺脫中心節(jié)點依賴、支持多對多拓撲、支持單節(jié)點故障自我修復等特點。隨著近年來智能家居領(lǐng)域的蓬勃發(fā)展,各種低功耗傳感器如雨后春筍般出現(xiàn)在智能家居市場上,藍牙m(xù)esh技術(shù)的特點正好彌補了傳統(tǒng)藍牙的不足,因此可以預見在未來的市場上,藍牙m(xù)esh技術(shù)在通信,物聯(lián)網(wǎng)、人工智能等領(lǐng)域?qū)⒌玫綇V泛的應(yīng)用。
Part 01●??藍牙m(xù)esh技術(shù)特點?●
- 支持多對多拓撲
藍牙m(xù)esh網(wǎng)絡(luò)采用一種稱為“網(wǎng)絡(luò)泛洪(flooding)”的方式進行發(fā)布和中繼消息,可實現(xiàn)mesh網(wǎng)絡(luò)中多個節(jié)點和多個節(jié)點的連接及消息互通。
- 擴展物理區(qū)域覆蓋
藍牙m(xù)esh網(wǎng)絡(luò)擺脫節(jié)點只能下掛在網(wǎng)關(guān)或主路由下的束縛,還可作為中繼節(jié)點、朋友節(jié)點的角色,支持對終端設(shè)備消息中繼和轉(zhuǎn)發(fā),實現(xiàn)“接力傳輸”,克服WiFi技術(shù)較遠距離的設(shè)備消息互通及覆蓋等困難。
- 去除中心節(jié)點依賴
藍牙m(xù)esh網(wǎng)絡(luò)進行消息傳遞,不會通過某一特定路線、特定設(shè)備或某一固定過程進行消息路由,因此,可擺脫中心節(jié)點(例如:網(wǎng)關(guān)、主路由設(shè)備等)的依賴。
- 支持自我修復
藍牙m(xù)esh網(wǎng)絡(luò)中單一節(jié)點故障或異常無法進行通信,會進行自動自我配置,通過其他正常工作節(jié)點傳遞或中繼消息,從而實現(xiàn)單點故障自我修復。
Part 02●??藍牙m(xù)esh技術(shù)原理?●
藍牙m(xù)esh技術(shù)的原理和設(shè)計主要從網(wǎng)絡(luò)架構(gòu)、拓撲及節(jié)點、地址劃分三方面進行體現(xiàn),以下將以這三個方面為切入點,剖析藍牙技術(shù)原理。
1?? 藍牙m(xù)esh技術(shù)網(wǎng)絡(luò)架構(gòu)
在網(wǎng)絡(luò)架構(gòu)中,藍牙m(xù)esh是工作在BLE協(xié)議棧之上,使用相同的物理層和鏈路層。
圖1 藍牙m(xù)esh協(xié)議棧示意圖
自上而下,藍牙m(xù)esh協(xié)議棧分別為:模型層(Model Layer)、基礎(chǔ)模型層(Foundation Model Layer)、訪問層(Access Layer)、上層傳輸層(Upper Transport Layer)、底層傳輸層(Lower Transport Layer)、網(wǎng)絡(luò)層(Network Layer)、承接層(Bearer Layer)。其中,藍牙m(xù)esh協(xié)議棧各層作用為:模型層定義用戶場景/應(yīng)用,基礎(chǔ)模型層配置管理mesh,訪問層定義應(yīng)用如何利用上下文數(shù)據(jù),上層傳輸層對應(yīng)用數(shù)據(jù)加密及解密,底層傳輸層對數(shù)據(jù)分段及重組,網(wǎng)絡(luò)層進行網(wǎng)絡(luò)管理,承接層進行廣播/GATT承載。
2?? 藍牙m(xù)esh拓樸及節(jié)點
圖2 藍牙m(xù)esh網(wǎng)絡(luò)拓撲
藍牙m(xù)esh支持多對多通信,因此在具有較多設(shè)備的場景下,藍牙m(xù)esh一般為網(wǎng)狀結(jié)構(gòu),如上圖所示,在藍牙m(xù)esh網(wǎng)絡(luò)拓撲中,一般存在這四類節(jié)點類型:
(1)藍色節(jié)點代表普通終端節(jié)點,不能對藍牙m(xù)esh網(wǎng)絡(luò)中消息進行中繼轉(zhuǎn)發(fā),直接從藍牙m(xù)esh網(wǎng)絡(luò)中進行消息的接收和發(fā)送;
(2)紅色節(jié)點為中繼節(jié)點,用于消息的中繼,實現(xiàn)網(wǎng)絡(luò)消息的遠距離傳輸;
(3)紫色節(jié)點代表朋友節(jié)點,用于低功耗節(jié)點和網(wǎng)絡(luò)間傳遞消息;
(4)黃色節(jié)點代表低功耗節(jié)點,通過朋友節(jié)點進行消息的接收或轉(zhuǎn)發(fā),這類節(jié)點一般是低功耗傳感器,采用電池供電,因此會存在休眠機制。
藍牙m(xù)esh技術(shù)基于網(wǎng)絡(luò)泛洪(flooding)的信息傳遞機制,所有信息一旦由節(jié)點發(fā)布后,就會廣播到網(wǎng)絡(luò)上,而非透過路由方式傳遞給一個或多個節(jié)點。而WiFi網(wǎng)絡(luò)是圍繞著一個中央節(jié)點(例如網(wǎng)關(guān)、路由器等設(shè)備)來進行消息上下行,所有網(wǎng)絡(luò)流量都會經(jīng)過此處,萬一中央節(jié)點故障,整個網(wǎng)絡(luò)就跟著停擺。藍牙m(xù)esh技術(shù)可有效去除中心化,擺脫對中心節(jié)點依賴。
3?? 藍牙m(xù)esh地址劃分
藍牙m(xù)esh網(wǎng)絡(luò)層定義了四種基本類型的地址:未分配地址、單播地址、虛擬地址、組播地址,其中,地址長度為16位。地址詳細分類如下表所示:
(1)未分配地址
未分配地址是尚未被配置的節(jié)點元素的地址或未分配的地址。未分配地址的值為0x0000。例如:可以通過將模型的發(fā)布地址設(shè)置為未分配地址來禁用模型的消息發(fā)布,未分配地址不得用于消息的源或目標地址字段。
(2)單播地址
單播地址是分配給每個元素的唯一地址,單播地址的值不能為0x0000,可取值范圍為0x0001到0x7FFF。在配網(wǎng)階段,配置器會在網(wǎng)絡(luò)節(jié)點的生命周期內(nèi)為節(jié)點的每個元素分配單播地址,該地址可以由配置器取消分配,允許重復利用。
(3)虛擬地址
虛擬地址表示一組目標地址,每個虛擬地址在邏輯上代表一個標簽UUID,一個或多個元素可以配置發(fā)布或訂閱同一個標簽UUID。標簽UUID不會被傳輸,應(yīng)該用做上層傳輸層中消息完整性校驗值的附加數(shù)據(jù)字段。虛擬地址的取值范圍為0x8000到0xBFFF。
(4)組播地址
將0或多個元素的地址配置成同一地址,該地址就為組播地址。組播地址從0xFF00到0xFFFF保留給固定的用途,0XC000到0xFEFF用于其他用途。組播地址只能在消息的目標地址字段中使用,發(fā)送給組播地址的消息會被訂閱這個組播地址的所有模型實體接收。
Part 03●??藍牙m(xù)esh在智能家居領(lǐng)域的應(yīng)用?●
在智能家居市場上,藍牙m(xù)esh的應(yīng)用主要集中在給智能家居設(shè)備配網(wǎng)和管控智能家居設(shè)備兩大場景。
所謂藍牙m(xù)esh配網(wǎng)就是通過配置將設(shè)備加入到網(wǎng)絡(luò)中,使其成為藍牙m(xù)esh網(wǎng)絡(luò)的一部分。藍牙m(xù)esh配網(wǎng),主要涉及到未配網(wǎng)設(shè)備(Unprovisioned Device)、配網(wǎng)器(provisioner)、mesh節(jié)點(mesh Node)三個角色。如下圖所示,將未配網(wǎng)設(shè)備經(jīng)過信標階段、邀請階段、交換公鑰階段、身份認證階段、分發(fā)配網(wǎng)數(shù)據(jù)階段5個階段后,即可接入藍牙m(xù)esh網(wǎng)絡(luò)實現(xiàn)消息的互聯(lián)互通。
圖3 藍牙m(xù)esh配網(wǎng)流程圖
對于管控智能家居設(shè)備,即可通過節(jié)點間消息互傳、廣播等實現(xiàn)同時對多個智能家居設(shè)備的管控,并且可以支持遠程控制和本地控制,相較于在WiFi網(wǎng)絡(luò)下同時管控多個設(shè)備,藍牙m(xù)esh管控方式響應(yīng)速度更快并且對網(wǎng)絡(luò)負載更小。
圖4 藍牙m(xù)esh網(wǎng)絡(luò)內(nèi)多個設(shè)備管控
綜合Part1~Part3所述,藍牙m(xù)esh技術(shù)擁有支持多點對多點連接、物理覆蓋區(qū)域廣闊、去除中心節(jié)點依賴等特性,既然滿足了智能家居設(shè)備日益增長的互聯(lián)互通的需求,又克服了現(xiàn)有WiFi技術(shù)無法解決的困難,為物聯(lián)網(wǎng)適配不同場景提供了新的解決方案。