2. Matter技术架构
Matter 并不是一个“新协议”从零替换掉 Wi-Fi、Thread 或以太网,而是一套统一的应用层规范与数据/交互模型,把不同底层网络技术收敛到同一套设备语义与安全框架之下。理解 Matter 的关键,是把它看成分层栈:越往上越接近“设备能做什么”,越往下越接近“数据怎么传”。本节按自顶向下的顺序拆解五层,并说明每层在开发中真正需要关心的对象与参数。
一、应用层:Cluster 是设备能力的“词汇表”
应用层由一组标准化的 Cluster(功能簇) 构成,每个 Cluster 描述一类功能,例如 On/Off(开关)、Level Control(亮度)、Temperature Measurement(温度测量)、Color Control(颜色控制)。Cluster 内部由 Attribute(属性)、Command(命令)、Event(事件) 三类元素组成:属性是可读(部分可写)的状态量,命令是可控动作,事件是设备主动上报的状态变化记录。
开发中常见的做法是:先确定设备要暴露哪些 Cluster,再决定每个 Cluster 中哪些 Attribute 需要持久化、哪些 Command 需要实现。例如一个调光灯泡通常实现 OnOff、LevelControl、ColorControl 三个 Cluster;一个温湿度传感器实现 TemperatureMeasurement 与 RelativeHumidityMeasurement。Cluster 的编号、属性 ID、命令 ID 都由规范固定,不能自定义含义,只能通过厂商扩展(Manufacturer Specific)补充私有能力。
二、数据模型:Node → Endpoint → Cluster → Attribute 的树
Matter 用一棵树描述设备:Node(节点) 是一台物理设备;Node 下挂多个 Endpoint(端点),端点代表设备中可独立寻址的功能单元;Endpoint 下挂 Cluster;Cluster 下挂 Attribute。例如一个“灯+传感器”复合设备,Endpoint 1 放灯相关 Cluster,Endpoint 2 放传感器 Cluster,各自独立控制。
每个 Node 还包含若干“基础信息”Cluster,如 Basic Information(厂商、型号、固件版本)、Descriptor(描述端点与设备类型)、Network Commissioning(网络配置)。这些是配网与识别阶段必读的数据。数据模型的价值在于:控制器不需要知道设备是 Wi-Fi 还是 Thread,只要按 Endpoint/Cluster/Attribute 路径读写即可。
三、交互模型:Read / Write / Subscribe / Invoke 四种动作
交互模型定义控制器与设备之间“怎么对话”。核心动作有四类:Read 读取属性;Write 写入可写属性;Subscribe 订阅属性变化,设备在值改变时主动上报;Invoke 调用命令。此外还有 Report(订阅触发的上报)与 Timed Interaction(带超时的写/命令,用于安全敏感操作)。
交互模型建立在请求/响应之上,但订阅机制让状态同步从“轮询”变为“推送”。实际开发中,App 打开时通常先 Read 一次全量状态,再对关键属性 Subscribe;用户操作时用 Invoke 下发命令,设备执行后通过 Report 回传新状态,形成闭环。
四、安全机制:CAS 与 Fabric 是信任的根
Matter 的安全不依赖底层网络,而是由应用层统一保证。核心概念是 Fabric(织物):一个 Fabric 代表一个管理域(如一个家庭生态),由 Root CA 签发 NOC(节点操作证书),设备与控制器凭证书互相认证。配网时通过 Commissioning 流程把设备加入 Fabric,之后所有通信都走 CASE(Certificate Authenticated Session Establishment) 建立加密会话。
安全层还负责:消息加密与完整性、重放保护、访问控制(ACL,规定哪个控制器能操作哪些 Endpoint/Cluster)。这意味着即使底层是共享的 Wi-Fi 网络,Matter 设备也只接受本 Fabric 内已认证控制器的指令。
五、底层传输:Wi-Fi、Thread、以太网各司其职
Matter 可运行在三种 IP 承载之上:Wi-Fi 带宽高、功耗大,适合摄像头、面板等常供电设备;Thread 是低功耗 Mesh,适合电池供电的传感器、门锁,需要 Border Router 把 Thread 网络接入 IP 网络;以太网 稳定可靠,适合网关、中枢类设备。三者之上统一走 IPv6,Matter 消息封装在 UDP/TCP 之上,因此应用层代码基本不感知底层差异。
六、分层协作的实际意义
把五层串起来看:控制器通过 交互模型 发出 Read/Invoke,消息经 安全层 用 CASE 会话加密,再经 传输层 通过 Wi-Fi/Thread/以太网送达设备;设备按 数据模型 定位到具体 Endpoint 的 Cluster,由 应用层 执行逻辑并回传结果。开发者只需关注“设备暴露哪些 Cluster、属性如何映射、订阅哪些状态”,底层差异由协议栈屏蔽。
小结:应用层定义“能做什么”,数据模型定义“在哪里”,交互模型定义“怎么问”,安全机制定义“谁能问”,传输层定义“走哪条路”。五层各司其职,共同构成 Matter 可互操作、可安全跨生态的基础。