佣金和可操作性发现

可调试发现

可调试发现发生在调试之前,是指发现和识别可调试节点的过程。可调试节点可以通过以下三种方法宣传自己:

无论采用哪种方法,可调试节点都会宣传 表 1中所示的信息。

表 1:可调试节点的通告
字段 长度 必需
判别器 12 位
供应商 ID 16 位
产品 ID 16 位
扩展数据 变量

根据 Matter 规范,供应商 ID产品 ID 不是必需的,但可以包含在内。判别器 是必需的,在调试过程中至关重要,用于在同时连接多个相同设备的情况下预配正确的设备。扩展数据 可用于对供应商特定的自定义信息进行编码。

许多设备会在开机后短时间内(约 3-15 分钟)进行宣传。其他设备不得开始通告,原因可能是其主要控制器并非源自 Fabric,或者锁等设备的自动未预配通告不安全。表 2 总结了 此行为。

表 2:按设备类型通告未预配的设备
主要设备功能 自动通知
锁和屏障访问设备
大多数控制源自 Fabric。例如,开关或灯泡。
大多数控制并非源自 Fabric。例如,洗碗机 或冰箱。

低功耗蓝牙

在此宣传模式下,调试器将看到 BLE 宣传。被调试设备必须实现通用访问配置文件 (GAP) 外围接口,并定期宣传其未调试状态。在设备开启后的前 30 秒内,宣传频率必须很高,间隔为 20 到 60 毫秒。

30 秒后,设备必须以低频率宣传,间隔为 150 到 1500 毫秒。当调试到其第一个 Fabric 时,设备必须停止其 BLE 宣传。

调试器无需发出扫描请求。它应该对三个 BLE 宣传通道执行被动扫描:37 (2402 MHz)、38 (2426 MHz) 和 39 (2480 MHz)。这些通道是从频谱中与 Wi-Fi 通道重叠最少的区域中选择的,可最大限度地减少跨无线电干扰。

BLE 不用于操作发现。

Wi-Fi 软 AP

使用 Wi-Fi 软 AP 时,被调试设备将通过临时软接入点 (soft 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) 管理帧中的可变长度字段,允许将自定义信息传递给其他系统。

在调试器扫描期间,应优先使用 Wi-Fi 通道 1、6 和 11,但必须扫描本地频谱法规允许的所有通道。

Wi-Fi 软 AP 不用于操作发现。

DNS-SD

在这种情况下,被调试设备将通过其域名服务 - 服务发现 (DNS-SD) 通告发现,其中包含有关节点提供的服务的信息。如需详细了解 DNS-SD,请参阅 RFC 6762。在以下情况下,这是一种常见的设备发现方法:

  • 被调试设备已连接到以太网,因此可以物理访问未加密的网络介质。
  • 被调试设备已通过任何带外方式加入 Wi-Fi 或 Thread 网络 。
  • 被调试设备已调试到另一个 Fabric,并且已加入 Wi-Fi/Thread 网络。在这种情况下,被调试设备无法使用 BLE 宣传或创建软 AP。因此,所有辅助 Fabric 都是通过此方法预配的。

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。