Matter - NXP K32W061 使用 CHIP-TOOL 控制設備

在之前搭建 NXP K32W061 Matter over Thread 設備 Demo 時,組建 Matter 網絡和控制設備都是通過了 HomePodmini 去實現,Demo 演示中 HomePodmini 充當的一個很重要的角色就是 OTBR,當我們身邊沒有 HomePodmini 又想做相關的控制測試時還可以有什麼方法呢?

在筆者的前兩篇博文中說明了如何通過 K32W061 作為 RCP 從而在虛擬機中實現 OTBR 功能,有了 OTBR,非 Thread 網絡,如 WiFi 就可以通過 OTBR 與 Thread 設備通訊,此時相比於之前使用 HomePodmini 搭建 Matter 網絡,還差了一個手機 APP,這裡 Matter官方有提供一個叫 CHIP-TOOL 的工具,CHIP-TOOL 是 Matter 一個網絡管理工具,它可以配置、管理 Matter 網絡,同時還可以對 Matter 網絡內的設備進行控制。

一、硬體準備

所以今天這一片文章主要講解如何在虛擬機中使用 CHIP-TOOL 來控制K32W061 Matter over Thread 設備;

主要準備的硬體如下:
        1. 電腦一台,這裡主要用於搭建 Linux 虛擬機,虛擬機使用 Ubuntu 系統;
        2. 兩塊 K32W061DK6 開發板;
        3. 一個 BLE Dongle,在虛擬機中需要藍牙。

簡單示意圖如下:
   


二、燒錄固件

這裡將 Matter Device 固件和 RCP 固件分別燒錄到對應的 K32W061DK6 板子中,這裡筆者使用的 Matter Device Example 是 Lighting Demo App,通過 DK6-Flash-Programmer 燒錄(編譯和燒錄固件可以參考前面搭建 Matter Device 的文章,如:《NXP K32W061 Matter Demo 搭建》等)。

   

三、搭建 Thread 網絡

參考筆者《Matter - NXP K32W061 虛擬機中搭建 OTBR(OpenThread Border Router)》一文,在虛擬機中搭建好 OTBR,將燒錄了 RCP 固件的 K32W061DK6 板子連接到虛擬機埠,查看 RCP 狀態,連接成功則會返回狀態,如果返回 “connect session failed: No such file or directory”,則說明與 RCP 沒有通信成功,需檢查燒錄的固件、或 otbr-agent 的配置等。

   

    與 RCP 通信成功後,參考如下指令,通過 ot-ctl 創建一個 Thread 網絡:

$sudo ot-ctl dataset init new

$sudo ot-ctl dataset channel 11

$sudo ot-ctl dataset networkkey 00112233445566778899aabbccddeeff

$sudo ot-ctl dataset extpanid 1111111122222222

$sudo ot-ctl dataset panid 0x1234

$sudo ot-ctl dataset commit active

$sudo ot-ctl ifconfig up

$sudo ot-ctl thread start


   

    通過指令輸出當前網絡配置,這裡後續給設備配網時需要用到。

$sudo ot-ctl dataset active -x

    

四、配置入網

    Thread 網絡配置好後,將通過 CHIP-TOOL 配置 Matter 設備入網,首先在虛擬機中編譯好 CHIP-TOOL,進入到 Matter 工程倉庫根目錄下,使用如下指令進行編譯。

$./scripts/examples/gn_build_example.sh examples/chip-tool out/chip-tool-app

    編譯成功後,生成的 CHIP-TOOL 在根目錄 matter/Desktop/matter/out/chip-tool-app 路徑下。



   


    將燒錄的 Matter Device Example 的 K32W061DK6 上電,並且按下板子上的 “USERINTERFACE” 按鍵使板子進入配對狀態。

   

    通過 CHIP-TOOL 使用如下指令將設備配對入網,使用改指令時,請確保 BLE dongle插入虛擬機且虛擬機的藍牙可用。

$./out/chip-tool-app/chip-tool pairing ble-thread 2 hex:<operationalDataset> 20202021 3840

<operationalDataset> 使用上面獲取到的 Thread 網絡配置進行替代,例如當前則是:

$./out/chip-tool-app/chip-tool pairing ble-thread 1 hex: 0e08000000000001000035060004001fffe00708fda444ae46cbd221030f4f70656e5468726561642d65323262041091418d30c3e2b9debafe3a4e6af7c9690c0402a0f7f8000300000b051000112233445566778899aabbccddeeff0208111111112222222201021234 20202021 3840

    設備入網成功如下顯示:

   

    此時可以通過 CHIP-TOOL 來控制設備,例如:

開燈:

$sudo ./out/chip-tool-app/chip-tool onoff on 1001 1

關燈:

$sudo ./out/chip-tool-app/chip-tool onoff off 1001 1

翻轉:

$sudo ./out/chip-tool-app/chip-tool onoff toggle 1001 1

 

更多的 CHIP-TOOL 命令可以參考 connectedhomeip/docs/guides/chip_tool_guide.md at master · project-chip/connectedhomeip (github.com),以上就是今天的全部內容,如果文章有錯誤或疑問,歡迎指出,相互學習。


參考資料:

Matter v1.0 Setup on i.MX8MM Getting Started
Getting started with K32W0x1 in Matter

connectedhomeip/docs/guides/chip_tool_guide.md at master · project-chip/connectedhomeip (github.com)

matter/examples/lighting-app/nxp/k32w/k32w0 at v1.2.0.1-tag-nxp · NXP/matter (github.com)

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論