FRDM RW612 Matter 灯和开关应用程序以及 Thread Border Router 解决方案
此示例基于 Matter 和 NXP RW612 SDK 构建,支持使用 OpenThread 边界路由器 (OTBR) 通过 Wi-Fi 远程访问和控制灯泡。
Matter FRDM-RW612 灯开关组合示例演示了一个双端点应用。端点 1 代表一个照明设备(灯泡),端点 2 则充当一个照明开关设备。按钮可用于打开或关闭本地灯泡(端点 1),或通过充当开关的端点 2 控制其他绑定的照明设备。此示例可作为开发您自己的基于 Matter 的应用程序的参考。
它作为 Matter 配件运行,这意味着它可以与现有的 Matter 网络配对并通过该网络进行控制。
主板:FRDM-RW612
类别:无线连接、RTOS
外围设备:蓝牙、Wi-Fi、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.硬件
需要以下板:
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-rw612-light-switch-otbr-combo.git && cp -r -f ap-frdm-rw612-light-switch-otbr-combo/examples matter/.
- 步骤3:激活本地环境
$ cd matter
$ source ./scripts/activate.sh
```
$ cd examples/light-switch-combo-app/nxp/rt/rw61x
Create the project
$ gn gen --args='chipenablewifi=true chipenableopenthread=true nxpenablemattercli=true boardversion="frdm" nxpusefactorydata=false chipenableotarequestor=false no_mcuboot=true' out/debug
$ ninja -C out/debug
```
一般信息
应用程序二进制文件可以在 out/debug/ chip-rw61x-light-switch-combo-example中找到
构建应用程序时可以添加的可选 GN 选项:
- 要启用 matter CLI,必须将参数
nxp_enable_matter_cli=true
添加到gn gen 命令。 - 默认情况下,
NXP RD-RW612-BGA
将选择主板版本。要切换到主板版本,必须在gn gen命令中添加NXP FRDM-RW612
参数 。board_version="frdm"
- 要在调试模式下构建应用程序,必须将参数
is_debug=true optimize_debug=false
添加到gn gen命令。 - 要使用将 Matter 证书/密钥预加载到特定闪存区域的选项进行构建,
chip_with_factory_data=1
可以将参数添加到gn gen命令中。(有关更多信息,请参阅《 在 NXP 设备上写入制造数据的指南》)。 - 要构建启用 OTA 请求器的应用程序,必须将参数
chip_enable_ota_requestor=true no_mcuboot=false
添加到gn gen命令中。(有关 OTA 请求器功能的更多信息,请参阅 OTA 请求器 README 文件)
4. 刷写和调试
有两种方法可以将应用程序映像烧录到 FRDK-RW612、Jlink 和 MCUXpresso。第一种方法是使用 Jlink 工具将应用程序烧录到 FRDM-RW612。
4.1 使用 JLink 工具烧写
- 安装JLink_Windows
- 原始应用程序文件名为
chip-rw61x-light-switch-combo-example.hex
。将文件扩展名从“.hex”更改为“.srec”,文件名后缀为:chip-rw61x-light-switch-combo-example.srec - 创建一个 txt 文件 -
commands_script
并包含以下内容(相应地更改应用程序名称):
reset
halt
loadfile chip-rw61x-light-switch-combo-example.srec
reset
go
quit
- 将应用程序和命令脚本复制到 JLink 可执行文件所在的文件夹中。执行:
$ jlink -device RW612 -if SWD -speed 4000 -autoconnect 1 -CommanderScript commands_script
刷写成功后,在RW612 FRDM上启动应用程序。
4.2 使用 MCUXpresso IDE 进行闪存
为了刷新应用程序,我们建议使用 MCUXpresso IDE(版本 >= 11.6.0)。
- 将之前下载的 NXP SDK 导入 MCUXpresso IDE。(链接)
右键单击 MCUXpresso IDE“已安装的 SDK”选项卡中的空白处以显示菜单,选择“导入存档”(如果使用文件夹,则选择“导入文件夹”)菜单项。
- 将 ConnectedHomeIP 仓库导入 MCUXpresso IDE 作为 Makefile 项目。 索引器设置的工具链设置为?None?:
File -> Import -> C/C++ -> Existing Code as Makefile Project
- 配置 MCU 设置:
Right click on the Project -> Properties -> C/C++ Build -> MCU Settings -> Select RW612 -> Apply & Close
- 配置工具链编辑器:
Right click on the Project -> C/C++ Build-> Tool Chain Editor -> NXP MCU Tools -> Apply & Close
- 创建调试配置:
Right click on the Project -> Debug -> As->SEGGER JLink probes -> OK -> Select elf file
- 使用新创建的配置文件进行调试。
5. Matter CLI 模式
CHIP Tool 是一款 Matter 控制器,可用于将 Matter 设备调试到网络中。有关如何使用 CHIP Tool 控制器的更多信息,请参阅 CHIP Tool 指南。
要了解如何通过 BLE 调试设备,请按照 chip-tool 的 README.md“通过 BLE 调试设备”中的说明进行操作。
要了解如何通过 IP 调试设备,请按照 chip-tool 的 README.md“通过 IP 配对设备”中的说明进行操作
启用 Matter CLI 测试 chip-rw61x-light-switch-combo-example 应用程序:
可以使用 chip-rw61x-light-switch-combo-example 应用程序启用 Matter CLI。
有关 Matter CLI 默认命令的更多信息,您可以参考专用的ReadMe。
chip-rw61x-light-switch-combo-example 应用程序支持附加命令:
```
help
[...]
mattercommissioning Open/close the commissioning window. Usage : mattercommissioning [on|off]
matterfactoryreset Perform a factory reset on the device
matterreset Reset the device
```
matterfactoryreset
该命令将彻底清除文件系统(所有 Matter 设置都将被清除)。或者,您可以按住 SW2 3 秒钟,将设备恢复出厂设置。matterreset
使设备能够重新启动而不删除设置。
以下是使用启用 Matter CLI 的 light-switch-combo-app 的步骤
- 准备好带有闪光灯的电路板
chip-rw61x-light-switch-combo-example
(如上所示)。 - 您可以在 中访问 CLI
MCU-Link
。为此,请启动终端仿真器(例如 PuTTY),并使用以下 UART 设置连接到所使用的 COM 端口:- 波特率:115200
- 8个数据位
- 1个停止位
- 无奇偶校验
- 无流量控制
- 在客户端,开始使用 chip-tool 应用程序发送命令,如下所述 。
6. 使用 NXP chip-tool APP 进行演示
本章提供了如何使用FRDM-RW612与NXP的Chip-Tool应用程序进行配对和基本控制操作的演示教程。
更多详细信息,请参阅以下链接:
UG10178 Matter Demo NXP CHIP Tool app、FRDM-RW612 和 FRDMMCU W71 快速入门
6.1 安装APK
- 使用 Android 手机,前往Google Play 商店
- 搜索“NXP Matter Chip-tool”
6.2 Wi-Fi 先决条件
如下所示配置外部网络 AP。
首先将您的 Android 手机连接到接入点。Android 手机和 FRDM-RW612(OTBR)必须连接到接入点,并且能够通过其 IPv6 地址相互访问。
6.3 调试FRDM-RW612
请确保您的手机已连接到正确的?AP?,且蓝牙已开启。同时,请确保您的设备已?恢复出厂设置?。您可以进入 Matter CLI 模式运行#matter factoryreset
,或者长按 SW2 3 秒将设备恢复出厂设置。
步骤1. 打开 Chip-tool 应用程序并点击配对新设备(WiFi 设备)。
Step2. 选择手动输入,而不是扫描二维码。
步骤3. 输入鉴别符和PIN码(默认值分别为:3840和20202021)。
步骤4. 输入您的Wi-Fi SSID和密码。配对成功后,请为您的设备指定一个名称。
Note : If there is still an error, wait a moment and repeat the step.
步骤5. 设备配对成功后,即可控制开关。
6.4 在FRDM-RW612上设置OTBR
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
```
如果您需要创建一个新的线程网络,对于支持 OpenThread Border Router 的 Matter,可以使用 matter CLI 来启动/加入 Thread 网络,使用以下ot-cli命令。
```
otcli dataset init new
Done
otcli dataset
Active Timestamp: 1
Channel: 25
Channel Mask: 0x07fff800
Ext PAN ID: 42af793f623aab54
Mesh Local Prefix: fd6e:c358:7078:5a8d::/64
Network Key: f824658f79d8ca033fbb85ecc3ca91cc
Network Name: OpenThread-b870
PAN ID: 0xb870
PSKc: f438a194a5e968cc43cc4b3a6f560ca4
Security Policy: 672 onrc 0
Done
otcli dataset panid 0xabcd
Done
otcli dataset channel 25
Done
otcli dataset commit active
Done
otcli ifconfig up
Done
otcli thread start
Done
otcli state
leader
Done
```
7. 支持
要启用线程边界路由器支持,请参阅构建部分。
完整的边界路由器指南位于此处。
UG10178 Matter Demo NXP CHIP Tool 应用、FRDM-RW612 和 FRDMMCU W71 快速入门
打开线程 CLI 命令参考链接
项目元数据
有关此示例的内容/正确性的问题可以作为此 GitHub 存储库中的问题输入。
来源:恩智浦appcodehub