给佣探索
可调试发现发生在调试之前,是指发现和识别可调试节点的过程。佣金节点可通过以下三种方法自行进行通告:
- Bluetooth 低功耗 (BLE)
- WLAN 软 AP
- IP 网络上的 DNS-SD,也称为现有的 IP 承载网络
无论采用哪种方法,可佣金节点都会通告信息,如表 1 所示。
字段 | 时长 | 必需 |
---|---|---|
判别器 | 12 位 | 是 |
供应商 ID | 16 位 | 不支持 |
产品 ID | 16 位 | 不支持 |
扩展数据 | 变量 | 不支持 |
根据 Matter 规范,供应商 ID 和产品 ID 不是必需的,但可以包含在其中。如果同时连接了多个相同的设备,必须使用判别器,并且在调试过程中配置正确的设备至关重要。扩展数据可用于对自定义供应商专用信息进行编码。
许多设备会在开机后的短时间内(约 3-15 分钟)通告。其他设备不得开始通告,因为其主要控件并非来自结构脉络,或者设备(如锁)的自动未配置通告并不安全。表 2 总结了此行为。
主要设备功能 | 自动播报 |
---|---|
锁和屏障访问设备 | 不支持 |
大多数控制来自结构。例如,开关或灯泡。 | 是 |
大多数控件并非来自结构体。例如,洗碗机或冰箱。 | 不支持 |
蓝牙低功耗
在这种通告模式中,调试器将看到 BLE 广告。委员会必须实现通用访问配置文件 (GAP) 外设接口,并定期通告其未调试状态。在设备开启后的前 30 秒内,通告频率必须较高,间隔为 20 到 60 毫秒。
30 秒后,设备必须以 150 到 1500 毫秒的时间间隔,以较低的频率通告广告。在调试到其第一个架构时,设备必须停止其 BLE 通告。
调试器不需要发出扫描请求。它应在以下三个 BLE 通告信道上进行无源扫描:37 (2402 MHz)、38 (2426 MHz) 和 39 (2480 MHz)。这些信道是从频谱中的区域挑选出来的,与 Wi-Fi 信道的重叠最少,从而最大限度地减少跨无线电干扰。
BLE 不用于操作发现。
Wi-Fi 软 AP
使用 Wi-Fi 软 AP 时,可通过临时软接入点(软 AP)网络发现 Commissionee。网络的 SSID(网络名称)采用 MATTER-ddd-vvvv-pppp 格式,其中:
- ddd 是十六进制的 12 位判别器。
- vvvv 是十六进制格式的 16 位供应商 ID。
- pppp 是 16 位产品 ID(采用十六进制格式)。
每当调试器连接到 Commissionee 时,两者都会配置唯一的 IPv6 链路本地地址,从而在 Wi-Fi 层启用连接。此时,发现会继续进行,如下一部分中介绍的 DNS-SD 方法相同。
此外,Wi-Fi 软 AP 可能会为 IPv4 实现 DHCP 和信息元素 (IE),以公开特定于供应商的其他信息。IE 是 802.11 (Wi-Fi) 管理帧内的一个可变长度字段,允许将自定义信息传输到其他系统。
Wi-Fi 信道 1、6 和 11 在调试器扫描期间应优先,但必须扫描本地频谱法规允许的所有信道。
Wi-Fi 软 AP 不用于操作发现。
DNS-SD
在这种情况下, Commissionee 将通过其域名服务 - 服务发现 (DNS-SD) 通告发现,其中包含节点所呈现服务的相关信息。如需详细了解 DNS-SD,请参阅 RFC 6762。在以下情况下,这是一种常见的设备发现方法:
- Commissionee 连接到以太网,因此可以物理访问未加密网络媒介。
- Commissionee 已通过任何带外方式加入 Wi-Fi 或 Thread 网络。
- Commissionee 已针对另一个结构进行调试,并且已加入 Wi-Fi/Thread 网络。在这种情况下, Commissionee 无法使用 BLE 通告,也无法创建软 AP。因此,所有辅助结构都是通过此方法预配的。
Thread 设备不直接使用 DNS-SD,而是使用 Thread 边界路由器提供的代理方法。此方法由 DNS-SD 服务注册协议及其广告代理定义。Thread 设备会在通常由 Thread 边界路由器提供的 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。