新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于RW612的Matter ZigBee Bridge和OTBR实现

基于RW612的Matter ZigBee Bridge和OTBR实现

作者:Patrick Pan 时间:2025-01-13 来源:恩智浦MCU加油站 收藏

背景

本文引用地址:https://www.eepw.com.cn/article/202501/466273.htm

旨在推动设备间更便捷更安全互连互控的标准使得基于协议的各类产品,如WiFi、OpenThread等得以很好的融合。但如何兼容海量存量市场,尤其是如何将那些不支持协议的诸如ZigBee,Z-Wave等非设备接入统一的环境就成为十分紧迫且重要的议题。

就技术角度而言,只有借助桥接Bridge机制才能实现Matter和Non-Matter协议之间的转换,从而将ZigBee,Z-Wave等非Matter设备接入Matter网络,实现互连互控。出于成本考虑,桥接Bridge功能可以整合到Matter设备中,比如在MatterOverWiFi上实现Bridge Cluster的功能,通过对加入ZigBee Coordinator的ZB节点动态分配端点(EndPoint)的方式将其映射为Matter设备,从而使得Matter Controller(如树莓派RaspberryPi或手机App)可以对其像标准的Matter设备一样进行操控。

Matter ZigBee Bridge技术路线

Matter Bridge需要配合Non-Matter设备的网关,比如ZigBee Coordinator才能将ZigBee设备映射为Matter设备。就NXP的三模无线协议(Wifi/BLE/802.15.4)MCU RW612而言,考虑到RW612需要支持Matter OTBR,并且出于实际应用中的性能考虑,不希望其片上802.15.4共享OpenThread和ZigBee协议,因此需要外接一颗K32W061完成ZigBee Coordinator的功能。

Matter ZigBee Bridge方案实现

图片.png

图1 RW612的EVK板外接K32061 ZigBee Coordinator

NXP的RW612采用ARM Cortext-M33核,主频260MHz,片上RAM高达1.2MB,用户可根据需要灵活选用不同容量的外部Flash。如图1 所示:RW612作为MatterOverWiFi设备加入Matter网络,片上的802.15.4模块实现Matter OTBR功能, MatterOverThread节点,如Lighting和Switch等都可以通过该RW612的OTBR接入Matter网络;同时通过RW612的UART外接K32061 ZigBee Coordinator,当ZigBee设备加入该Coordinator时,后者将入网信息一并传递给RW612的Bridge模块,后者就可以通过Matter标准中的Bridge Cluster为接入这个Zigbee Coordinator的所有ZigBee设备动态分配端点(EndPoint)从而将其映射为标准的Matter设备,这样作为Non-Matter的ZigBee设备就可以被Matter Controller控制(如Light的ZR)或上报属性(如ZED的Sensor)。

本文重点介绍图2中红色虚框的部分,即Matter ZigBee Bridge功能模块,OTBR的具体实现可参考https://openthread.io/guides/border-router?hl=zh-cn

图片.png

图2 NXP Matter ZigBee Bridge + OTBR 实现

Matter ZB Bridge软件架构分为两个部分(如图3所示):Matter Bridge模块和对Bridged Matter Devices的控制(即图中Bridged Interface),前者是如何为加入到ZB Coordinator的ZB节点动态分配EP,以便于Matter Controller的控制或收集上报事件,后者是从设备控制的角度,通过Matter的CLI用户接口命令,控制ZB Coordinator建立ZigBee网络(Form ZB Network),允许ZB节点加入网络(Permit Join),Factory Reset该ZB网络,将入网ZB节点退网(Leave/Remove ZB node),枚举入网的ZB节点等功能。 

图片.png

图3 Matter Zigbee Bridge软件架构

Matter Zigbee Bridge的具体工作流程如图4所示:

图片.png

图4 RW612 Bridge通过Coordinator控制ZR/ZED的入网流程

ZB设备在加入ZB Coordinator时广播的Device Announce消息被ZB Coordinator收到后转发给RW612,后者通过UART让ZB Coordinator向该ZB设备发Simple Descriptor Req uest命令,该ZB设备随之回复Simple Descriptor Response,ZB Coordinator同样将收到的这个Response消息转发给RW612,由RW612解析其负载中的Input Cluster List(如图5所示)

图片.png

图5 Simple Descriptor Response内容

图5中该入网ZB节点包含On/Off,Level Control和Color Control三个Cluster,说明这是个Color Light设备,如没有Color Control Cluster,则该ZB就为Dimmable Light,若没有Level Control Cluster,则该ZB就是OnOff Light。

图4最后一步所示,用户可根据需要将入网的ZB设备上相关的Clusters与ZB Coordinator进行绑定(Binding),这样当该Cluster下某些属性Attributes的状态发生变化,如开On变成关Off时,就会发消息给与之绑定的ZB Coordinator,由后者将该属性状态变化消息上报给RW612。

Matter ZigBee Bridge使用说明

1. 生成RW612的烧录Image

1.1 从 https://github.‍com‍/NXP/matter/tree/v1.3.0.0-tag-nxp下载Matter代码:

a) git clone -b v1.3.0.0-tag-nxp https://‍github‍.com/NXP/matter.git

b) cd matter && git submodule update –init --progress

1.2 从 https://github.‍com‍/nxp-appcodehub‍/dm-matter-zigbee-bridge-rw612 下载MatterZigbee Bridge代码

