概念总览

读完这页你会知道
  • Matter 用四层结构描述一个设备能做什么
  • Node、Endpoint、Cluster、Attribute、Command 分别是什么意思
  • 看到 "Endpoint 1 / Cluster 0x0101 / Attribute 0x0 = 0x01" 时,能直接翻译成人话
  • 不管你是 App 开发、固件工程、测试还是产品,都能看懂设备数据

这一章讲清楚 Matter 协议的核心概念,不需要特定技术背景,每个人都能看懂。 读完之后,你看到 "Endpoint 1 / Cluster 0x0101 / Attribute 0x0 = 0x01" 这样的数据,就能直接知道它在说什么。

什么是 Matter

Matter 是一个智能家居统一标准协议,由 Apple、Google、Amazon、三星等公司联合制定(组织叫 CSA,Connectivity Standards Alliance)。

在 Matter 出现之前,同一个智能灯泡想同时被 HomeKit、Google Home、Alexa 控制,厂商得分别接入三套完全不同的协议。 Matter 的目标很简单:定义一套标准的数据模型和通信方式,所有平台都认

打个比方:Matter 就像 USB-C 接口。以前每家手机一个充电口,现在统一成 USB-C,线和设备都可以互换。 Matter 做的事一样 —— 给智能家居设备定义了一个"统一接口"。

Matter 的四层数据模型

Matter 把一个设备的所有能力组织成四个层次。这是 Matter 最核心的概念,理解了它就理解了大半。

想象一栋智能大楼 —— 这个类比能帮你一下子看懂整个结构:

Node(设备节点)例:一把智能门锁Endpoint 0管理端点BasicInformation基本信息 · 0x0028ATTRIBUTES厂商名 VendorName产品名 ProductName固件版本 SoftwareVersionCOMMANDS(无)Endpoint 1功能端点DoorLock门锁控制 · 0x0101ATTRIBUTES锁状态 LockState电池电量 BatPercentRemainingCOMMANDS上锁 LockDoor解锁 UnlockDoorNodeEndpointClusterAttributeCommand
另一种理解方式:手机类比

如果觉得大楼不够直观,也可以想成你的手机:Node = 手机本身,Endpoint = 手机里的一个 App,Cluster = App 里的一个功能模块,Attribute = 能看到的信息(电量 80%),Command = 能执行的操作(拍照、发消息)。

Matter 概念日常类比Node设备节点 — 物理设备智能大楼一栋完整的建筑Endpoint端点 — 独立功能区域房间 / 功能区物业办公室、住户房间Cluster能力簇 — 一组相关能力设备系统灯光、空调、门锁系统Attribute / Command属性 / 命令仪表盘 / 遥控器读数 / 按钮

下面逐层展开说明。

Node(设备节点)

Node 就是网络中的一个物理设备。一个门锁是一个 Node,一个灯泡也是一个 Node。

类比:一栋智能大楼。大楼本身就是一个 Node,里面有不同的房间,每个房间装了不同的设备系统。

门锁示例

一把 Matter 门锁就是一个 Node。它通过 WiFi 或 Thread 网络加入 Matter 网络后,控制端(比如手机 App)就能发现并操作它。

Endpoint(端点)

一个 Node 上可以有多个 Endpoint,每个 Endpoint 是一个独立的功能区域

类比:大楼里的不同房间。物业办公室管大楼本身的事务(水电、维修),住户房间才是实际生活的地方。Endpoint 也是这样,不同的端点承担不同的职责。

Matter 规定了两类 Endpoint:

门锁设备 (Node)Endpoint 0管理端点配网 / 证书 / 诊断 / OTA 升级日常开发中通常不需要关心Endpoint 1功能端点重点上锁 / 解锁 / 用户管理 / 电池状态 / 设备标识日常开发主要与这个端点打交道包含 DoorLock、PowerSource、Identify 等 Cluster某些设备可能有更多端点(Endpoint 2、3...)例如多合一传感器的不同功能各占一个端点
实用提示

Endpoint 0 是每个 Matter 设备都必须有的,里面放的是设备的"身份证"和"系统设置"。日常工作中主要打交道的是 Endpoint 1(功能端点),门锁的开/关锁、用户管理都在那里。

Cluster(簇)

Cluster 是 Matter 数据模型里最关键的概念。一个 Cluster 定义了一组相关的能力 —— 包括它有哪些状态(Attribute)和支持哪些操作(Command)。

类比:房间里的一套设备系统。比如房间里有灯光系统、空调系统、门锁系统,每套系统管一类事情,有自己的状态和操作方式。Cluster 就是这样的一套功能系统。

每个 Cluster 都有一个标准 ID(十六进制),由 CSA 统一分配:

Cluster ID名称是什么
0x0101DoorLock门锁系统 —— 开锁、关锁、管理用户
0x002FPowerSource供电系统 —— 电池电量、充电状态
0x0006OnOff开关系统 —— 开、关、切换
0x0028BasicInformation铭牌信息 —— 厂商、产品名、固件版本
0x001DDescriptor目录清单 —— 列出端点里有哪些 Cluster
门锁示例

一把 Matter 门锁的 Endpoint 1 上通常有这些 Cluster:

  • DoorLock (0x0101) —— 核心功能:开锁、关锁、管理用户和凭据
  • PowerSource (0x002F) —— 电池信息:电量、充电状态
  • Identify (0x0003) —— 标识功能:让门锁闪灯或响铃,方便用户找到它

Attribute(属性)

