[ NXP & Matter 系列 ] (一) 建立 K32W 範例 lighting-app

關鍵字 :NXPK32Wi.MX 8MMatterIoT

一、簡介

本文介紹 NXP 原廠利用 K32W 開發板建立 matter 標準的範例,以下將會圍繞著 lighting-app 範例說明如何建立這個範例並燒錄到 K32W 開發板中執行,最後會透過 chip-tool 這套 matter SDK  當中隨附的控制端工具, 可控制或讀取已連線 matter 裝置的行為或是資料。

二、事前準備

K32W 開發板 x1

i.MX 8M Nano 開發板 x1



三、操作步驟

1. 建立 i.MX 8M Nano ( 以下簡稱 i.mx 8mn ) 開發板操作環境, 請參照以下連結 :
https://github.com/nxp-imx/meta-matter/tree/imx_matter_2023_q1

2. 建立 matter 開發環境請見以下連結 :
https://www.nxp.com/docs/en/user-guide/K32W0X1-MATTER-QSG.pdf

3. lighting-app 建置步驟如下 :
https://github.com/NXP/matter/tree/light-switch-base-on-v1.0.0.2-tag-nxp/examples/lighting-app/nxp/k32w/k32w0

參照 BUILD 章節將 lighting-app 產生 Binary 檔案
( 注意 gn 指令若要顯示正常uart message 顯示可將 chip_pw_tokenizer_logging=true 改為 chip_pw_tokenizer_logging=false )



4. lighting-app 燒錄到 K32W 開發板 :

下載並安裝FTDI Driver :   CDM21228_Setup.exe  
http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip
下載並安裝 Production Flash Programmer v4564
安裝檔 : Production Flash Programmer v4564.exe
路徑 : .\SDK_2_6_10_K32W061DK6\tools\JN-SW-4407-DK6-Flash-Programmer\JN-SW-4407 DK6
( 位於K32W SDK 壓縮檔內, 可見Building > K32W061DK6 SDK 2.6.9 DK6 EVK Jumper 設置 ( 下圖紅圈處 JP7 JP4 jumper 皆放在中間位置 )

開啟 win 10 命令提示單元 , 依序下指令   (記得先將 bin 檔案放置 c:\nxp\DK6Programmer 資料夾下):
cd c:\nxp\DK6Programmer
DK6Programmer.exe –list

(  範例為 COM9 , 需要下 DK6Programmer.exe -l 確認目前 comport 編號 )

< Erase >
DK6Programmer.exe -V0 -P 1000000 -s COM9 -e Flash -Y

< Write PSECT & ssbl bin >

DK6Programmer.exe -V0 -s COM9 -P 1000000 -w image_dir_0=0000000010000000 -Y
DK6Programmer.exe -V0 -s COM9 -P 1000000 -w image_dir_1=00400000CD040101 -Y
DK6Programmer.exe -V0 -s COM9 -P 1000000 -p FLASH@0x00=k32w061dk6_ssbl_MR3_QP1_enable_PDM_EXT_FLASH.bin -Y

< Write Application >
DK6Programmer.exe -V0 -s COM9 -P 1000000 -p FLASH@0x4000=chip-k32w0x-light-example.bin -Y

四、功能測試

開發板連接方式

i.MX 8MN 需要連接以下三條
POWER >   變壓器 5V 接到市電
RCP >  接到 K32W board ( OM15080-K32W ) 下圖右邊 dongle board
Debug > 接到電腦或是筆電, 輸出 console , 也能輸入指令


K32W061 EVK

使用 mini USB cable 上電如下圖下方紅框處, 左側處有 TX RX 的 J4 與 J7  jumper ,請將 J4 與 J7 jumper 插至 middle ( 中間位置, 由左到右總共 4 pins , 將中間 2 pins 短路 )
下圖右邊紅框處 Button 為 User Interface Button, 可按下操作 example ( 啟動 BLE advertising )


軟體操作步驟 :

1. 新建一個 WIFI AP , 可使用手機熱點分享 , SSID 跟連線密碼盡可能簡單, 建置好擺放一旁.
2. i.mx 8MN 將 SW101 撥到 ON 位置開機 , 下面紅框處



3. K32W 開發板利用 mini USB cable 上電。

4. 以下為依序輸入指令
login : root
cd matter
若有修改 WiFi AP 需求, 可輸入下列指令
vi otbr-setup-imx8mm.sh
若無可跳過接下來這三個指令

利用 VI 另存一個新 script 並且將 SSID 與 密碼填入, 不修改原本檔案
:w otbr-setup-imx8mm_tim.sh

修改 SSID 與連線密碼, 連入 手機熱點的 SSID 與密碼
:w otbr-setup-imx8mm.sh

退出 VI
:wq

 
連線到手機熱點 有看到 IP ADDRESS 出現就可以輸入 ping 做測試  
./otbr-setup-imx8mm.sh 

測試 WIFI 有沒有連上 , 對中華的 DNS 8888 PING的到的話 就代表有能連到外網
ping -i mlan0 8.8.8.8 

Factory the history in i.mx 8mn
ot-ctl factoryreset

Execute otbr-form-nwk.sh
./otbr-form-nwk.sh


輸入以下指令之前先記得讓 K32W 保持 BLE 廣播狀態 ( 按下 User Interface Button) , 每次頭尾都會相同, 中間會變動 要依據當下畫面中訊息作複製改變指令
chip-tool pairing ble-thread 2 hex:0e080000000000010000000300000b35060004001fffe002085b35dead5b35beef0708fdd362f6ea702a06051000112233445566778899aabbccddeeff03043562333501025b35041060a56fcc3e7a47332fece3b7b2097b9b0c0402a0f7f8 20202021 3840



連接成功後可輸入以下控制或讀取當前數值

Light toggle控制
chip-tool onoff toggle 2 1                Toggle the light ( K32W 開發板 D2 LED 燈會閃滅閃滅 )

Light 讀取當前數值
chip-tool onoff read on-off 2 1

先輸入 chip-tool onoff on 2 1  在使用本行讀取會Data = True ,
若先輸入chip-tool onoff off 2 1 則使用本行讀取會 Data = False



五、參考來源

NXP matter github 公開資料
https://github.com/NXP/matter/tree/light-switch-base-on-v1.0.0.2-tag-nxp/examples/lighting-app/nxp/k32w/k32w0
https://github.com/nxp-imx/meta-matter/tree/imx_matter_2023_q1

NXP & matter 開發環境建置原廠技術文件
https://www.nxp.com/docs/en/user-guide/K32W0X1-MATTER-QSG.pdf

★博文內容參考自 網站,與平台無關,如有違法或侵權,請與網站管理員聯繫。

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

參考來源

NXP: https://www.nxp.com/

評論