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

【代码库】基于FRDM-RW612 桥接 Matter Zigbee

06/11 09:16
482
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

dm-matter-zigbee-bridge-rw612-main.zip

共1个文件

基于FRDM-RW612 桥接 Matter Zigbee

 

本用户指南提供了如何使用由 NXP RW612(支持 OpenThread 边界路由器 - Openthread + WiFi)和 NXP K32W0x1(支持 Zigbee)组成的 NXP 无线 MCU 系统将非 Matter 设备(例如传统 Zigbee 设备)桥接到 Matter 生态系统的说明。

设计基础设施:

图片

硬件连接:

图片

主板:FRDM-RW612

 

类别:无线连接、桥接器、RTOS

 

外设:UART

 

工具链:GCC

 

目录

 

  1. 软件
  2. 硬件
  3. 设置
  4. 运行演示
  5. 结果
  6. 支持
  7. 发行说明

1.软件要求

 

  • Ubuntu 22.04 作为独立 PC 或安装在虚拟机(如 VirtualBox)中
  • JLink 版本(> v.792f)
  • K32W061 SDK26_16
  • DK6Programmer.exe(SDK2616K32W061DK6toolsJN-SW-4407-DK6-Flash-ProgrammerJN-SW-4407 DK6 生产 Flash 编程器 v4564.exe)
  • JN-AN-1247 - Zigbee 控制桥:JN-AN-1247BinariesControlBridgeFullGpProxy1000000ControlBridgeFullGpProxy1000000.bin(构建时波特率设置为 1000000bps)
  • JN-AN-1244 - Zigbee 彩灯:JN-AN-1244BinariesExtendedColorLightGpProxyOM15081ExtendedColorLightGpProxyOM15081.bin(预构建)
  • JN-AN-1246 - Zigbee 温度传感器:JN-AN-1246BinariesLTOSensorNtagIcodeOtaOM15081R2LTOSensorNtagIcodeOtaOM15081R2_V1.bin(预构建)
  • FRDM-RW612 Matter-Zigbee-Bridge:/examples/bridge-app/nxp/rt/rw61x/out/debug/chip-rw61x-bridge-example.srec
  • MatterOverThread 灯:/examples/lighting-app/nxp/mcxw71/out/debug/chip-mcxw71-light-example.srec

2.硬件要求

 

  • 基于 Matter 1.4 或更新版本的 Matter 控制器
  • FRDM-RW612板
  • K32W061-DK6(MEZZANINE模块+OM15076-3载板)作为Zigbee协调器
    • FRDM-RW612 J1 引脚 2 (GPIO9) FC1UARTRX <=> K32W061-DK6 J3 引脚 15 USART0TX
    • FRDM-RW612 J1 引脚 4 (GPIO8) FC1UARTTX <=> K32W061-DK6 J3 引脚 16 USART0RX
    • FRDM-RW612 J6 引脚 2 (GPIO_19) RST <=> K32W061-DK6 J3 引脚 30 RSTN
  • USB-UART转换器作为信息记录
    • FRDM-RW612 J5 引脚 4 (GPIO03) FC0UART_TXD <=> 转换器 RX
    • FRDM-RW612 J5 引脚 8 (GND) <=> 转换器 GND
  • FRDM-MCXW71 作为 MatterOverThread Light
  • K32W061 作为 Zigbee ColorLight
  • K32W061 作为 Zigbee 光温度占用 (LTO) 传感器

