如需允许 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 值。无论父搜索的结果如何,此退避操作都会发生。
我们建议结合此功能使用在重新附加上告知上级父级功能。
启用方式
默认情况下,此功能处于停用状态。
如需启用定期父级搜索,请在构建 OpenThread 之前,在 /src/core/config/parent_search.h
文件中将 OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
定义为 1
:
#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 命令。