藍(lán)牙m(xù)esh承載層

藍(lán)牙m(xù)esh規(guī)范中定義了兩種承載器:廣播承載器和GATT承載器蚜锨。因?yàn)槟壳笆忻嫔纤惺謾C(jī)氏堤,都沒有包含完整的藍(lán)牙m(xù)esh協(xié)議棧,所以在APP中只能以代理的方式和設(shè)備建立連接才能通信搏明,造成的結(jié)果是在APP端只有GATT承載器鼠锈。廣播承載器的部分只能在節(jié)點(diǎn)與節(jié)點(diǎn)之間進(jìn)行數(shù)據(jù)傳輸時(shí)用到,APP端目前都是配網(wǎng)器的角色星著。

Advertising bearer

在手機(jī)端是沒有這個(gè)承載器的购笆,原因已經(jīng)在之前的文章中說過了。對(duì)于廣播承載器虚循,只貼一張圖

廣播承載器.jpeg

GATT bearer

GATT承載器能夠讓那些不支持廣播承載的設(shè)備也能加入藍(lán)牙m(xù)esh網(wǎng)絡(luò)同欠。GATT承載器通過在兩個(gè)設(shè)備之間建立GATT連接并使用代理協(xié)議來發(fā)送和接收代理數(shù)據(jù)報(bào)样傍。
就是用傳統(tǒng)的BLE4.0的操作方式,建立GATT服務(wù)端和客戶端铺遂,跟大多數(shù)BLE使用場(chǎng)景一樣衫哥,GATT服務(wù)端只能實(shí)例化一個(gè)藍(lán)牙m(xù)esh代理服務(wù),就是一個(gè)服務(wù)端不能同時(shí)連接多個(gè)客戶端襟锐。配網(wǎng)器連接代理節(jié)點(diǎn)撤逢,節(jié)點(diǎn)將消息傳遞給其他節(jié)點(diǎn)。
手機(jī)是服務(wù)端粮坞,根據(jù)協(xié)議規(guī)定蚊荣,手機(jī)同時(shí)只能連接一臺(tái)mesh設(shè)備。大家都知道手機(jī)可以連接多臺(tái)BLE4.0設(shè)備莫杈,為什么藍(lán)牙m(xù)esh協(xié)議規(guī)范要規(guī)定只能連接一臺(tái)設(shè)備互例?


GATT承載器

當(dāng)下有個(gè)配網(wǎng)需求,“一鍵配網(wǎng)”筝闹,指將搜索到的為配網(wǎng)設(shè)備媳叨,一鍵同時(shí)都加入網(wǎng)絡(luò)。能不能同一時(shí)間給多臺(tái)設(shè)備配網(wǎng)丁存?
所謂的藍(lán)牙m(xù)esh代理服務(wù)肩杈,就是在客戶端按照下圖中的特征配置,與指定的特性進(jìn)行通信解寝。


特性的區(qū)別

這里要說明一點(diǎn):藍(lán)牙m(xù)esh協(xié)議扩然,實(shí)際上包括設(shè)備配網(wǎng)協(xié)議與配網(wǎng)后的7層網(wǎng)絡(luò)架構(gòu)協(xié)議。配網(wǎng)數(shù)據(jù)的發(fā)送和節(jié)點(diǎn)的消息發(fā)送是兩種不同的協(xié)議層次聋伦。但是他們都會(huì)使用到承載層夫偶,所以可以看到設(shè)備在配網(wǎng)前后使用的代理特性是不一樣的,在APP界面上觉增,搜索未配網(wǎng)設(shè)備和搜索已配網(wǎng)設(shè)備的頁(yè)面也是分開的兵拢,這樣做的好處,在代碼實(shí)現(xiàn)層面的結(jié)構(gòu)更清晰逾礁。當(dāng)然是可以做到把未配網(wǎng)設(shè)備和配網(wǎng)設(shè)備都放在同一個(gè)頁(yè)面说铃,但不管是從消費(fèi)者使用方便還是程序業(yè)務(wù)邏輯上講,都沒有任何好處嘹履。

承載層的具體職責(zé)

1.將來自網(wǎng)絡(luò)層的數(shù)據(jù)報(bào)腻扇,通過GATT連接發(fā)送出去

