#author("2022-10-15T10:06:02+08:00","default:Admin","Admin") #author("2022-10-15T10:20:59+08:00","default:Admin","Admin") [[Matter]] &color(red){※This article is based on ZigBee 3.0}; &color(red){※This article is based on Matter 1.0}; #contents Matter 是由 CSA 连接标准联盟 (Connectivity Standards Alliance) 发起,多家行业领先公司联合推出的智能家居互联协议。 *特点 [#y71c75f2] ** 生态壁垒 [#q892ab2c] 对于终端用户来说,消除了生态壁垒,通过 Matter 协议,所有支持 Matter 的 App 和硬件设备均可轻松无缝互联,协同工作。Matter 可以让他们的智能家居使用体验更加自然、舒适。 ** 通信壁垒 [#w7674af8] Matter 协议可以让多种支持 IP 网络的设备协同工作,如 Wi-Fi 和 Thread/802.15.4 设备。您的手机通过 Matter 协议可以控制所有上述设备。 举个例子,您可以将一个 802.15.4 传感器设置为无需通过 App 或云,就直接打开/关闭一个 Wi-Fi 灯泡。 上述所有通信都在本地 Wi-Fi 或 Thread 网络中进行,因此即使在断网情况下,设备仍可正常工作。 Matter 还可以帮助目前的一些存量 Zigbee 或 Bluetooth LE Mesh 设备通过桥接方式接入 Matter 生态网络。 #codeprettify{{ XXX }} * Matter数据结构模型 [#f6ecb0cc] 一个简单的 Matter 数据模型结构 &ref(matter_datamodel.png); Matter 数据模型中常见组成部分的介绍 &ref(matter_dataart.png); ** Node(节点) [#z7e8803e] 节点通常被定义为一个具有某些功能的网络可寻址实体,具有唯一性。用户可以看到的智能设备实体,比如我们的这个照明系统,就是一个节点。 ** Endpoint(端点) [#i3bb00e8] 端点可以被想象为一个可提供某种或某些服务的虚拟设备,每个节点可以拥有多个端点。比如,我们照明系统节点就拥有不止一个端点,Dimmable Light 和 On/Off Light 都是照明系统节点的端点。 注意,每个节点的第一个端点 Endpoint 0 用于提供一些适用于整个节点的服务,因此需要保留。 *** Endpoint 0 [#jd956ace] Endpoint 0 的设备类型为“根节点”。作为一个特殊的 Endpoint,它提供了一些适用于整个节点的 Cluster,包括: - Basic Information Cluster Server(基本信息 Cluster 服务器):提供有关节点的基本信息,如固件版本、制造商等。 - ACL Cluster Server(ACL Cluster 服务器):允许配置可访问控制此节点的其他节点列表。 - Network Commissioning Cluster Server(网络调试 Cluster 服务器):允许在节点上配置网络(Wi-Fi、以太网、Thread 等)。 请注意,Matter 规范中还定义了所有 Endpoint 均需提供的强制性 Cluster。同理,每个 Cluster 中也可能定义了一些强制性 Attribute 和 Command,这里不一一列出。 ** Device Types(设备类型) [#ke7e3ed6] Device Types(设备类型)可代表一组常用功能。例如,我们的 Dimmable Light 和 On/Off Light 均为 Matter 规范中定义的标准设备类型。 ** Cluster [#i7ed695c] 多个常用操作组合为一个可复用的模块。 以上图为例,我们的 Dimmable Light (Endpoint 1) 中有 2 个标准 Cluster:On/Off Cluster 和 Level Control Cluster。其中,On/Off Cluster 可完成打开或关闭设备的操作,Level Control Cluster 可完成配置设备电平的操作。也就是说,在实际的 Dimmable Light 应用中,On/Off Cluster 可以控制灯泡的开关,Level Control Cluster 可以调节灯泡的亮度。 更进一步,假设我们还希望使 Dimmable Light 支持颜色控制功能,那么在该 Endpoint 中,还需要引入一个名为 Color Control 的标准 Cluster,用于控制灯泡的颜色。 我们照明系统中的另一个灯泡 On/Off Light 仅支持打开或关闭功能,因此只包括一个 On/Off Cluster。 从上图中,我们可以看到,每个 Cluster 内都有自己的 Attribute 和 Command。Matter 规范提供了一系列标准 Cluster(及其 Attribute 和 Command)。用户可根据具体设备,从列表中寻找适合自己设备的 Cluster。 *** Attribute [#sb634d16] 表示可以读取或写入的内容。比如,On/Off Cluster 包含一个 OnOff Attribute,代表设备实际打开或关闭的状态;Level Control Cluster 包含一个 CurrentLevel Attribute,代表设备的电平等级。 Attribute 既可以长期有效,也可以在设备重启之后失效;读写权限也可设置为“只读”或“可读可写”。 Matter 规范中的 Attribute 支持丰富的数据类型:包括典型值、布尔值、整数(有符号/无符号)、浮点数、枚举数、字符串,甚至集合(列表或数据结构)。 *** Command [#n718eb10] 代表触发 Cluster 进行某种行为的能力。每条 Command 可以有自己的参数。以上图为例,On/Off Cluster 中的 Toggle(切换开关)Command,可以改变 Cluster 的 OnOff Attribute;Level Control Cluster中有 MoveToLevel、Move、Step 等 Command,可以调整 Cluster 的 CurrentLevel Attribute。 * Cluster Server(Cluster 服务器)和 Cluster Client(Cluster 客户端)。 [#z86add61] 每个 Matter Cluster 均有自己的服务器以及对应的客户端。以我们的照明系统为例,Dimmable Light 和 On/Off Light 均可提供照明服务,因此均作为服务器,而用户通过 Cluster 客户端与服务器进行交互。 Cluster 服务器和客户端之间的关系如下图所示 &ref(matter_serverclient.png); - 在 Dimmable Light 的例子中,Dimmer Switch(调光开关)作为 OnOff Cluster 和 Level Control Cluster 的客户端,可以控制作为 Cluster 服务器的灯泡。 - 在 On/Off Light 的例子中,Simple Switch(简单开关)作为 OnOff Cluster 的客户端,可以控制作为 Cluster 服务器的灯泡。 - 此外,我们还可以将手机 App 作为 Cluster 的客户端,它同样可以控制作为 Cluster 服务器的灯泡。 - 请注意,这里的 Dimmer Switch、Simple Switch、Dimmable Light、On/Off Light 和手机 App 均为 Matter 节点。 #hr(); コメント: #comment_kcaptcha