在上一篇文章中,我们讨论了 Matter 的数据模型。这篇文章,让我们来聊聊网络中的 Matter 设备将如何进行交互,从而协同实现多样的自动化场景。例如,使用家里的一个开关就能控制一个或多个灯泡;恒温器可以根据接收到的传感器报告,自动打开或关闭……
这类应用非常有趣,但通过现有的生态系统协议不大容易实现。然而,使用 Matter 可以很容易做到这一点。设备不需要借助任何云或手机 App,直接通过本地网络即可进行交互。
正如在上一篇 Matter 数据模型文章中提到的,每个 Matter Cluster 都有一个 Cluster 服务器及其对应的客户端,Matter 设备之间的通信实际上就是 Cluster 服务器和客户端之间的通信。如上图所示,部署在开关中的 OnOff Cluster 客户端,可以打开或关闭部署在灯泡中的 OnOff Cluster 服务器。终端用户可以配置家中的 Matter 设备,使其与一个或多个设备进行交互。
不难理解,要实现这样的交互,开关需要通过某种方式了解有关灯泡的细节信息,这种方式即为设备绑定。绑定代表一种持久的连接关系,为一个端点与其他一个或多个端点进行安全交互提供了可能。用户可以(通过 Matter 手机 App)将来自不同厂商的不同设备绑定起来。
Matter 设备之间的交互方式有两种:
1. 同步控制
以上述开关为例,开关作为绑定 Cluster 服务器,用户通过手机 APP 中的绑定 Cluster 客户端来发送绑定指令。能够提供绑定服务的绑定开关收到绑定指令后,会主动和灯泡建立一个安全的通信链路,从而实现灯泡和开关的绑定成功,之后用户对开关的任何操作(开或关)就会同步反映至灯泡上。具体过程如下:
同样地,如果我们希望通过一个 Dimmer Switch(调光器开关)控制一个 Dimmable Light(可调光灯泡),则 Dimmer Switch 还需要部署一个 OnOff Cluster 客户端、一个 Level Control Cluster 客户端以及一个 Binding Cluster 服务器。
2. 异步通知(订阅—报告)
这种异步通知的交互方式允许订阅者接收来自发布者的数据报告,报告的内容可以是发布者的 Attribute 或 Event。
比如,上文中提到的恒温器就采用了这种异步交互方式,即恒温器订阅了传感器的 Attribute。首先,用户需要将恒温器与传感器绑定。完成后,恒温器就可以订阅传感器的 Attribute,并定期或在传感器 Attribute 变化时,接收来自传感器的数据。具体过程如下:
这只是一个订阅 Attribute 的例子。此外,设备也可以订阅 Event。在上一篇有关 Matter 数据模型的文章中,我们探讨了 Cluster 的概念及其 Attribute 和 Command。我们这里所说的 Event 也是 Cluster 的一部分。Event 可以捕获各种变化,并将其这些变化通知给订阅者。我们生活中常见的 Event 可以是按下开关被按下、长按或打开门被打开等。
以上就是我们对 Matter 设备之间如何实现自动化交互的全部介绍。
本文是乐鑫 Matter 系列文章的第三篇,敬请期待后续的更多内容。