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