• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

【代码库】FRDM-MCXW71 Matter 灯和开关应用

07/30 08:59
1637
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

ap-frdm-mcxw71-light-switch-combo-app-main.zip

共1个文件

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. 软件
  2. 硬件
  3. 设置
  4. 结果
  5. 使用 NXP chip-tool APP 进行演示
  6. 支持
  7. 发行说明

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

  • 步骤 4:构建带有 BLE 调试的边界路由器配置(ble-wifi

```
$ 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 安装驱动程序

 

  1. 前往NXP 网站上的MCU-Link页面
  2. 点击​“设计资源”​。然后点击​“软件”​类别。所有三个受支持的操作系统的最新安装包将显示在顶部。
  3. 下载适用于您主机操作系统的软件包并安装(Linux/MacOS)或执行安装程序(Windows)。软件包将安装/解压到 MCU-LINKinstallerVx_xxx 目录。
  4. 添加跳线JP5
  5. 将 MCXW71 插入 USB 端口
  6. 要安装 J-Link 固件,请打开命令提示符并调用程序脚本:
    <Install Dir>scriptsprogram_JLINK
  7. 从 JP5 移除跳线并重启设备

4.2 刷写 NBU 镜像

 

​提示:​您需要使用与您正在使用的应用程序的 SDK 版本相匹配的 NBU 镜像。这意味着,当您下载 SDK 时,在加载任何无线 SDK 示例之前,请使用 SDK 中以下文件夹中提供的二进制文件更新您的 NBU 镜像

  1. 前往MCUXpresso SDK 网站。点击​“选择开发板”​搜索评估板
  2. 在“搜索硬件”搜索框中,输入选定的主板​FRDM-MCXW71​。
  3. 确保选择最新的 SDK 版本​(2.16.100+)​。点击开发板进行选择。
  4. 在右侧,您将看到为 FRDM-MCXW71 构建 SDK 的选项。单击此按钮可添加所需的中间件
  5. 要构建 SDK,请选择所有可用的中间件。然后向下滚动并点击​“下载 SDK”​。
  6. 下载完成后,拖放到MCUXpresso IDE 中的已安装 SDK窗口。
  7. 在SDK包中找到sb3镜像文件:
    middlewarewirelessieee-802.15.4binmcxw71mcxw71_nbu_ble_15_4_dyn_matter_1_0_17_2.sb3
  8. 将sb3文件复制到MCU-Link安装目录的bin文件夹中-
    <MCU-Link Install Dir>bin
  9. 按住开发板上的 SW3(ISP)按钮,同时将开发板连接到主机 USB 端口
  10. 使用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/。它应该在每次构建过程后写入。

  1. 下载 JLink工具
  2. 将 MCXW71 插入 USB 端口
  3. 创建一个新文件,commands_script包含以下内容(相应地更改应用程序名称):

shell
reset
halt
loadfile chip-mcxw71-light-switch-combo-example.srec
reset
go
quit

  1. 复制应用程序并将其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

  • 从已安装的 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

调试K32W1

5. 使用 NXP chip-tool APP 进行演示

 

本章提供了如何使用FRDM-RW612与NXP的Chip-Tool应用程序进行配对和基本控制操作的演示教程。

更多详细信息,请参阅以下链接:
UG10178 Matter Demo NXP CHIP Tool app、FRDM-RW612 和 FRDMMCU W71 快速入门

Matter 应用程序设置拓扑

5.1 安装APK

 

5.2 Wi-Fi 先决条件

 

如下所示配置 AP。

  • 如果AP支持IPv6 DHCP服务器,则必须是disabled
  • RW612 的 Matter 演示二进制文件不支持 WPA3。AP 必须在 中进行配置WPA2 mode

首先将您的 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 NamePSKc,因为这些参数将用于调试 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

  • ap-frdm-mcxw71-light-switch-combo-app-main.zip
    下载
恩智浦

恩智浦

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。

恩智浦半导体创立于2006年,其前身为荷兰飞利浦公司于1953年成立的半导体事业部,总部位于荷兰埃因霍温。恩智浦2010年在美国纳斯达克上市。恩智浦2010年在美国纳斯达克上市。恩智浦半导体致力于打造全球化解决方案,实现智慧生活,安全连结。收起

查看更多

相关推荐