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