3. 设置

 

  1. 创建构建环境:
    • 将 Matter repo 初始化为bridge-app/nxp/rt/rw61x/third_party内的子模块:

      git submodule update --init
    • 将补丁从补丁文件夹复制到​bridge-app/nxp/rt/rw61x/third_party​:

      cp patches/* bridge-app/nxp/rt/rw61x/third_party/
    • 将zigbee_bridge文件夹复制到​bridge-app/nxp/rt/rw61x/third_party/matter/third_party/nxp​:

      cp -r zigbee_bridge/ bridge-app/nxp/rt/rw61x/third_party/matter/third_party/nxp/
    • 转到事项根文件夹:

      cd bridge-app/nxp/rt/rw61x/third_party/matter/
    • 安装物质所需的软件包:

      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
    • 查看 NXP 特定的 Matter 子模块:

      scripts/checkout_submodules.py --shallow --platform nxp --recursive
    • 运行引导脚本来初始化 Matter 构建环境

      source scripts/bootstrap.sh
    • 如果引导已经完成,则可以使用激活脚本来激活环境:

      source scripts/activate.sh

    ​注意:​该环境仅在执行引导/激活脚本的终端中处于活动状态。

    • 对/src/example文件夹应用以下补丁:
      ```
      git apply ../example-changes.patch

      git apply ../src-changes.patch
      ```

    • 初始化NXP SDK:

      third_party/nxp/nxp_matter_support/scripts/update_nxp_sdk.py --platform common
    • 转到nxp_matter_support文件夹:

      cd third_party/nxp/nxp_matter_support/
    • 应用以下补丁来修改板文件并启用与 Zigbee 协调器的 UART 通信

      git apply ../../../../sdk-changes.patch
  2. 构建 FRDM-RW612 Matter-Zigbee 桥接应用程序
    • 返回bridge-app/nxp/rt/rw61x文件夹

      cd ../../../../../
    • 使用 Thread BR 选项生成 FRDM-RW612 板的构建文件:

      gn gen --args="chip_enable_wifi=true chip_enable_openthread=true nxp_enable_matter_cli=true board_version="frdm"" out/debug
    • 构建示例:

      ninja -C out/debug/
    • 构建完成后,可以在 out/debug/ 文件夹中找到应用程序二进制文件(.srec 文件),名称为chip-rw61x-bridge-example.srec。
    • 按照以下说明将应用程序二进制文件刷入主板
  3. 构建 FRDM-MCXW71 Matter 开/关灯应用程序
    • 返回 Matter 根文件夹

      cd third_party/matter
    • 按照专用readme 文件中提供的说明,为 FRDM-MCXW71 构建并刷新 Matter On/Off 灯应用程序
  4. 将 Zigbee 控制桥和 Zigbee 彩灯二进制文件刷入两块 K32W061 开发板
    • 使用以下说明将二进制文件刷入主板

4. 运行演示

 

  1. 通过 Wi-fi 将 FRDM-RW612 连接到 Matter 网络,
    启动 FRDM-RW612 并等到其日志中出现消息“CHIPoBLE 广告已启动”,然后运行:


    chip-tool pairing ble-wifi 1 SSID Passwd 20202021 3840

    等到 Raspberry Pi 上显示“设备调试成功完成”消息,这表明此 FRDM-RW612 已成功作为 MatterOverWifi 设备加入 Matter 控制器。

  2. 按照 CLI 上的命令在 FRDM-RW612 上设置 OpenThread 边界路由器 (OTBR)
    • otcli 数据集初始化
    • otcli 数据集 panid 0xabcd --- 0xabcd 可以更改为其他值
    • otcli 数据集通道 25 --- 25 可以在 11~26 之间更改
    • otcli 数据集提交活动
    • otcli ifconfig up
    • otcli线程启动
    • otcli 状态 --- 必须等到“leader”状态出现
    • otcli 数据集活动 –x --- chip-tool 中使用的线程数据集类似于以下内容:0e08000000000001000035060004001fffe002088711152e77458a490708fdcbf744a91020cb05100c208752e1bd2586f0a87ed481890312030f4f70656e5468726561642d633130640410d60d95cb5db1044086f7813e66de19020c0402a0f7f80102abcd0003000019
  3. 将 FRDM-MCXW71 MatterOverThread Light App 加入到 FRDM-RW612 OTBR 在出厂时刷入 chip-mcxw71-light-example.srec 的 FRDM-MCXW71 上按下 SW2,并在其 UART 控制台上显示“Started BLE Advertising”,然后运行:
    芯片工具配对 ble 线程 2 十六进制:0e08000000000001000035060004001fffe002088711152e77458a490708fdcbf744a91020cb05100c208752e1bd2586f0a87ed481890312030f4f70656e5468726561642d633130640410d60d95cb5db1044086f7813e66de19020c0402a0f7f80102abcd0003000019 20202021 3840
    等到 Matter 控制器的日志中出现消息“设备调试成功完成”,这确认此 K32W148 已通过 FRDM-RW612 OTBR 作为 MatterOverThread 设备成功加入 Matter 网络。
  4. 设置 Matter ZB Bridge,在 FRDM-RW612 CLI 上运行以下命令,在刷入 ControlBridgeFullGpProxy_115200.bin 的外部 K32W061 MEZZANINE 模块上形成 Zigbee 网络,然后允许其他 Zigbee 节点加入:
    • zb-erasepdm --- 擦除当前使用的 Zigbee 信道,如果想继续使用现有信道,请跳过此步骤
    • zb-nwk-form 11 --- 可以是11~26之间的任意值作为有效的Zigbee通道
    • zb-nwk-pjoin 255 --- 255 表示启用,0 表示禁用允许加入

    打开工厂新的彩色灯 K32W061 并刷入 ExtendedColorLightGpProxyOM15081.bin,以下消息将显示在 FRDM-RW612 控制台上:


    Add Color Light
    Node Type=3,Short=0x18d4,MAC=0x158d00031f1742,EP=12928

    (此处 EP=12928 是将非物质 Zigbee 节点映射为物质设备的动态分配端点,如果更多 Zigbee 节点加入 FRDM-RW612 物质网络,则增加的动态端点为 12929、12930……将分别分配给这些附加节点。)打开出厂新的温度传感器 K32W061,并刷新 LTOSensorNtagIcodeOtaOM15081R2V1.bin,在 FRDM-RW612 控制台上可以看到类似的消息。

5.结果

 

通过 Matter 控制器控制台运行以下命令,Color Light K32W061 上的 RGB 将相应更改:

  • chip-tool onoff toggle 1 12928 --- RGB 交替开启和关闭
  • chip-tool levelcontrol move-to-level 2 1 1 1 1 12928 --- RGB亮度等级改为2
  • chip-tool colorcontrol move-to-hue 32 1 1 1 1 1 12928 --- RGB色调更改为32
  • chip-tool colorcontrol move-to-saturation 64 1 1 1 1 12928 --- RGB饱和度改为64
  • chip-tool colorcontrol move-to-color-temp 128 1 1 1 1 12928 --- RGB 温度更改为 128
  • chip-tool colorcontrol move-to-color 30000 60000 1 1 1 1 12928 --- RGB ColorX 和 ColorY 分别更改为 30000 和 60000

6. 支持

 

如果您需要帮助,请联系 FAE 或创建工单到NXP 社区

项目元数据

 

董事会徽章

类别徽章 类别徽章 类别徽章

周边徽章

工具链徽章

来源:恩智浦appcodehub

  • dm-matter-zigbee-bridge-rw612-main.zip
    下载
恩智浦

恩智浦

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

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

查看更多

相关推荐