之前我們構建了Matter固件和chip-tool,接下來我們需要建立Thread網絡并通過BLE配網,這樣才能通過chip-tool來控制Matter設備。
1建立Thread網絡并獲取DATASET
01建立Thread網絡
樹莓派通過網線連接到路由器,在瀏覽器中輸入樹莓派的 IP 地址,點擊 Form 按鈕,默認設置不用更改, 點擊 FORM 建立 Thread 網絡。
02檢查Thread 網絡狀態
Thread 網絡建立后可以在 Status 下查看狀態,檢查RCP狀態為leader。
03獲取DATASET
請以 SSH 方式登錄樹莓派(預置鏡像中的用戶名 username:pi,密碼 password:raspberry),執行以下命令:
$ sudo ot-ctl dataset active -x
DATASET是類似于以下形式的一串十六進制的字符串,將其保存好。
*注意:每次形成新的 Thread 網絡,上面的 DATASET 將會被重新生成。即使每次生成 Thread 網絡所設置的參數相同,其中間的部分...0708fd0b448cf7918bcf051000...也會不同。
2通過BLE配網
01在主機上進行配網之前,請檢查主機與樹莓派之間的網絡連接狀態。
-
如果主機與樹莓派之間是由帶防火墻的路由器做轉發,暫時關閉路由器上的防火墻,尤其是其禁止端口監聽、端口掃描等功能。
-
如果使用運營商的光貓作為路由,可能會導致 mDNS 服務無法發現的錯誤,嘗試將主機與樹莓派用僅開啟 DHCP 服務的其他路由器進行網線直連。
-
確保主機是獨立的 Ubuntu 主機;若使用 Windows 上的 VirtualBox 等虛擬機充當主機,則需要給它提供并配置額外的藍牙適配器。
02檢查 Matter 固件版本與 chip-tool 的是否相符
編譯 Matter 設備的固件和 chip-tool 需要相同的 Zephyr 環境,否則進行配網時會出錯。
*注意:若要使用自己構建的 chip-tool 和 Matter 設備的固件,必須保證它們使用了相同的 commit 的 connectedhomeip 工程目錄進行構建,以避免出現兼容性問題。建議使用網盤內提供的預置固件。
03在主機上的 shell 中配置好以下命令:
$ ./chip-tool pairing ble-thread ${NODE_ID} hex:${DATASET} ${PIN_CODE} ${DISCRIMINATOR}
*注意:運行 chip-tool 需退出鏡像,并檢查 chip-tool 的執行權限。
NODE_ID 可以是 RCP 初始化之后,未使用過的任何非零值,chip-tool 將使用它來操作特定的 Matter 設備。
DATASET 即為樹莓派上獲取的字符串。
示例:
04Matter 設備上電后,紅燈閃爍,進入 BLE 廣播狀態,在主機上的 shell 中輸入上面命令并運行,會讓 Matter 設備與 RCP 所在的邊界路由開始配對并配網。
這個過程會持續一段時間,如果一切順利,Matter 設備加入 Thread 網絡后,你將能夠從主機的 shell 中看到類似下面的信息:
3用chip-tool控制lighting-app
在配網成功之后,可以使用 chip-tool 對 Matter 設備進行控制,對于lighting-app來說,主要的幾個控制命令如下。
01開關燈
開燈:
$ ./chip-tool onoff on ${NODE_ID} 1
關燈:
$ ./chip-tool onoff off ${NODE_ID} 1
切換狀態:
$ ./chip-tool onoff toggle ${NODE_ID} 1
其中的${NODE_ID}是上一步進行配網時使用的非零值。
02查看燈的狀態
讀取開關狀態:
$ ./chip-tool onoff read on-off ${NODE_ID} 1
讀取亮度狀態:
$ ./chip-tool levelcontrol read current-level ${NODE_ID} 1
03改變燈的亮度
$ ./chip-tool levelcontrol move-to-level 32 0 0 0 ${NODE_ID} 1
-
BLE
+關注
關注
12文章
670瀏覽量
59594 -
RTThread
+關注
關注
8文章
132瀏覽量
41000 -
Matter
+關注
關注
1文章
228瀏覽量
5889
發布評論請先 登錄
相關推薦
評論