2.識(shí)別接收到的數(shù)據(jù)類型,識(shí)別類型后傳給網(wǎng)絡(luò)層進(jìn)行下一步處理砾嫉。

承載層一共支持4種消息類型:

  • networkPdu = 0
  • meshBeacon = 1
  • proxyConfiguration = 2
  • provisioningPdu = 3

因?yàn)樗{(lán)牙m(xù)esh存在兩種不同的協(xié)議棧幼苛,在APP端程序中承載層暴露給網(wǎng)絡(luò)層調(diào)用的承載器是兩種:GattBearer和PBGattBearer。PBGattBearer是負(fù)責(zé)配網(wǎng)協(xié)議的承載器焕刮,僅支持provisioningPdu這種消息類型舶沿。GattBearer負(fù)責(zé)其他三種消息類型墙杯,networkPdu、meshBeacon括荡、proxyConfiguration高镐。這兩個(gè)承載器支撐起整個(gè)APP端藍(lán)牙m(xù)esh協(xié)議的數(shù)據(jù)傳輸。

承載層需要暴露給其他層調(diào)用的接口:

  1. 發(fā)送數(shù)據(jù)的接口
  2. 接收數(shù)據(jù)后往網(wǎng)絡(luò)層傳遞數(shù)據(jù)的接口
  3. 承載器的狀態(tài)查詢接口一汽,指底層BLE是否已經(jīng)建立連接
  4. 打開承載器接口避消,建立GATT連接
  5. 關(guān)閉承載器接口,關(guān)閉GATT連接
  6. 承載器打開成功后的回調(diào)接口
  7. 承載器操作異常的回調(diào)接口
  8. 承載器關(guān)閉成功后的回調(diào)接口
  9. 是否支持消息類型接口
  10. BLE設(shè)備信息回調(diào)接口召夹,如設(shè)備UUID岩喷,name,RSSI
  11. 承載層內(nèi)部的數(shù)據(jù)的分包與數(shù)據(jù)重組

思考:在之前的文章中提到過监憎,手機(jī)端因?yàn)闆]有完整的協(xié)議棧纱意,只能使用GATT承載器。從節(jié)點(diǎn)拓?fù)鋱D上看鲸阔,一個(gè)Friend節(jié)點(diǎn)可以對(duì)應(yīng)多個(gè)低功耗節(jié)點(diǎn)偷霉,那么低功耗節(jié)點(diǎn)設(shè)備是否有完整的mesh協(xié)議棧,它是如何實(shí)現(xiàn)與mesh網(wǎng)絡(luò)進(jìn)行通信的褐筛?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末类少,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子渔扎,更是在濱河造成了極大的恐慌硫狞,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晃痴,死亡現(xiàn)場(chǎng)離奇詭異残吩,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)倘核,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門泣侮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人紧唱,你說我怎么就攤上這事活尊。” “怎么了漏益?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵酬凳,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我遭庶,道長(zhǎng),這世上最難降的妖魔是什么稠屠? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任峦睡,我火速辦了婚禮翎苫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘榨了。我一直安慰自己煎谍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布龙屉。 她就那樣靜靜地躺著呐粘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪转捕。 梳的紋絲不亂的頭發(fā)上作岖,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音五芝,去河邊找鬼痘儡。 笑死,一個(gè)胖子當(dāng)著我的面吹牛枢步,可吹牛的內(nèi)容都是我干的沉删。 我是一名探鬼主播,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼醉途,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼矾瑰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起隘擎,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤殴穴,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后嵌屎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體推正,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年宝惰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了植榕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尼夺,死狀恐怖尊残,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情淤堵,我是刑警寧澤寝衫,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站拐邪,受9級(jí)特大地震影響慰毅,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扎阶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一汹胃、第九天 我趴在偏房一處隱蔽的房頂上張望婶芭。 院中可真熱鬧,春花似錦着饥、人聲如沸犀农。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽呵哨。三九已至,卻和暖如春轨奄,著一層夾襖步出監(jiān)牢的瞬間孟害,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工戚绕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留纹坐,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓舞丛,卻偏偏與公主長(zhǎng)得像耘子,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子球切,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容