定期家長搜尋

在 GitHub 上查看來源

如要允許 Thread 網路中的終端裝置 (ED) 切換至比目前更好的父項,同時仍連線至網路,請啟用「週期性父項搜尋」功能。

為判斷候選父項是否更適合 ED,這項功能會檢查候選父項的各種屬性,包括:

  • RSSI (接收訊號強度指標)
  • 連結品質
  • 候選父項與其他 Mesh 擴充器的連線狀態
  • 候選家長現有的孩子人數

這可確保 ED 連線至最佳的父項,而不是繼續連線至連結品質或連線能力不佳的父項。如果現有的 Thread 網路新增了 Mesh 擴充器,這項功能就特別實用。

運作方式

  1. ED 會根據設定的檢查間隔 (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL),檢查目前父項的平均 RSSI 值。
  2. 如果 ED 目前父項的平均 RSSI 值低於設定的門檻 (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD),系統會啟動父項搜尋:
    1. 如果父項搜尋發現更合適的父項,ED 會解除目前的子項與父項連結,並啟動與新父項的 MLE Attach 程序。
    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 指令。