定期搜索父级

在 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 值。无论父搜索的结果如何,此退避操作都会发生。

我们建议结合此功能使用在重新附加上告知上级父级功能。

启用方式

默认情况下,此功能处于停用状态。

如需启用定期父级搜索,请在构建 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
默认值
540 秒(9 分钟)
说明
指定子项检查触发条件以执行父项搜索的时间间隔(以秒为单位)。
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
默认值
36000 秒(10 小时)
说明
指定退避间隔时间(以秒为单位),以免子节点在触发后执行搜索。
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
默认值
-65
说明
指定用于触发父级搜索的 RSSI 阈值。

API

此功能没有公共 API。

CLI

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