定期搜索家长

在 GitHub 上查看源代码

如需允许 Thread 网络中的终端设备 (ED) 切换到比当前父设备更好的父设备(同时仍连接到网络),请启用“定期父设备搜索”功能。

为了确定候选父级是否更适合 ED,此功能会检查其各种属性,包括:

  • RSSI(接收信号强度指示器)
  • 链接质量
  • 候选父路由器的连接性
  • 候选父级的现有子级数量

这样可确保 ED 连接到尽可能好的父设备,而不是继续连接到链路质量或连接性较差的父设备。当向现有 Thread 网络添加新的网状扩展器时,此功能特别有用。

运作方式

  1. ED 会根据配置的检查间隔 (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL) 检查当前父节点的平均 RSSI 值。
  2. 如果 ED 当前父级的平均 RSSI 值低于配置的阈值 (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD),则会启动父级搜索:
    1. 如果父搜索发现更好的父级,ED 会解除其当前的子级-父级链接,并启动与新父级的 MLE 附加流程。
    2. 如果父级搜索未发现更好的父级,则现有的子级-父级链接保持不变。
  3. 在父级搜索尝试之后,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
默认值
540 秒(9 分钟)
说明
指定子设备检查触发条件以执行父设备搜索的间隔(以秒为单位)。
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
默认值
36000 秒(10 小时)
说明
指定子级在触发父级搜索后不执行父级搜索的暂停间隔(以秒为单位)。
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
默认值
-65
说明
指定用于触发父级搜索的 RSSI 阈值。

API

此功能没有公共 API。

CLI

没有与此功能相关的 CLI 命令。