a) git clone: https://github.com/nxp-‍appcodehub‍/dm-matter-zigbee-bridge-rw612

b) 将对应目录下的文件覆盖前面1.1步骤中对应目录下

1.3 在/matter目录下执行:

a)

source ./scripts/activate.sh && cd
examples/bridge-app/nxp/rt/rw61x/

b)

gn gen --args="chip_enable_wifi=true 
chip_enable_openthread=truechip_enable_matter_cli=true is_sdk_2_15=true
openthread_root="//third_party/connectedhomeip/third_party/openthread/ot-nxp/openthread-br" enable_bridge=true
rt_nvm_component="littlefs"" out/debug

c)

ninja -C out/debug

最后在out/debug下生成chip-rw61x-bridge-example文件,添加.axf后缀,使用MCUXpresso IDE v11.9.x烧录到RW612中。

2. 烧录K32W061 Zigbee Coordinator

为确保RW612与K32W061的UART通讯稳定可靠,将JN-AN-1247缺省的波特率由1000000bps改为115200bps再进行编译,然后将BinariesControlBridge_Full_GpProxy_115200ControlBridge_Full_GpProxy_115200.bin使用DK6Programmer.exe烧入K32W061中。

3. 建立Matter ZigBee Bridge的运行环境

3.1 将RW612作为MatterOverWiFi设备加入Matter的Controller,以树莓派为例:

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

这里的SSID是WiFi路由器AP的服务集合标识(Service Set Identifier),Passwd为对应的密码。当RW612成功加入时,会在树莓派的Console上打印的 Matter信息靠近结尾附近有:

“Device commissioning completed with success”

3.2 创建Openthread边缘路由器(OTBR:Openthread Border Router)在RW612的CLI中依次输入下列命令:

>otcli dataset init new
>otcli dataset panid 0xabcd   --- 0xabcd can be changed to other value
>otcli dataset channel 25       --- 25 can be changed between 11~26
>otcli dataset commit active
>otcli ifconfig up
>otcli thread start
>otcli state                              --- must wait till “leader” state appears
>otcli dataset active –x           --- thread dataset used in chip-tool similar to following : 0e08000000000001000035060004001fffe002088711152e77458a490708fdcbf744a91020cb05100c208752e1bd2586f0a87ed481890312030f4f70656e5468726561642d633130640410d60d95cb5db1044086f7813e66de19020c0402a0f7f80102abcd0003000019

3.3 将MatterOverThread设备加入RW612 OTBR

以K32W148的Lighting App为例,在K32W148上按下SW2,该设备的串口打印:“Started BLE Advertising”

此时在树莓派的Console上运行:

当在树莓派的Console上Matter打印信息靠近结尾附近出现:

“Device commissioning completed with success”

说明K32W148已成功加入RW612的OTBR,此时可在树莓派的Console上运行:

$chip-tool onoff toggle 2 1

这里chip-tool后的第一个参数onoff是On/Off cluster,第二个参数是Toggle命令(也可以是On或Off命令),第三个参数2是该K32W148入网时使用的NodeID=2,最后一个参数1是OnOff Cluster所在的端点EndPoint值。

上述命令可以点亮K32W148上的LED,再次执行该命令将关闭该LED。

3.4 运行Matter ZigBee Bridge

在RW612的CLI上依次运行下述命令:首先将ZB Coordinator置为出厂模式,然后在11频道上建立ZigBee网络并使能加网:

这时将一个出厂模式的ZR彩灯(ColorLight)上电,很快就会在RW612的串口打印中出现:Add Color LightNode Type=3,Short=0x18d4,MAC=0x158d00031f1742,EP=12928

这里的EP=12928就是该ZB彩灯在Matter网络中被动态分配的端点,如果有更多的ZB节点加入,则会有更多的动态EP依次递增的(12929,12930…)被分配给这些ZB设备。

此时,被分配了动态EP的ZB节点就从Non-Matter设备变成了Matter设备,通过在树莓派上运行chip-tool实现对其OnOff、LevelControl及ColorControl Cluster下各属性的控制:

在上述各例子中:chip-tool后第一个参数是已注册到Matter Bridge中的cluster,如onoff/levelcontrol/colorcontrol,接下去的各参数具体含义可通过:

chip-tool cluster command方式获取,如:

chip-tool colorcontrol move-to-hue就会返回:

Hue Direction TransitionTime OptionsMask OptionsOverride destination-id endpoint-id-ignored-for-group-commands

对于Sensor这类ZED设备,通常这些节点的Cluster在入网时与ZB Coordinator进行了绑定(Binding),使得这些ZED具有相应的属性汇报功能,若某个属性状态发生变化就会自动上报,使RW612也同步获知。

小结

NXP 三合一无线协议MCU RW612+K32W061的Matter ZigBee Bridge和OTBR方案是目前业界第一款融合了Matter ZigBee Bridge和OTBR的解决方案,具有系统简单,性价比高等优点。

此外,本文中这种RW612和K32W061的组合有两套独立的802.15.4接口,在Dual-PAN应用场景下,相比使用单一802.15.4接口时OpenThread与ZigBee在不同PAN之间频繁切换不可避免导致的丢包,本方案不存在频段切换的问题,从而完全避免了这种局限性。这种优势在大网络LNT环境下尤其明显。



关键词: 智能家居 Matter IPv6

评论


相关推荐

技术专区

关闭