Matter的数据模型和开发

电子说

1.3w人已加入

描述

在第一篇内容中,我们介绍了智能家居互联标准 Matter会带来什么好处。本文,我们来了解一下Matter的数据模型和开发。

数据模型

一个简单的Matter数据模型结构

Matter数据模型   

数据模型

Node(节点):节点通常被定义为一个具有某些功能的网络可寻址实体,具有唯一性。用户可以看到的智能设备实体,比如说照明系统,就是一个节点。


Endpoint(端点):端点可以被想象为一个可提供某种或某些服务的虚拟设备,每个节点可以拥有多个端点。比如,我们照明系统节点就拥有不止一个端点,Dimmable Light 和 On/Off Light 都是照明系统节点的端点。

Endpoint 是 Matter协议中控制 node 的最小单位,其中包含了3个属性:

Cluster:多个常用操作组合为一个可复用的模块,分为Attribute:表示可以读取或写入的内容,例如 On/Off 表示设备的开关状态。

Attribute:既可以长期有效,也可以在设备重启之后失效;读写权限也可设置为“只读”或“可读可写”。Matter 规范中的 Attribute 支持丰富的数据类型:包括典型值、布尔值、整数(有符号/无符号)、浮点数、枚举数、字符串,甚至集合(列表或数据结构)。

Command:代表触发 Cluster 进行某种行为的命令,例如打开、关闭。针对 Endpoint 中的属性 Matter 规范提供了一系列的标准,用户可以从列表中找到适合自己设备的配置。

Endpoint 0

每个节点的第一个端点 Endpoint 0 用于提供一些适用于整个节点的服务,因此需要保留。Endpoint 0 的设备类型为“根节点”。

作为一个特殊的 Endpoint,它提供了一些适用于整个节点的 Cluster,包括:

Basic Information Cluster Server(基本信息 Cluster 服务器):提供有关节点的基本信息,如固件版本、制造商等。

ACL Cluster Server(ACL Cluster 服务器):允许配置可访问控制此节点的其他节点列表。

Network Commissioning Cluster Server(网络调试 Cluster 服务器):允许在节点上配置网络(Wi-Fi、以太网、Thread 等)。

Matter绑定   

数据模型

   

如上图绑定之后开关就可以获取后灯泡的细节信息,从而实现不借助任何云或手机App,直接通过本地网络即可进行交互。

Matter设备认证   

Matter设备通过公钥基础设施 PKI(Public Key Infrastructure) 进行身份识别与认证。

数据模型

每个 Matter 节点都有自己的节点操作证书 NOC (Node Operational Certificate)。NOC 证书采用 X.509 格式标准,内含一个可用于识别某个节点的唯一标识符,即节点操作标识符(节点 ID)。


当某个 Matter 节点同时处于多个不同生态系统中时,该节点将拥有多个 NOC 证书(在每个生态系统中都有对应的证书)。NOC 证书和节点 ID 仅在所处的生态系统中有效,这里所描述的生态系统,在 Matter 协议中被称为 Matter Fabric。

一个 Matter 节点拥有的资源(即 CPU/RAM)决定了它最多可同时支持多少个 Fabric。每个 Matter Fabric 也会有其对应的根证书(Root CA Certificate),用于验证 Fabric 中各节点的身份,即各节点的 NOC 证书。

Matter设备配网   

新设备一旦上电,将通过 BLE 或 DNS-sd 服务进行广播。控制器接收到广播时,会尝试基于配对码与设备建立加密会话。这个过程被称为 Matter 的密码认证会话建立 (Password Authenticated Session Establishment, PASE)。通常情况下,在 PASE 过程中,App 需要通过扫描二维码来获取设备的唯一配对码。


建立 PASE 会话后,控制器将验证设备的 DAC 证书。如果通过验证,则会签发一个新的 NOC,并将其安装至设备。此外,控制器还会告知设备需要加入的 Wi-Fi 或 Thread 网络。设备配网完成后,PASE 会话将被关闭。此后,所有通信都将受到证书的保护。这种新的会话也被称为 Matter 的证书认证会话建立 (Certificate Authenticated Session Establishment, CASE)。

下图概括了Matter设备开箱后的典型匹配过程,展示了 PKI在 Matter 安全模型中重要作用。

数据模型

Matter访问控制列表

每个 Matter 节点都有一个访问控制列表 (ACL, Access Control List) ,规定了在这个 Matter Fabric 中,何种设备可以在此 Matter 节点上执行何种操作,比如在节点 x 上的 Cluster y 上具有可读/可写/可调用权限。

当一个 Matter 手机 App 控制 Matter 网络中的灯泡时:

灯泡将获得一系列由 ACL 定义的权限。

此后,灯泡在执行任何操作之前,将首先通过手机 App 的 NOC 证书和安装在灯泡上的受信根 CA 证书,来验证手机 App 的身份。

接着,灯泡将检查 ACL,确认此手机 App 是否具有控制灯泡操作的权限。

Matter桥接设备

Matter桥接设备可以让非 Matter 设备加入 Matter 生态系统,允许用户无差别得控制自己的 Matter 和非 Matter 设备。

数据模型

在 Matter 生态系统中,非 Matter 设备可以作为“被桥接设备”节点,通过桥接设备完成其他协议(如:Zigbee)和 Matter 协议之间的映射,从而与系统中的 Matter 设备进行通信。

下面是一个 Matter 桥接设备的数据模型示例。

数据模型

Endpoint 0 中的设备类型为 Bridge。PartsList 字段列出桥接设备的所有端点,每个端点代表一个非 Matter 设备。

每个端点上的 Descriptor(描述符)Cluster 可以提供有关特定被桥接设备的信息。

ESP-Matter

ESP Matter 是乐鑫 ESP32 系列 SoC 的官方 Matter 开发框架。它建立在开源 Matter SDK 之上,同时提供简化的 API、常用外围设备、用作安全、制造和生产的工具和实用程序,并附带详细的文档。它包含丰富的生产参考,旨在简化 Matter 产品的开发流程,使用户可以在最短的时间内投入生产。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分