上一篇:藍牙 Mesh 配網模組用戶手冊(基於 AT 命令) | 《無需從0開發 平頭哥教你1天上手藍牙Mesh應用解決方案》第七章>>>
點擊免費下載
《無需從0開發 平頭哥教你1天上手藍牙Mesh應用解決方案》>>>
1. 簡介
藍牙MESH網絡中,Provisioner是不可缺失的角色,它可以將一個未配網的設備加入到Mesh網絡中,為該節點分配網絡密鑰、IV索引以及節點地址。同時Provisioner支持配置節點的各項參數,包括應用密鑰,訂閱和發佈地址,開關Relay/Friend/Proxy 特性等。
本文將介紹如何使用 Mesh Node 組件和 Mesh Model 組件實現 Provisioner 的功能,並且配置一個 Mesh 燈控節點,實現控制。
2. 應用開發
Provisioner 示例將實現如下幾個功能:
● 發現未入網的燈控節點
● 自動對未入網的燈控節點入網
● 配置燈控節點的 APP KEY 和訂閱地址
● 發送開發消息,控制亮燈 / 滅燈
注意點:
Provisioner 示例只是實現了一個簡單的入網和配置過程,對於大規模的 Mesh 應用網絡,開發者需要設計一個功能更加完善的Mesh節點管理方案,來處理併發和異常的情況。由於節點入網和配置均是異步過程,開發者可以使用狀態機來維護這個過程,在本示例中,認為所有過程均是串行的,沒有使用複雜的狀態管理。
SDK 另外提供一個 AT Mesh Provisioner 解決方案,功能更加完善,開發者可以按照模組的方式來使用 Provisioner 功能。
2.1 組件初始化
初始化Mesh Model和Mesh Node組件,處理相應的事件。
2.2 燈控節點入網
在 Provisioner 事件回調函數中,處理上報的未入網設備,進行入網。
2.3 燈控節點配置
2.4 亮燈 / 滅燈控制
在應用任務中,每 5s 向組地址 0xC000 發送一次開關控制消息,並處理燈控節點返回對的燈狀態信息。
3. 示例運行
3.1 編譯
● 進入 SDK 根目錄,編譯 mesh provisioner 示例
3.2 運行
● 下載 applications/bluetooth/meshprovsioner/generated/totalimage.hexf至開發
板1
● 下載 applications/bluetooth/meshlightnode/generated/total_image.hexf 至
開發板 2
● 鏡像下載可參考《CB6121 快速上手手冊》
● 連接串口調試工具 , 配置為
● 波特率 : 115200, 數據位 : 8, 校驗位 : None, 停止位 : 1, 流控 : None
● 按 RESET 按鍵,復位開發板
● 成功啟動後,開發板 1 串口將輸出
● 開發板 2 燈控節點串口輸出