1
遠(yuǎn)程配網(wǎng)(Remote Provisioning)
功能介紹
藍(lán)牙Mesh規(guī)范1.0版本里面,進(jìn)行配網(wǎng)(Provisioning)的時(shí)候,要求配網(wǎng)節(jié)點(diǎn)(Provisioner)和被配網(wǎng)節(jié)點(diǎn)(Provisionee)在一跳范圍內(nèi),因?yàn)閡nprovision beacon 包不能直接進(jìn)行relay,所以配網(wǎng)過(guò)程中的命令交互也就不能進(jìn)行relay。
為了把一跳以外的節(jié)點(diǎn)加入網(wǎng)絡(luò),藍(lán)牙Mesh規(guī)范1.1版本加入遠(yuǎn)程配網(wǎng)(Remote Provisioning,RPR)功能。RPR在組網(wǎng)的時(shí)候,也是逐個(gè)節(jié)點(diǎn)進(jìn)行添加,但是有relay的功能,所以可以添加較遠(yuǎn)的節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò)。目前,泰凌微電子的TLSR825x和TLSR921x系列芯片已經(jīng)全面支持包括RPR在內(nèi)的藍(lán)牙Mesh規(guī)范1.1的所有新功能。
重要應(yīng)用場(chǎng)景:采用RPR后,當(dāng)主機(jī)(配網(wǎng)節(jié)點(diǎn))不方便移動(dòng)時(shí),也可以實(shí)現(xiàn)在應(yīng)用中按實(shí)際場(chǎng)景先布置好mesh節(jié)點(diǎn),然后再組網(wǎng)。特別是有網(wǎng)關(guān)的應(yīng)用場(chǎng)景。
RPR組網(wǎng)流程如下:
先對(duì)配網(wǎng)節(jié)點(diǎn)一跳范圍內(nèi)的一個(gè)或者多個(gè)節(jié)點(diǎn)進(jìn)行組網(wǎng)。
通過(guò)已經(jīng)組網(wǎng)的節(jié)點(diǎn)掃描更遠(yuǎn)距離(第二跳范圍內(nèi))的節(jié)點(diǎn)發(fā)出來(lái)的unprovision beacon并上報(bào)給配網(wǎng)節(jié)點(diǎn)。
配網(wǎng)節(jié)點(diǎn)選中某一個(gè)上報(bào)unprovision beacon的節(jié)點(diǎn)(比如已組網(wǎng)節(jié)點(diǎn)A上報(bào)掃描到了未組網(wǎng)節(jié)點(diǎn) B )。
配網(wǎng)節(jié)點(diǎn)對(duì)節(jié)點(diǎn)B組網(wǎng)時(shí),把要發(fā)送給節(jié)點(diǎn)B的消息先封裝成mesh network message,然后先發(fā)送給節(jié)點(diǎn)A,然后節(jié)點(diǎn)A再把組網(wǎng)信息提取出來(lái),以通用的provision PDU的形式發(fā)送給未組網(wǎng)節(jié)點(diǎn)B(可以是 PB-ADV, 也可以是 PB-GATT的方式)。
節(jié)點(diǎn)B回復(fù)給配網(wǎng)節(jié)點(diǎn)的消息,也是先封裝成mesh network message后,再經(jīng)過(guò)A傳給配網(wǎng)節(jié)點(diǎn)。
步驟4和步驟5多次執(zhí)行,直至組網(wǎng)完成。在此過(guò)程中,對(duì)于未組網(wǎng)節(jié)點(diǎn) B 來(lái)說(shuō),可以認(rèn)為節(jié)點(diǎn) A 是不存在的,和普通的組網(wǎng)模式?jīng)]有什么區(qū)別。
通過(guò)重復(fù)步驟2到6把第二跳范圍內(nèi)的節(jié)點(diǎn)組網(wǎng)完成。然后按相同的方式,再搜索和組網(wǎng)第三跳的節(jié)點(diǎn)。。直至搜索不到任何未配網(wǎng)節(jié)點(diǎn)。
另外, RPR除了可以做遠(yuǎn)程組網(wǎng),還可以做Device Key, Node Address和 Composition Data的更新。
2
使用App測(cè)試RPR功能
01
測(cè)試條件
1、SDK開(kāi)發(fā)包
訪問(wèn)Telink Wiki下載最新的藍(lán)牙Mesh SDK:
https://wiki.telink-semi.cn/tools_and_sdk/BLE_Mesh/SIG_Mesh/sig_mesh_sdk.zip
2、硬件
本文以TLSR825x芯片作為測(cè)試樣例。需要TLSR8258 Dongle若干(>=2)作為mesh節(jié)點(diǎn)設(shè)備,可以通過(guò)在線購(gòu)買獲?。?/p>
https://item.taobao.com/item.htm?spm=a1z10.5-c.w4002-24776555937.13.5c531ab2zURieL&id=680419633378
3、手機(jī)App
Android App在以上SDK開(kāi)發(fā)包中獲?。?elink_sig_mesh_sdkappandroidTelinkBleMeshTelinkBleMeshDemo-V4.1.0.0-20231113.apk
iOS App可以在App Store通過(guò)搜索telinksigmesh獲取。
02
SDK代碼配置
在默認(rèn)配置下,RPR功能是關(guān)閉的。如需開(kāi)啟該功能,則需要在mesh_config.h文件中打開(kāi)節(jié)點(diǎn)端的 MD_REMOTE_PROV宏開(kāi)關(guān)(如下圖)。
將編譯后得到的8258_mesh.bin文件燒錄到兩個(gè)TLSR8258 Dongle中,并將dongle上電。
03
APP設(shè)置
打開(kāi)App,??點(diǎn)擊Setting——Settings——Provision Mode,選擇remote provision。
04
測(cè)試步驟
1、App首頁(yè)點(diǎn)擊+ 號(hào)進(jìn)入 Remote Provision頁(yè)面。然后開(kāi)始自動(dòng)組網(wǎng)。
開(kāi)始自動(dòng)組網(wǎng)前,App會(huì)判斷,當(dāng)前App是否是和支持RPR功能的已組網(wǎng)節(jié)點(diǎn)處于GATT connected狀態(tài),如果不是,則進(jìn)行普通的 PB-GATT 組網(wǎng),如果是,則通過(guò)這個(gè)已組網(wǎng)節(jié)點(diǎn)對(duì)其它未組網(wǎng)節(jié)點(diǎn)進(jìn)行RPR組網(wǎng)。如下圖,其中第一個(gè)節(jié)點(diǎn)(左上)是通過(guò)普通的 PB-GATT進(jìn)行組網(wǎng),后面兩個(gè)(右上和左下)是通過(guò)remote provision組網(wǎng)。
2、當(dāng)超時(shí)還未掃描到更多的未組網(wǎng)節(jié)點(diǎn),則表示所有節(jié)點(diǎn)已組網(wǎng)完成,然后返回主頁(yè)顯示如下:
3
使用網(wǎng)關(guān)(gateway)測(cè)試RPR功能
01
測(cè)試條件
通過(guò)網(wǎng)關(guān)測(cè)試RPR功能與App測(cè)試使用同樣的SDK開(kāi)發(fā)包(網(wǎng)關(guān)的代碼配置如下說(shuō)明)。同樣使用TLSR8258 Dongle作為測(cè)試硬件,其中一個(gè)dongle作為網(wǎng)關(guān)設(shè)備,其余的多個(gè)dongle(>=2)作為mesh節(jié)點(diǎn)設(shè)備。
此外,在本測(cè)試中還需要使用PC上位機(jī)工具。該工具已經(jīng)包含于SDK開(kāi)發(fā)包中,路徑為 oolssig_mesh_tool.exe。
02
SDK代碼配置
在默認(rèn)配置下,RPR功能是關(guān)閉的。如需開(kāi)啟該功能,則需要在mesh_config.h文件中打開(kāi)網(wǎng)關(guān)和節(jié)點(diǎn)端的宏開(kāi)關(guān)MD_REMOTE_PROV(如下圖)。
針對(duì)網(wǎng)關(guān)和節(jié)點(diǎn)設(shè)備分別編譯代碼,得到的8258_mesh_gw.bin和8258_mesh.bin文件,分別燒錄到網(wǎng)關(guān)dongle和節(jié)點(diǎn)dongle中。隨后,將網(wǎng)關(guān)dongle插入電腦USB端口,并將其余節(jié)點(diǎn)dongle也上電。
03
測(cè)試步驟
1、第一階段:以普通PB-ADV方式組網(wǎng)一個(gè)或多個(gè)節(jié)點(diǎn)
當(dāng)網(wǎng)絡(luò)為空,沒(méi)有已組網(wǎng)設(shè)備時(shí),需要通過(guò)普通的 PB-ADV 的方式先把網(wǎng)關(guān)一跳范圍內(nèi)的一個(gè)或者多個(gè)節(jié)點(diǎn)先組網(wǎng)成功。
將網(wǎng)關(guān)dongle與PC通過(guò)USB端口連接。在PC上打開(kāi)sig_mesh_tool工具,選擇網(wǎng)關(guān)對(duì)應(yīng)的ini文件如下圖所示,用PB-ADV方式對(duì)其中一個(gè)/多個(gè)mesh節(jié)點(diǎn)進(jìn)行組網(wǎng)。
組網(wǎng)成功后,點(diǎn)擊右下角“Mesh”按鈕打開(kāi)mesh控制界面,并自動(dòng)發(fā)送LIGHTNESS_GET all命令獲取當(dāng)前所有節(jié)點(diǎn),并顯示在首頁(yè)UI界面。
2、第二階段:RPR添加mesh節(jié)點(diǎn)
2.1 點(diǎn)擊圖中上位機(jī)主頁(yè)的rp_scan按鈕,設(shè)置好limit(報(bào)告的最大掃描設(shè)備數(shù)量)和timeout(掃描超時(shí)限制)(秒)參數(shù)。然后點(diǎn)擊確認(rèn),工具會(huì)對(duì)前一步獲取的已組網(wǎng)節(jié)點(diǎn)列表下發(fā)scan start命令
節(jié)點(diǎn)收到scan start后會(huì)回復(fù)scan status。
2.2指定的scan節(jié)點(diǎn)在scan期間通過(guò)REMOTE_PROV_SCAN_REPORT消息上報(bào)掃描到的未配網(wǎng)節(jié)點(diǎn)。如下圖所示:
2.3 在掃描的設(shè)備列表雙擊需要進(jìn)行RPR的設(shè)備(如下圖),此時(shí)開(kāi)始發(fā)送Remote Provisioning Link Open指令等。
2.4 點(diǎn)擊上位機(jī)主頁(yè)P(yáng)rov按鍵進(jìn)入provision界面。
2.5 點(diǎn)擊Provision按鍵觸發(fā)添加設(shè)備。
2.6 Provision完成后會(huì)上報(bào)設(shè)備provision狀態(tài)。
2.7 綁定app_key
Provision完成后,還需要為model綁定app_key。點(diǎn)擊bind_all為model綁定app_key。該流程和非RPR模式是一樣的。
此時(shí),就完成了通過(guò)RPR對(duì)該節(jié)點(diǎn)組網(wǎng)。
2.8 重復(fù)步驟(2.1)~(2.7) 逐個(gè)對(duì)其他節(jié)點(diǎn)執(zhí)行RPR組網(wǎng),直至把所有節(jié)點(diǎn)組網(wǎng)完成。
4
總結(jié)
遠(yuǎn)程配網(wǎng)(Remote Provisioning)(RPR)是藍(lán)牙Mesh 規(guī)范1.1中增加的主要新功能之一,便于Provisioner借助中繼節(jié)點(diǎn)將一跳連接范圍以外的遠(yuǎn)端mesh設(shè)備加入網(wǎng)絡(luò),使得mesh網(wǎng)絡(luò)的建立過(guò)程更加便利。本文以TLSR825x芯片為例,介紹了使用通過(guò)泰凌提供的手機(jī)App和PC上位機(jī)工具兩種途徑對(duì)RPR功能進(jìn)行測(cè)試驗(yàn)證的基本方法。
目前泰凌微電子的TLSR825x和TLSR921x系列芯片已經(jīng)全面支持包括RPR在內(nèi)的藍(lán)牙Mesh規(guī)范1.1的所有新功能。
審核編輯:劉清
-
上位機(jī)
+關(guān)注
關(guān)注
27文章
944瀏覽量
54913 -
RPR
+關(guān)注
關(guān)注
0文章
5瀏覽量
16441 -
藍(lán)牙m(xù)esh
+關(guān)注
關(guān)注
10文章
62瀏覽量
15600 -
泰凌微
+關(guān)注
關(guān)注
7文章
152瀏覽量
10816
原文標(biāo)題:【技術(shù)專欄】泰凌微電子藍(lán)牙Mesh遠(yuǎn)程配網(wǎng)功能和測(cè)試說(shuō)明
文章出處:【微信號(hào):telink-semi,微信公眾號(hào):泰凌微電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論