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 连接能力,非常适合“尚未入网”的初始状态。

Matter Commissioning 流程与 BLE 职责边界 Commissioner 手机 App / 生态中枢 扫描二维码 / 手动码 获取 Setup Passcode 建立 BLE 连接 GATT 服务发现 PASE 会话建立 Passcode 认证 下发网络凭证 Wi-Fi / Thread 数据集 CASE 会话建立 BLE 通道 带外引导(Out-of-Band) BLE 广播 Matter 服务 UUID GATT 连接 C1~C5 特征值 PASE 消息 加密传输 网络凭证传输 SSID / 密码 / 数据集 BLE 断开 Matter 设备 待配网节点 BLE 广播开启 等待连接 GATT 服务就绪 C1~C5 特征值 PASE 响应 Passcode 验证 加入网络 Wi-Fi / Thread 入网 CASE 就绪 配网完成后:Wi-Fi / Thread / Ethernet 承载 Matter 应用层通信 图例 Commissioner 侧 BLE 传输通道 Matter 设备侧 Wi-Fi 承载 Thread 承载

配网流程概览:从广播到 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 就应该退出,避免占用射频资源和增加功耗。

在实际开发中,一个常见的误区是:设备入网成功后仍然保持 BLE 广播,导致手机反复扫描到该设备并尝试重新配网。正确的做法是在 CASE 会话建立后,主动关闭 BLE 广播并断开 GATT 连接,同时将配网状态标记为“已完成”,避免重复配网。

典型智能家居设备配网场景

以一款 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 连接释放 未主动断开、重复配网