4. Matter设备发现与配网测试
Matter设备的接入过程可以拆成两个既独立又衔接的阶段:发现(Discovery)与配网(Commissioning)。发现解决的是“控制器如何知道附近有一台可加入的Matter设备”,配网解决的是“如何把设备安全地拉入某个Fabric,并让它获得可用的网络连接”。测试工作的核心,就是验证这两段链路在各种真实条件下都能正确完成,并且在异常时给出可判读的失败原因。
发现流程:从二维码到可连接状态
Matter定义了多种发现方式,测试中最常接触的是三类:二维码/手动配对码发现、BLE广告发现、以及基于IP网络的DNS-SD发现(用于已入网设备的再发现与多管理员场景)。
设备出厂时携带一组配网信息,通常以二维码形式印在机身或包装上,二维码内容包含Vendor ID、Product ID、配网流程类型、发现能力位图(Discovery Capabilities)以及一个配对码(Passcode)。配对码是一个11位十进制数,不能为全0或特定保留值,它参与后续的SPAKE2+密钥协商。手动配对码就是把这串数字人工输入控制器,用于二维码磨损或无法扫描的场景。
发现能力位图决定了设备在未入网时通过什么方式被找到。常见组合是“BLE + IP”或“仅BLE”。如果设备声明支持BLE发现,它会在未配网状态下持续发送BLE广播,广播中携带判别符(Discriminator)和Vendor ID/Product ID,控制器据此筛选出目标设备并发起BLE连接。
BLE配网:PASE会话与凭据下发
BLE配网是当前最主流的首次接入方式。控制器扫描到目标设备后,通过BLE建立连接,随后在应用层建立PASE(Passcode-Authenticated Session Establishment)会话。PASE基于SPAKE2+协议,用配对码作为共享秘密,双方在不直接传输配对码的前提下协商出会话密钥。这一步是安全边界:配对码错误,PASE就无法完成,后续所有配网指令都会被拒绝。
PASE建立后,控制器通过Commissioning Channel下发网络凭据。如果是Wi-Fi设备,控制器发送SSID和密码;如果是Thread设备,控制器发送Thread网络密钥、PAN ID、信道等参数。设备拿到凭据后尝试入网,成功后通过Operational Discovery(基于mDNS/DNS-SD)向控制器宣告自己的IPv6地址和操作端口,控制器再建立CASE会话完成Fabric加入。
测试时建议按以下顺序验证BLE配网:
- 确认设备处于未配网状态,BLE广播可见,Discriminator与二维码一致。
- 用控制器扫描并选中设备,观察PASE是否在预期时间内建立。
- 下发Wi-Fi或Thread凭据,观察设备是否成功入网并上报IP。
- 检查Fabric加入是否完成,设备是否出现在控制器的已配网列表中。
Wi-Fi与Thread配网的差异
Wi-Fi配网的失败点集中在凭据错误和信号质量。如果SSID或密码错误,设备会反复尝试关联但无法获得IP,控制器侧表现为配网超时。测试时应故意输入错误密码,确认控制器能给出明确的失败提示,而不是无限等待。
Thread配网的失败点更多在网络参数不匹配。Thread设备需要正确的网络密钥、PAN ID和信道才能加入Thread网络。如果密钥错误,设备会加入失败并可能触发重试。测试时应验证:错误密钥下设备是否在合理时间内报错;正确密钥下设备是否能通过Thread Border Router获得全局IPv6地址并完成Operational Discovery。
二维码与手动配对码的测试要点
二维码和手动配对码本质上是同一组配网信息的两种载体。测试时需要覆盖:
- 二维码可扫描性:在不同光照、角度、磨损程度下能否被控制器正确解析。
- 手动配对码输入:11位数字是否完整、是否有校验位、输入错误时控制器是否拒绝。
- 配对码与设备匹配:用A设备的配对码去配B设备,PASE应失败。
- 配对码保留值:确认设备未使用全0等非法配对码。
发现流程与失败场景验证
发现阶段的失败往往比配网阶段更难定位,因为设备可能根本没有进入可发现状态。常见失败场景包括:
| 失败场景 | 现象 | 验证方法 |
|---|---|---|
| BLE广播不可见 | 控制器扫描不到设备 | 用BLE扫描工具确认广播是否存在,检查设备是否已入网 |
| Discriminator不匹配 | 扫描到设备但无法选中 | 核对二维码中的Discriminator与广播值 |
| PASE超时 | 连接后无响应 | 检查配对码是否正确,观察控制器日志中的PASE错误码 |
| Wi-Fi凭据错误 | 配网超时,设备未入网 | 故意输入错误密码,确认控制器能报错并允许重试 |
| Thread加入失败 | 设备无法获得IPv6地址 | 检查Thread网络密钥、PAN ID、信道是否与Border Router一致 |
| Operational Discovery失败 | 设备已入网但控制器找不到 | 用mDNS工具查询设备服务,检查防火墙和IPv6配置 |
完成一轮完整的发现与配网测试后,应至少记录以下信息:设备型号与固件版本、配网方式(BLE/Wi-Fi/Thread)、二维码或配对码来源、发现耗时、PASE建立耗时、凭据下发耗时、Fabric加入耗时、最终状态(成功/失败)、失败时的错误码与日志片段。这些数据是后续互操作测试和问题定位的基础。