1. Matter配网全景与BLE角色定位
在智能家居设备开发中,配网是设备从“出厂裸机”进入“可被生态控制”状态的第一道门槛。Matter 作为应用层统一标准,把配网过程抽象为一套可互操作的 Commissioning 流程,而 BLE 在其中承担的是“带外引导通道”的角色。理解 Matter 标准架构、配网流程概览以及 BLE 的职责边界,是后续所有配网代码、调试与排障工作的基础。
Matter 标准架构中的配网位置
Matter 标准采用分层架构,自下而上大致分为:底层网络承载(Wi-Fi、Thread、Ethernet)、IP 层、传输层(TCP/UDP)、交互模型(Interaction Model)、数据模型(Data Model)以及应用集群(Clusters)。配网并不属于某一个集群,而是横跨传输层与交互模型的一套“设备入网与身份建立”机制。
在 Matter 规范中,配网被称为 Commissioning,其核心目标有三个:第一,让 Commissioner(配网器,通常是手机 App 或生态中枢)发现待配网设备;第二,安全地把设备的网络凭证(Wi-Fi SSID/密码或 Thread 数据集)和操作凭证(Operational Certificate)写入设备;第三,让设备加入目标 Fabric,成为该生态可寻址、可控制的节点。
值得注意的是,Matter 规范并没有强制规定“必须用 BLE 配网”。Commissioning 的传输通道可以是 BLE、Wi-Fi SoftAP,甚至是有线以太网。BLE 之所以成为最主流的方案,是因为它功耗低、手机原生支持、无需设备提前具备 IP 连接能力,非常适合“尚未入网”的初始状态。
配网流程概览:从广播到 CASE
Matter 配网流程可以概括为五个阶段,每个阶段都有明确的输入、输出和判断依据。
第一阶段:发现与连接。设备上电后,若尚未加入任何 Fabric,会启动 BLE 广播,广播中包含 Matter 服务 UUID(0xFFF6)以及设备判别信息。Commissioner 扫描到该广播后,发起 GATT 连接,并发现 Matter 定义的 GATT 服务。该服务包含五个特征值:C1(PASE 会话建立)、C2(PASE 会话确认)、C3(设备信息)、C4(网络凭证下发)、C5(附加信息)。
第二阶段:PASE 会话建立。PASE(Passcode-Authenticated Session Establishment)是配网阶段的安全会话协议。Commissioner 使用设备标签上的 Setup Passcode(通常为 8 位数字,如 20202021)与设备完成基于 SPAKE2+ 的密钥协商。协商成功后,双方建立加密通道,后续所有配网消息都在该通道内传输。这一步是 BLE 配网安全性的核心,Passcode 错误会导致会话建立失败,设备通常会限制重试次数。
第三阶段:设备信息获取与网络凭证下发。Commissioner 通过 PASE 会话读取设备的基本信息(厂商、产品 ID、序列号等),然后根据设备类型下发对应的网络凭证。对于 Wi-Fi 设备,下发 SSID 和密码;对于 Thread 设备,下发 Thread 数据集(包含网络密钥、PAN ID、信道等)。设备收到凭证后尝试入网,并通过 BLE 通道回报入网结果。
第四阶段:操作凭证与 Fabric 加入。设备入网成功后,Commissioner 通过 PASE 会话下发 Operational Certificate,并完成 Fabric 的加入。此时设备已经具备 IP 连接能力,可以建立 CASE(Certificate-Authenticated Session Establishment)会话。
第五阶段:BLE 断开与 CASE 接管。当 CASE 会话成功建立后,BLE 通道的使命完成,设备会主动断开 BLE 连接,后续所有控制、状态上报都通过 Wi-Fi/Thread 承载的 Matter 应用层协议进行。此时设备正式成为生态中的一个可操作节点。
BLE 在 Commissioning 中的职责边界
理解 BLE 的职责边界,关键在于区分“BLE 做什么”和“BLE 不做什么”。
BLE 在配网中只负责三件事:第一,提供设备发现机制,让 Commissioner 知道附近有可配网设备;第二,承载 PASE 会话,完成 Passcode 认证和加密通道建立;第三,传输网络凭证和操作凭证,帮助设备完成入网和 Fabric 加入。
BLE 不负责以下事情:不负责 Matter 应用层的数据模型交互,不负责设备控制指令的传输,不负责状态上报,也不负责固件升级。这些都属于 CASE 会话建立之后、由 IP 承载的 Matter 交互模型范畴。换句话说,BLE 是“配网专用通道”,一旦设备入网成功,BLE 就应该退出,避免占用射频资源和增加功耗。
典型智能家居设备配网场景
以一款 Wi-Fi 智能灯泡为例,其配网过程如下:灯泡上电后,若未配网,则启动 BLE 广播,广播名通常包含产品型号和短地址。用户打开手机 App,扫描灯泡上的二维码,获取 Setup Passcode 和 Discriminator。App 通过 BLE 连接灯泡,建立 PASE 会话,读取灯泡信息,然后下发家庭 Wi-Fi 的 SSID 和密码。灯泡尝试连接 Wi-Fi,成功后通过 BLE 回报 IP 地址。App 继续下发 Operational Certificate,灯泡加入 Fabric,建立 CASE 会话。最后,灯泡关闭 BLE 广播,App 通过 Wi-Fi 控制灯泡开关和亮度。
对于 Thread 设备(如传感器、门锁),流程类似,但网络凭证换成了 Thread 数据集。Thread 设备通常通过 Thread Border Router 入网,BLE 仍然负责配网阶段的凭证传输。需要注意的是,Thread 设备的配网对信道和网络密钥更敏感,如果数据集错误,设备会入网失败并通过 BLE 回报错误码,开发者需要根据错误码判断是凭证问题还是射频环境问题。
配网状态与判断依据
在开发过程中,可以通过以下状态判断配网进展:BLE 广播是否开启、GATT 连接是否建立、PASE 会话是否成功、网络凭证是否下发、设备是否入网、CASE 会话是否建立。每个状态都有对应的日志或回调,开发者应重点关注 PASE 会话建立失败(通常是 Passcode 错误)和入网失败(通常是凭证错误或信号问题)这两类异常。
| 阶段 | 关键动作 | 成功标志 | 常见异常 |
|---|---|---|---|
| 发现与连接 | BLE 广播、GATT 连接 | 发现 Matter 服务 UUID | 广播未开启、信号弱 |
| PASE 会话 | Passcode 认证、密钥协商 | 加密通道建立 | Passcode 错误、重试超限 |
| 凭证下发 | 下发 SSID/密码或 Thread 数据集 | 设备回报入网成功 | 凭证错误、信道不匹配 |
| Fabric 加入 | 下发 Operational Certificate | CASE 会话建立 | 证书无效、Fabric 冲突 |
| BLE 断开 | 关闭广播、断开 GATT | BLE 连接释放 | 未主动断开、重复配网 |