Matter——NXP K32W061 Matter Demo 搭建

本文主要介绍使用 NXP K32W061 搭建 Matter Demo 的过程,其中使用到 NXP K32W061 作为一个 Matter 灯设备,使用 HomePod mini 作为 Matter 网关,通过 iPhone 家庭 APP 控制灯的亮灭,会使用到 Linux 环境,示例中是使用虚拟机运行 ubuntu 22.04。

1. 配置 Matter 编译环境

首先在自己的 Linux 系统上安装 Matter 环境依赖;

$ sudo apt-get install git gcc g++ python pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev

从 GitHub 克隆 Matter SDK 资源

$ git clone https://github.com/NXPmicro/matter/
$ cd matter
$ git checkout v1.0-branch-nxp
$ git pull
$ git submodule update --init --recursive

激活 Matter 环境

  $ source ./scripts/activate.sh

2. 下载 K32W061 SDK

可以到 NXP 官网(Select Board | MCUXpresso SDK Builder (nxp.com))下载 K32W061 的 SDK,注意选择下载 Linux 环境下的即可;

下载完成后解压到 Linux 系统的文件夹中,后面环境变量配置需要用到解压的目录路径,例如此处演示中是将其解压到了 /home/matter/Documents 目录下。

 

3. 编译 Matter 工程

首先配置环境变量;

$ export NXP_K32W0_SDK_ROOT=/home/matter/Documents/SDK_2_6_8_K32W061DK6/

前面克隆的步骤完成后,会在当前执行目录下生成一个 Matter 文件夹,确保操作在此路径中执行,激活 matter 环境:

$ source ./scripts/activate.sh

进入 Matter 灯设备工程目录;

$ cd examples/lighting-app/nxp/k32w/k32w0

编译工程;

$ gn gen out/debug --args="k32w0_sdk_root=\"${NXP_K32W0_SDK_ROOT}\" chip_with_OM15082=1  chip_with_ot_cli=0 is_debug=false chip_crypto=\"tinycrypt\" chip_with_se05x=0 chip_pw_tokenizer_logging=false chip_detail_logging=false  mbedtls_repo=\"//third_party/connectedhomeip/third_party/nxp/libs/mbedtls\""

$ ninja -C out/debug

$ $NXP_K32W0_SDK_ROOT/tools/imagetool/sign_images.sh out/debug/

编译完成后可以看到在 matter/examples/lighting-app/nxp/k32w/k32w0/out/debug/ 目录下有编译生成的 chip-k32w0x-light-example.bin

4. 编译 ssbl

此时还需要编译 K32W061 的 ssbl 工程,使用 MCUXpresso IDE ,可以在 Windows 下安装或者在 Linux 中安装,此处演示是在 Linux 中的 MCUXpresso IDE 进行的,将前面下载的 SDK 压缩包拖入到 lnstall SDK 窗口;



点击 import SDK example 导入创建工程,选择创建 ssbl 工程;



在工程配置中添编译宏配置 PDM_EXT_FLASH=1;编译后生成 k32w061dk6_ssbl.bin;

 

5. 烧录工程

Windows 下安装 Flash Programmer,配置系统环境变量,这里通过批处理脚本文件来对板子进行烧录,批处理脚本文件内容如下;

@echo off
echo flash_program.bat
set /p ComPort=Place device into ISP then enter COM port number:

DK6Programmer.exe -V0 -P 1000000 -s COM%ComPort% -e Flash -Y

DK6Programmer.exe -V0 -s COM%ComPort% -P 1000000 -w image_dir_0=0000000010000000 -Y

DK6Programmer.exe -V0 -s COM%ComPort% -P 1000000 -w image_dir_1=00400000CD040101 -Y

DK6Programmer.exe -V0 -s COM%ComPort% -P 1000000 -p FLASH@0x00=k32w061dk6_ssbl.bin -Y

DK6Programmer.exe -V0 -s COM%ComPort% -P 1000000 -p FLASH@0x4000=chip-k32w0x-light-example.bin -Y

pause
根据之前的编译步骤,现在已经得到两个 bin 文件(k32w061dk6_ssbl.bin & chip-k32w0x-light-example.bin),将 bin 文件与批处理文件放在统一目录下,连接开发板,运行批处理脚本件,输入 COM 口号烧录代码;

 

6. 连接 HomePod mini

首先在 iPhone 家庭 APP 中提前添加好 HomePod mini,给 K32W061 上电,使用串口工具查看 log,波特率 115200,这里可以看到生成的二维码连接;



点击开发板上的 USER INTERFACE KEY,开启广播;



在网页中打开连接,显示二维码,使用手机家庭 APP 扫描二维码,添加设备;



添加完成后可以在家庭 APP 中看到 Matter 灯设备,此时可以通过手机控制 K32W061 板子上的 D3 亮灭;同时 K32W061 板子上的按键 SW3 也可以控制 D3 亮灭,在控制的同时,家庭 APP 中可以看到 Matter 灯设备的状态变化。



参考文档

Getting started with K32W0x1 in Matter           --- NXP

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论