定期家長搜尋

前往 GitHub 查看原始碼

為了讓 Thread 網路中的裝置 (EDs) 切換至比目前路由器更合適的父項路由器 (同時仍連接至網路),請啟用定期父項搜尋功能。

這項功能會檢查各種路由器屬性,以判斷路由器是否為 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 中使用以下參數自訂這項功能:

參數
OPENNON_CONFIG_PARENT_SEARCH_Check_INTERVAL
預設值
540 秒 (9 分鐘)
說明
指定子項的間隔時間 (以秒為單位),讓孩子檢查觸發條件以執行父項搜尋。
OPENNON_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
預設值
36000 秒 (10 小時)
說明
指定子項在觸發觸發搜尋後無法執行父項搜尋的輪詢間隔時間 (以秒為單位)。
OPENNON_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
預設值
-65
說明
指定用於觸發家長搜尋的 RSSI 閾值。

API

這項功能沒有任何公開 API。

CLI

沒有與這項功能相關的 CLI 指令。