如要允許 Thread 網路中的終端裝置 (ED) 切換至比目前更好的父項,同時仍連線至網路,請啟用「週期性父項搜尋」功能。
為判斷候選父項是否更適合 ED,這項功能會檢查候選父項的各種屬性,包括:
- RSSI (接收訊號強度指標)
- 連結品質
- 候選父項與其他 Mesh 擴充器的連線狀態
- 候選家長現有的孩子人數
這可確保 ED 連線至最佳的父項,而不是繼續連線至連結品質或連線能力不佳的父項。如果現有的 Thread 網路新增了 Mesh 擴充器,這項功能就特別實用。
運作方式
- ED 會根據設定的檢查間隔 (
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL),檢查目前父項的平均 RSSI 值。 - 如果 ED 目前父項的平均 RSSI 值低於設定的門檻 (
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD),系統會啟動父項搜尋:- 如果父項搜尋發現更合適的父項,ED 會解除目前的子項與父項連結,並啟動與新父項的 MLE Attach 程序。
- 如果上層搜尋作業未發現更合適的上層,系統會保留現有的子項與上層連結。
- 在父項搜尋嘗試後,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 |
|
||||
| OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL |
|
||||
| OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD |
|
||||
API
這項功能沒有公用 API。
CLI
這項功能沒有相關的 CLI 指令。