文章来源:https://blog.csdn.net/espressif/article/details/122691556
目前,亚马逊、苹果、谷歌和三星等多家大型物联网生态系统供应商已宣布支持 Matter。可以预见的是,在逐渐扩展的 Matter 生态下,未来还将有更多厂商推出越来越多 Matter 设备。这不仅会加速推动智能设备品类的增长,而且进一步赋能设备间的互联互通,为共同构建一个更丰富的 Matter 生态系统贡献力量。
此时大家可能有疑问:我们家里已经有很多基于 Zigbee、Z-Wave、Bluetooth LE Mesh 等协议的物联网设备。这些非 Matter 设备可以与 Matter 设备协同工作吗?答案是肯定的。
在这篇文章中,我们将聊聊 Matter 的桥接功能。
Matter 桥接设备可以让非 Matter 设备加入 Matter 生态系统(即下图中的 Matter Fabric),允许用户无差别得控制自己的 Matter 和非 Matter 设备。
Matter 桥接设备
在 Matter 生态系统中,非 Matter 设备可以作为“被桥接设备”节点,通过桥接设备完成其他协议(如 Zigbee)和 Matter 协议之间的映射,从而与系统中的 Matter 设备进行通信。
下图所示 Matter-Zigbee 桥接设备可以让两个 Zigbee 灯泡加入 Matter 生态系统:
Matter-Zigbee 桥接设备
我们在之前的文章中介绍了 Matter 的数据模型,下面是一个 Matter 桥接设备的数据模型示例。
Matter 网桥的数据模型
Endpoint 0 中的设备类型为 Bridge。PartsList 字段列出桥接设备的所有端点,每个端点代表一个非 Matter 设备。
每个端点上的 Descriptor(描述符)Cluster 可以提供有关特定被桥接设备的信息。
Matter 桥接设备除了充当协议“翻译”外,还可以具有 Matter 原生功能:比如一个智能恒温器设备既可以作为桥接设备,完成 Zigbee 等协议与 Matter 生态的通信,也可以同时作为一个标准的 Matter 智能恒温器设备,通过 Matter 协议向暖通系统发送控制指令。下图中的 Endpoint 1 即为智能温控,而其他端点代表“被桥接设备”。
具有 Matter 原生功能的 Matter 桥接设备
现在,让我们回到上文中提到的 Matter-Zigbee 桥接设备示例。
Matter-Zigbee 桥接设备的工作流程
以下是使用 Matter 协议在手机上控制 Zigbee 设备的工作流程:
第一步:Matter 桥接设备,作为一个 Matter 协议中定义的设备类型,需要首先遵循标准的 Matter 配网流程,使其加入 Matter 网络(即 Matter fabric)。
第二步:这个 Matter-Zigbee 桥接设备需要同时加入 Zigbee 网络。与 Matter 协议不同的是,Zigbee 协议并没有用定义标准的配网流程,而是由各厂商自行决定如何分发网络密钥。(Zigbee 3.0 以来最常见的入网方式是通过Install Code 来完成设备认证并入网。)
第三步:桥接设备一旦加入 Zigbee 网络,就会通过广播 Match Descriptor Request 命令的方式,来发现 Zigbee 网络中的设备。该命令包括所需的配置文件、In-Clusters(相当于服务器)和 Out-Clusters(相当于客户端)。在这个例子中,桥接设备加入 Zigbee 网络后,会广播一个类似“谁是支持 OnOff Cluster 的灯泡?”的问题。相应地,满足条件的 Zigbee 设备将回复一个 Match Descriptor Response 并附上自己的网络地址。之后,桥接设备将为每一个匹配的 Zigbee 设备添加一个动态端点,使其作为被桥接设备加入 Matter 网络。
第四步:Matter 系统将通过 Matter 规范中定义的 Operational Discovery(设备发现)机制发现这些桥接设备。(更多有关 Matter 规范中设备发现的内容,请关注我们即将发布的后续文章。)
第五步:这样一来,Matter 系统中的控制器就可以在桥接设备的帮助下,控制 Zigbee 网络中的灯泡。
注意事项:
注 1:第二步和第三步中交互方式主要由设备供应商和具体协议决定,不在 Matter 协议定义的范畴。
注 2:桥接设备可以根据非 Matter 网络中的心跳等机制动态添加或删除被桥接的端点。
以上为桥接设备连接 Matter 网络和 Zigbee 网络的典型工作流程。我们也可以通过类似工作流程,将其他生态系统中的设备加入 Matter 网络。
这种桥接设备要是可以支持多种通信协议的话,那一个桥接设备就可以满足所有非Matter的设备了。