Attribute 是 Cluster 里的状态信息,每个 Attribute 也有一个 ID。可以理解为设备仪表盘上的一个读数 —— 你可以去看它,有些还可以调整。

有些 Attribute 是只读的(比如锁当前的状态),有些可以写入(比如设置自动回锁时间)。

Attribute ID所属 Cluster名称含义
0x0DoorLockLockState门锁当前状态(锁了没有?)
0x23DoorLockAutoRelockTime自动回锁时间(开门后多久自动锁上?)
0xCPowerSourceBatPercentRemaining电池剩余电量(还剩多少电?)

Command(命令)

Command 是 Cluster 支持的操作,就像遥控器上的按钮 —— 按下去,设备就执行对应的动作。

Command ID所属 Cluster名称含义
0x0DoorLockLockDoor上锁(按下"锁门"按钮)
0x1DoorLockUnlockDoor解锁(按下"开门"按钮)
0x26DoorLockSetUser添加/修改用户(录入新住户信息)

完整示例:门锁的 Matter 数据结构

把上面的概念串起来,一个门锁设备的 Matter 数据结构长这样:

Node(门锁设备 —— 整栋大楼)
├── Endpoint 0(管理端点 —— 物业办公室)
│   ├── BasicInformation (0x0028)    → 厂商名、产品名、序列号
│   ├── Descriptor (0x001D)          → 列出本端点有哪些 Cluster
│   └── NetworkCommissioning (0x0031)→ WiFi/Thread 网络配置
│
└── Endpoint 1(功能端点 —— 住户房间)
    ├── DoorLock (0x0101)            → 门锁系统
    │   ├── Attribute 0x0: LockState     = 0x01(已锁定)
    │   ├── Attribute 0x23: AutoRelockTime = 30(30秒自动回锁)
    │   ├── Command 0x0: LockDoor         → 上锁
    │   └── Command 0x1: UnlockDoor       → 解锁
    │
    ├── PowerSource (0x002F)         → 供电系统
    │   ├── Attribute 0x0: Status        = 1(Active)
    │   └── Attribute 0xC: BatPercent    = 180(实际 90%)
    │
    └── Identify (0x0003)            → 定位系统
        └── Command 0x0: Identify        → 闪灯/响铃
读法

当有人说 "Endpoint 1 / Cluster 0x0101 / Attribute 0x0 的值是 0x01",翻译成人话就是:功能端点上的门锁模块,当前锁状态是"已锁定"

Device Type(设备类型)

Device Type 规定了一种设备必须支持哪些 Cluster。它就像一份资质清单。

比如 "DoorLock" 这个 Device Type 要求设备至少实现 DoorLock Cluster、Identify Cluster 等。 "Dimmable Light" 则要求实现 OnOff Cluster 和 LevelControl Cluster。

类比:就像酒店要被评为"五星级",就必须有健身房、泳池、24 小时前台等设施。设备要声称自己是"门锁"类型,就必须具备 Matter 规定的那些能力。

Fabric(信任域)

Fabric 是 Matter 网络中的信任域。同一个 Fabric 里的设备互相信任,可以直接通信和控制。

类比:公司内网。你的电脑连上公司 VPN 就在一个信任域里,可以访问内部服务。不在 VPN 里的人访问不了。

一个设备可以同时加入多个 Fabric。比如一个门锁可以同时被 Apple Home 和 Google Home 控制 —— 它在两个 Fabric 里各有一个身份。

Commissioner 与配网

把设备加入 Fabric 的过程叫做 Commissioning(配网)。执行这个操作的设备叫 Commissioner

配网流程简单来说:

  1. Commissioner(通常是手机 App)扫描设备的二维码或输入配对码
  2. 通过 PASE(Passcode-Authenticated Session Establishment)建立安全会话
  3. Commissioner 给设备分配证书(NOC),设备正式加入 Fabric
  4. 配网完成后,手机 App 或智能音箱作为 Controller 就可以读取 Attribute、发送 Command 来控制设备了
角色说明

Commissioner 是配网时的角色(负责把设备拉进来),Controller 是日常控制的角色。手机 App 通常同时扮演这两个角色。

ID 编号规范

Matter 中几乎所有东西都用十六进制 ID 标识。了解编号范围有助于你快速判断一个 ID 的含义。

类型ID 范围说明
标准 Cluster0x0000 ~ 0x7FFFCSA 官方定义,所有厂商统一使用
厂商自定义 Cluster0xFC00 ~ 0xFFFE厂商私有扩展,需搭配 VendorID 使用
标准 Attribute0x0000 ~ 0x4FFFCluster 内的标准属性
全局 Attribute0xFFF8 ~ 0xFFFE每个 Cluster 都有的公共属性(如 ClusterRevision)
标准 Command0x00 ~ 0xFFCluster 内的标准命令

常见 Cluster ID 速查

IDCluster用途
0x001DDescriptor描述端点包含的 Cluster 列表
0x0028BasicInformation设备基本信息(厂商、产品名、固件版本)
0x002FPowerSource电源/电池状态
0x0031NetworkCommissioning网络配置(WiFi/Thread)
0x0003Identify设备标识(闪灯/响铃)
0x0006OnOff开关控制
0x0008LevelControl亮度/级别控制
0x0101DoorLock门锁控制
0x0300ColorControl颜色控制(色温、HSV)
在哪查标准定义

Matter 完整规范由 CSA 发布,成员可在 csa-iot.org 下载。开源实现在 connectedhomeip 仓库,其中 src/app/zap-templates/zcl/data-model/chip/*.xml 包含所有标准 Cluster 定义。