FRDM MCXW71 Matter 灯和开关应用 Thread 终端设备解决方案
Matter FRDM-MCXW71 灯开关组合示例演示了双端点应用。端点 1代表一个照明设备(灯泡),端点 2用作灯开关设备。灯泡使用板载 RGB LED 模拟,按钮用于测试打开/关闭本地灯泡或控制绑定的灯。此示例可作为开发您自己的基于 Matter 的应用程序的参考。此示例基于Matter和NXP MCXW71 SDK
构建,支持通过低功耗 802.15.4 Thread 网络远程访问和控制灯泡。它作为Matter 配件运行,这意味着它可以与现有的Matter 网络配对并通过该网络进行控制。
主板:FRDM-MCXW71
类别:无线连接、RTOS
外围设备:蓝牙、WiFi、802.15.4
工具链:GCC
目录
1.软件
为了构建 Project CHIP 示例,我们建议使用Linux 发行版。
构建系统已在以下操作系统上进行了测试:
- macOS 10.15
- Debian 11(需要 64 位)
- Ubuntu 22.04 LTS
- Windows 10(实验性)
构建系统功能
Matter 构建系统具有以下特点:
- 速度非常快,占用空间小
- 跨平台处理:Linux、Darwin、Embedded Arm 等
- 多个工具链和跨工具链依赖关系
- 集成自动化测试框架:
ninja check - 内省:
gn desc - 自动格式化:
gn format
2.硬件
需要以下板:
设备用户界面
示例应用程序提供了一个简单的UI,用于描述设备状态并提供基本的用户控制。该UI通过FRDM-MCXW71板内置的通用LED和按钮实现。
LED_BLUE显示设备的整体状态及其连接情况。它描述了四种状态:
- 短暂闪烁(亮 50 毫秒/灭 950 毫秒) — 设备处于未配置(未配对)状态,正在等待调试应用程序连接。
- 快速均匀闪烁(100 毫秒亮/100 毫秒灭) — 设备处于未配置状态,并且已通过 BLE 连接调试应用程序。
- 短暂闪烁关闭(950 毫秒亮/50 毫秒灭) — 设备已完全配置,但尚未具有完整的网络(线程)或服务连接。
- 常亮— 设备已完全配置并具有完整的网络和服务连接。
注意:当 CHIPDEVICECONFIGENABLEOTAREQUESTOR 启用(默认为disable)时,LEDBLUE 将被禁用。在 FRDM-MCXW71 开发板上,PTC1 连接到 LEDBLUE,同时也连接到外部闪存的 CS(片选)。由于 OTA 映像的大小,它存储在外部闪存中。如果 LEDBLUE 启用,它将影响外部闪存的 CS,导致 OTA 无法工作。
RGB LED显示模拟灯泡的状态。LED 亮时,灯泡亮;LED 不亮时,灯泡灭。
按钮 SW2可用于启动 BLE 广告。
- 短按按钮
即可在预定的时间段内启用蓝牙 LE 广告。 - 长按 SW2 按钮可恢复出厂设置。初始 3 秒后,蓝色 LED 和 RGB LED 将同时闪烁,表示待执行重置操作。6 秒后,设备将重置其持久配置并重新启动。在 6 秒限制之前的任何时间点,按下 SW2 按钮即可取消重置操作。
SW4 按钮可用于切换已绑定的灯光设备或更改模拟灯泡的状态。短按可切换与远程灯光对应的灯光。
3. 设置
- 确保以下先决条件已正确安装。
sudo apt-get install git gcc g++ 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 libreadline-dev
- 步骤 1:克隆 Matter 仓库:
$ git clone -b v1.4.0.0 https://github.com/NXP/matter.git && pushd . && cd matter && scripts/checkout_submodules.py --shallow --platform nxp --recursive && source ./scripts/activate.sh && ./third_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common && popd
- 第 2 步:克隆并覆盖文件
$ git clone https://github.com/nxp-appcodehub/ap-frdm-mcxw71-light-switch-combo-app.git && cp -r -f ap-frdm-mcxw71-light-switch-combo-app/examples matter/.
- 步骤3:激活本地环境
$ cd matter
$ source ./scripts/activate.sh
```
$ cd examples/light-switch-combo-app/nxp/mcxw71
Create the project
$ gn gen out/debug --args="nxpenableotcli=false isdebug=false chipopenthreadftd=true chip_crypto="platform""
$ ninja -C out/debug
```
如果需要 Openthread CLI,chip_with_ot_cli则必须将构建参数设置为 1。
成功构建后,可以在-中找到elf和文件。srec``out/debug/``see the files prefixed with chip-mcxw71-light-switch-combo-example
制造数据
chip_with_factory_data=1在 gn build 命令中使用以启用工厂数据。
有关制造流程的完整指南,请参阅 《NXP 设备上写入制造数据的指南》。
4. 烧写和调试
请先安装MCU-Link工具,以便FRDM-MCXW71开发平台能够进行调试和编程功能。
此过程需要在电路板上刷入两个图像:一个用于NBU(CM3),一个用于主机(CM33)。
主机端所需的映像是在中生成的映像,out/debug/而NBU端所需的映像可以在下载的NXP-SDK包中找到,路径为-
middlewarewirelessieee-802.15.4bink32w1k32w1_mcxw71_nbu_ble_15_4_dyn_matter.sb3
- !!! 只有当您拿到新主板时,我们才需要安装一次驱动程序。
- !!! 并且只有当新的 SDK 发布时,我们才需要再次刷新 NBU 映像。
4.1 安装驱动程序
- 前往NXP 网站上的MCU-Link页面
- 点击“设计资源”。然后点击“软件”类别。所有三个受支持的操作系统的最新安装包将显示在顶部。
- 下载适用于您主机操作系统的软件包并安装(Linux/MacOS)或执行安装程序(Windows)。软件包将安装/解压到 MCU-LINKinstallerVx_xxx 目录。
- 添加跳线至
JP5 - 将 MCXW71 插入 USB 端口
- 要安装 J-Link 固件,请打开命令提示符并调用程序脚本:
<Install Dir>scriptsprogram_JLINK - 从 JP5 移除跳线并重启设备
4.2 刷写 NBU 镜像
提示:您需要使用与您正在使用的应用程序的 SDK 版本相匹配的 NBU 镜像。这意味着,当您下载 SDK 时,在加载任何无线 SDK 示例之前,请使用 SDK 中以下文件夹中提供的二进制文件更新您的 NBU 镜像
- 前往MCUXpresso SDK 网站。点击“选择开发板”搜索评估板。
- 在“搜索硬件”搜索框中,输入选定的主板FRDM-MCXW71。
- 确保选择最新的 SDK 版本(2.16.100+)。点击开发板进行选择。
- 在右侧,您将看到为 FRDM-MCXW71 构建 SDK 的选项。单击此按钮可添加所需的中间件。
- 要构建 SDK,请选择所有可用的中间件。然后向下滚动并点击“下载 SDK”。
- 下载完成后,拖放到MCUXpresso IDE 中的已安装 SDK窗口。
- 在SDK包中找到sb3镜像文件:
middlewarewirelessieee-802.15.4binmcxw71mcxw71_nbu_ble_15_4_dyn_matter_1_0_17_2.sb3 - 将sb3文件复制到MCU-Link安装目录的bin文件夹中-
<MCU-Link Install Dir>bin - 按住开发板上的 SW3(ISP)按钮,同时将开发板连接到主机 USB 端口
- 使用blhost 工具刷写 NBU 镜像,打开命令提示符并调用程序脚本:
Windows users: Check the COM port number in Device Manager before running the command.
cd <MCU-Link Install Dir>bin
blhost.exe -p COM27,115200 receive-sb-file <sb3 file>
4.3 烧写主机镜像
主机镜像是在 下找到的镜像out/debug/。它应该在每次构建过程后写入。
- 下载 JLink工具
- 将 MCXW71 插入 USB 端口
- 创建一个新文件,
commands_script包含以下内容(相应地更改应用程序名称):
shell
reset
halt
loadfile chip-mcxw71-light-switch-combo-example.srec
reset
go
quit
- 复制应用程序并将其
commands_script复制到 JLink 可执行文件所在的文件夹中。执行:
shell
$ jlink -device MCXW71 -if SWD -speed 4000 -autoconnect 1 -CommanderScript commands_script
4.5 调试
调试的一个选项是使用 MCUXpresso IDE。
- 将包含 NXP SDK 的 zip 文件拖放到“已安装的 SDK”选项卡中:
- 从已安装的 SDK 导入任何演示应用程序:
Import SDK example(s).. -> choose a demo app (demo_apps -> hello_world) -> Finish
- 将之前导入的演示应用程序刷入到开发板上:
Right click on the application (from Project Explorer) -> Debug as -> JLink/CMSIS-DAP
完成此步骤后,即可创建针对 MCXW71 开发板的调试配置。此调试配置稍后将用于调试 ot-nxp 编译后生成的应用程序。
- 在 MCUXpresso IDE 中将 Matter repo 导入为 Makefile 项目。索引器设置的工具链设置为 none:
File -> Import -> C/C++ -> Existing Code as Makefile Project
- 将现有演示应用程序的路径替换为 MCXW71 应用程序的路径:
Run -> Debug Configurations... -> C/C++ Application
5. 使用 NXP chip-tool APP 进行演示
本章提供了如何使用FRDM-RW612与NXP的Chip-Tool应用程序进行配对和基本控制操作的演示教程。
更多详细信息,请参阅以下链接:
UG10178 Matter Demo NXP CHIP Tool app、FRDM-RW612 和 FRDMMCU W71 快速入门
5.1 安装APK
- 使用 Android 手机,前往Google Play 商店
- 搜索“NXP Matter Chip-tool”
5.2 Wi-Fi 先决条件
如下所示配置 AP。
首先将您的 Android 手机连接到接入点。Android 手机和 RW612-FRDM 必须连接到接入点,并且能够通过其 IPv6 地址相互访问。
5.3 OTBR 先决条件
如果我们想将 Thread 设备添加到 Matter 芯片工具中进行控制,则需要额外的 OTBR 来支持网络连接。在本指南中,我们使用 FRDM-RW612 灯开关组合示例应用程序作为 OTBR。有关将 FRDM-RW612 添加到芯片工具应用程序的详细说明,请参阅以下链接:FRDM RW612 Matter 灯和开关应用程序以及 Thread 边界路由器解决方案。
FRDM-RW612 固件启动时,OTBR 将自动启动。
获取 OTBR 表列表,如下例所示:
```
otcli dataset active
Active Timestamp: 1
Channel: 17
Channel Mask: 0x07fff800
Ext PAN ID: 1111111122222222
Mesh Local Prefix: fdca:a943:242e:b986::/64
Network Key: 00112233445566778899aabbccddeeff
Network Name: OpenThread-b04c
PAN ID: 0x1234
PSKc: 8d4874b9ac7e0ad605179fc71af9a1c8
Security Policy: 672 onrc 0
Done
```
请记住Network Name和PSKc,因为这些参数将用于调试 FRDM-MCXW71。
5.4 调试FRDM-MCXW71
确保您的手机连接到正确的AP并打开蓝牙。
步骤1. 打开 Chip-tool 应用程序并点击配对新设备(Thread 设备)。
步骤2. 输入鉴别符和PIN码(默认值分别为:3840和20202021)。
步骤3. 在Android工具上选择OTBR(Open Thread Border Router)网络信息:选择您的Network Name和正确的密钥类型PSKc,输入psck key value。
步骤4.等待新的提示画面出现,然后按下W71板上的SW2按钮,启动蓝牙LE广告。之后,按下NEXT按钮。
Note : That OTBR discovery can take a few minutes with the status change. One to two minutes is normal
步骤5. 设备配对成功后,即可控制开关。
6. 支持
有关FRDM-MCXW71的更多信息可以在这里查看。
UG10178 Matter Demo NXP CHIP Tool 应用、FRDM-RW612 和 FRDMMCU W71 快速入门
项目元数据
来源:恩智浦appcodehub
1637
