可佣金发现
可调试发现发生在调试之前,是指发现和识别可调试节点的过程。可调试节点可以通过三种方法通告自身:
- Bluetooth 低功耗 (BLE)
- Wi-Fi 软 AP
- IP 网络上的 DNS-SD,也称为现有 IP 承载网络
无论采用哪种方法,可调试节点都会通告表 1 中所示的信息。
| 字段 | 长度 | 必填 |
|---|---|---|
| 判别器 | 12 位 | 是 |
| 供应商 ID | 16 位 | 否 |
| 产品 ID | 16 位 | 否 |
| 扩展数据 | 变量 | 否 |
根据 Matter 规范,供应商 ID 和产品 ID 不是必需的,但可以包含。鉴别器是必需的,在配置过程中至关重要,用于在同时连接多个相同设备时配置正确的设备。扩展数据可用于对供应商特定的自定义信息进行编码。
许多设备会在开机后的一小段时间(约 3-15 分钟)内进行通告。其他设备也不得开始通告,因为它们的主要控制并非源自 Fabric,或者因为门锁等设备的自动未配置通告不安全。表 2 总结了此行为。
| 主要设备功能 | 自动播报 |
|---|---|
| 锁和道闸门禁设备 | 否 |
| 大多数控制功能都源自 Fabric。例如,开关或灯泡。 | 是 |
| 大多数控制功能并非源自 Fabric。例如,洗碗机或冰箱。 | 否 |
蓝牙低功耗
在此通告模式下,Commissioner 将看到 BLE 通告。被委托者必须实现通用访问配置文件 (GAP) 外围接口,并定期通告其未委托状态。在设备开启后的前 30 秒内,通告频率必须很高,间隔为 20 到 60 毫秒。
30 秒后,设备必须以低频率(150 到 1500 毫秒的间隔)进行通告。当设备被委托给其第一个 Fabric 时,必须停止其 BLE 通告。
Commissioner 无需发出扫描请求。它应该在三个 BLE 广播频道上执行被动扫描:37 (2402 MHz)、38 (2426 MHz) 和 39 (2480 MHz)。这些信道是从频谱中与 Wi-Fi 信道重叠最少的区域中挑选出来的,可最大限度地减少跨无线电干扰。
BLE 不用于操作发现。
Wi-Fi 软 AP
使用 Wi-Fi 软 AP 时,系统会通过临时软接入点(软 AP)网络发现被佣金方。网络的 SSID(网络名称)采用 MATTER-ddd-vvvv-pppp 格式,其中:
- ddd 是 12 位鉴别器(十六进制)。
- vvvv 是 16 位十六进制供应商 ID。
- pppp 是十六进制的 16 位商品 ID。
每当配网器连接到被配网设备时,两者都会配置唯一的 IPv6 链路本地地址,从而在 Wi-Fi 层建立连接。此时,发现过程会继续进行,就像下一部分介绍的 DNS-SD 方法一样。
此外,Wi-Fi 软 AP 可能会实现 DHCP for IPv4 和信息元素 (IE),以公开供应商专用附加信息。IE 是 802.11 (Wi-Fi) 管理帧中的一个可变长度字段,可用于将自定义信息传输到其他系统。
在 Commissioner 扫描期间,应优先选择 Wi-Fi 信道 1、6 和 11,但必须扫描当地频谱法规允许的所有信道。
Wi-Fi 软 AP 不用于操作发现。
DNS-SD
在这种情况下,被委托人将通过其域名服务 - 服务发现 (DNS-SD) 通告被发现,这些通告包含有关节点所提供服务的信息。如需详细了解 DNS-SD,请参阅 RFC 6762。在以下情况下,这是一种常见的设备发现方法:
- 被委托方已连接到以太网,因此可以物理访问未加密的网络介质。
- 被委托人已通过任何带外方式加入 Wi-Fi 或 Thread 网络。
- 被调试设备已调试到另一个结构,并已加入 Wi-Fi/Thread 网络。在这种情况下,被配网设备无法使用 BLE 通告或创建软 AP。因此,所有辅助 Fabric 都是通过此方法预配的。
Thread 设备不直接使用 DNS-SD,而是使用 Thread Border Router (TBR) 提供的代理方法。此方法由 DNS-SD 服务注册协议及其通告代理定义。Thread 设备会在通常由 TBR 提供的 SRP 服务中自行注册。此服务代表每个已注册的 Thread 节点处理 mDNS 流量,而不会因这些协议产生的额外流量而给 Thread 网络带来负担。
用于设备发现的 DNS-SD 实例名称为 _matterc._udp,主机名由 48 位 MAC 地址或 64 位 MAC 扩展地址构建,表示为十六进制字符串,例如 A5F15790B0D15F32.local.。通常,只有在受托人可能受托时,才会通告此记录。不过,即使未处于调试模式,它也可能会继续广播。这种行为称为扩展发现。
发现后,IPv6 地址会在 AAAA 记录中返回,键值对会在 DNS-SD TXT 记录中返回。键值对包含鉴别器、供应商 ID 和产品 ID 等信息。该节点还会通告调试子类型,以便过滤结果,仅查找与特定属性匹配的被调试设备。
运营发现
操作发现是指发现和识别已调试节点的过程。操作发现仅通过基于 IP 的 DNS-SD 方法进行。节点实例名称将由 64 位压缩 Fabric ID 和 64 位节点 ID 组成。然后,这些十六进制 ID 会通过连字符连接在一起,例如 2906C908D115D362-8FC7772401CD0696.local.。操作发现与 DNS-SD 设备发现共享相同的目标主机名。
DNS-SD 服务类型为 _matter._tcp。虽然使用了 _tcp 命名,但设备可能会使用其他传输协议,例如 UDP。