"); //-->
本文将介绍Matter对网络桥接功能的支持,并探讨在Matter提供的例程基础上如何使用i.MX 8M和JN5189实现Zigbee网络和Matter网络之间的桥接,从而将Zigbee设备连接到Matter网络。快来一探究竟吧!
Matter桥接原理
Matter是新一代的物联网技术协议,与传统的Z-Wave或Zigbee网络协议相比,它在安全性、互操作性方面有很大的改进。特别是对多种物理层的支持,让Matter几乎能够运行在所有的网络产品中。
当然,传统的Z-Wave或Zigbee产品并不会很快退出市场,如何将这些产品连接到Matter网络,从而实现它们和Matter产品之间的互连互通,是目前急需解决的一个问题。我们可以通过Matter桥接设备(Bridge)实现Matter和传统网络之间的互连。
图1:Matter桥接示意图
幸运的是,Matter开发组织已经提供了一些Matter桥接设备的例程。在这些例程中,Matter桥接设备作为一个Matter设备可以加入到Matter网络,而Z-Wave或Zigbee设备需要被映射到它的动态端点(dynamic endpoint)中。这样Matter网络的其它设备就可以通过Matter桥接设备的动态端点来跟Z-Wave或Zigbee设备通信,如下图所示。这些端点被称为“动态端点”的原因是Zigbee设备随时可能离网,原先映射端点也就不再有效。
本文将以Zigbee网络为例,以i.MX 8M EVK和JN5189 DK6 EVK为硬件开发平台,介绍如何在例程基础上添加代码,来实现Zigbee网络的桥接功能。
图2:将Zigbee设备映射到Matter桥接设备
i.MX 8M和JN5189介绍
i.MX 8M系列应用处理器基于Arm Cortex-A53和Cortex-M4内核,具有业界领先的音频,语音和视频处理功能,适用于从消费家庭音频到工业楼宇自动化及移动计算机等广泛应用。作为Matter设备,i.MX 8M EVK配合其板载的蓝牙、Wi-Fi以及LAN接口,可以轻松实现Matter over Wi-Fi和Matter over Ethernet通讯。借助于外挂的K32W061 USB dongle,还可以实现Matter over Thread通讯。本文使用其Matter over Wi-Fi方式作为Matter设备。
JN5189是为极低功耗无线设备设计的高性能超低功耗微控制器,搭载了802.15.4 PHY和MAC,以及AES 128硬件加解密模块,支持Zigbee、Thread以及Matter等多种协议。本文使用Zigbee协议,将其作为Zigbee协调器来实现桥接功能。
硬件连接
本文中我们使用两块i.MX 8M EVK和一个Wi-Fi路由器组件Matter网络,其中一块i.MX 8M EVK作为Matter网络控制器 (Commissioner) 运行chip-tool,另外一块i.MX 8M EVK作为Matter网桥设备,运行Matter桥接设备软件imx-chip-brige-app。
Matter网桥设备中通过USB端口连接了一个JN5189的Zigbee协调器,Matter桥接设备软件需要同时支持Matter设备的功能以及管理Zigbee网络的功能。另外,我们使用JN5189 DK6 EVK的OM15076-3 / OM15081-2组合板充当Zigbee设备。
图3:硬件搭建示意图
软件设计
1
Zigbee设备管理
本文的设计中,Matter桥接设备作为Zigbee网络的协调器,因此它需要管理Zigbee网络的组建和Zigbee设备的入网,离网,命令控制及绑定等操作。同时它需要维护一个Zigbee设备的本地数据库。如图4中的ZCB模块。
为了便于本文的讨论,我们将Zigbee设备简单地分为两类。一类是控制设备,它接受协调器的命令并做出动作,这类设备通常是Zigbee 路由器(Router)。另外一类是传感器设备,这类设备通常是Zigbee 终端设备(End Device),常常处于睡眠状态,有时会利用唤醒的间隔发送数据包到协调器。
2
Matter桥接设备对Zigbee设备的控制
下面分别讨论Matter桥接设备对这两类设备的不同处理:
Matter桥接设备对Zigbee控制设备
的命令解析及传递
已入网的Zigbee设备会被映射到Matter设备的动态端点中,这样Matter网络控制器对Zigbee设备的控制会发送到这些端点。对于Zigbee控制类设备,桥接设备需要通过Zigbee协调器正确地将这些命令转发给它们。
如图4中的Level Control和OnOff Control命令。需要注意的是由于Level Control Cluster里的MoveToLevel命令具有延时特性,如下图的Transition time,我们可以利用Matter协议栈里的PreCommandCallback回调函数来获取命令的详细参数。
对于不带延时特性的命令,我们可以直接从例程提供的AttributeChangeCallback接口里获取。
图4:Zigbee cluster规范里的MoveToLevel命令参数图
对于这类Zigbee控制设备,设计的软件框图如下:
图5:发送控制命令到Zigbee 路由设备的桥接设备软件框图
Matter桥接设备对Zigbee传感器设备
属性汇报的管理
对于Zigbee传感器类设备,可以在设备入网时就进行绑定(bind)操作,这样Zigbee协调器就能定期收到属性数据汇报(attribute report)。同时,Matter控制设备也需要通过subscribe命令将其映射的端点和Cluster绑定到Matter控制设备。这样通过两次绑定,Zigbee传感器的数据最终会被推送到Matter控制设备。
对于这类Zigbee传感器设备,设计的软件框图如下:
图6:处理Zigbee 终端设备属性汇报的桥接设备软件框图
3
软件测试
Matter桥接设备软件的设计基于例程中的Linux平台,它通过Wi-Fi路由器加入到运行Matter chip-tool的Matter控制设备,从而组建一个本地的Matter网络。
配合Zigbee AN,我们分别利用:
AN1247作为Zigbee协调器,组建Zigbee网络并管理Zigbee设备
AN1244里的照明设备作为Zigbee控制设备接收OnOff、MoveToLevel、MoveToColor等命令
AN1246里的温度传感器作为Zigbee传感器设备采集温度数据
通过Matter桥接设备,实现了Matter控制器对Zigbee照明设备的控制,同时获取到由Zigbee传感器推送的实时温度数据。
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。