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