可赚取佣金的发现
可调试发现发生在调试之前,是指发现和识别可调试节点的过程。可赚取佣金的节点可通过以下三种方法宣传自己:
- Bluetooth 低能耗 (BLE)
- Wi-Fi 软 AP
- IP 网络上的 DNS-SD,也称为现有的 IP 承载网络
无论采用哪种方法,可赚取佣金的节点都会宣传如表 1 所示的信息。
字段 | 长度 | 必需 |
---|---|---|
判别器 | 12 位 | 是 |
供应商 ID | 16 位 | 否 |
产品 ID | 16 位 | 否 |
扩展数据 | 变量 | 否 |
根据 Matter 规范,供应商 ID 和产品 ID 不是必需的,但可以包含。判别器是必需的,在调试过程中,如果同时连接了多个相同的设备,判别器对于配置正确的设备至关重要。扩展数据可用于编码自定义的特定于供应商的信息。
许多设备会在开机后短时间内(约 3-15 分钟)进行广播。其他设备也不得开始广播,因为它们的主要控制源不是来自功能区,或者因为锁等设备的自动未配置广播不安全。表 2 总结了这种行为。
主要设备功能 | 自动公告 |
---|---|
锁定和屏障访问设备 | 否 |
大多数控制源自面料。例如,开关或灯泡。 | 是 |
大多数控制功能并非源自面料。例如,洗碗机或冰箱。 | 否 |
蓝牙低功耗
在此广告模式下,专员将看到 BLE 广播。受委托方必须实现 Generic access profile (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 时,系统会通过临时 软接入点 (soft AP) 网络发现受委托方。网络的 SSID(网络名称)采用 MATTER-ddd-vvvv-pppp 格式,其中:
- ddd 是十六进制的 12 位判别器。
- vvvv 是十六进制的 16 位供应商 ID。
- pppp 是十六进制的 16 位产品 ID。
只要委托方连接到受托方,两者都会配置唯一的 IPv6 链路本地地址,从而在 Wi-Fi 层实现连接。此时,发现过程会继续进行,就像下一部分中介绍的 DNS-SD 方法一样。
此外,Wi-Fi 软件 AP 可以实现 IPv4 的 DHCP 和信息元素 (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 广播或创建 Soft AP。因此,所有辅助光纤网均通过此方法进行配置。
Thread 设备不直接使用 DNS-SD,而是使用 Thread 边界路由器提供的代理方法。此方法由 DNS-SD 服务注册协议及其广告代理定义。Thread 设备会在 SRP 服务中自行注册,该服务通常由 Thread 边界路由器提供。此服务可代表每个已注册的 Thread 节点处理 mDNS 流量,而不会因这些协议生成的额外流量而给 Thread 网络带来负担。
用于设备发现的 DNS-SD 实例名称为 _matterc._udp
,主机名由 48 位 MAC 地址或 64 位 MAC 扩展地址构建,以十六进制字符串表示,例如 A5F15790B0D15F32.local.
。一般来说,只有在被委托人可能获得佣金的情况下,才会宣传此记录。不过,即使未处于调试模式,它也可能会继续广播。该行为称为“扩展发现”。
发现服务后,系统会在 AAAA 记录中返回 IPv6 地址,并在 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。