如需允许 Thread 网络中的终端设备 (ED) 切换到比当前父设备更好的父设备(同时仍连接到网络),请启用“定期父设备搜索”功能。
为了确定候选父级是否更适合 ED,此功能会检查其各种属性,包括:
- RSSI(接收信号强度指示器)
- 链接质量
- 候选父路由器的连接性
- 候选父级的现有子级数量
这样可确保 ED 连接到尽可能好的父设备,而不是继续连接到链路质量或连接性较差的父设备。当向现有 Thread 网络添加新的网状扩展器时,此功能特别有用。
运作方式
- ED 会根据配置的检查间隔 (
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL) 检查当前父节点的平均 RSSI 值。 - 如果 ED 当前父级的平均 RSSI 值低于配置的阈值 (
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD),则会启动父级搜索:- 如果父搜索发现更好的父级,ED 会解除其当前的子级-父级链接,并启动与新父级的 MLE 附加流程。
- 如果父级搜索未发现更好的父级,则现有的子级-父级链接保持不变。
- 在父级搜索尝试之后,ED 会等待,以便根据配置的退避间隔 (
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL) 检查当前父级的平均 RSSI 值。无论父级搜索的结果如何,都会发生此退避。
我们建议您将此功能与在重新附加时通知之前的父级功能搭配使用。
启用方式
此功能默认处于停用状态。
如需启用周期性父级搜索,请在/src/core/config/parent_search.h 文件中将 OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 定义为 1,然后再构建 OpenThread:
#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif
参数
在 /src/core/config/parent_search.h 中使用以下参数可自定义此功能:
| 参数 | |||||
|---|---|---|---|---|---|
| OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL |
|
||||
| OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL |
|
||||
| OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD |
|
||||
API
此功能没有公共 API。
CLI
没有与此功能相关的 CLI 命令。