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