為了讓 Thread 網路中的裝置 (EDs) 切換至比目前路由器更合適的父項路由器 (同時仍連接至網路),請啟用定期父項搜尋功能。
這項功能會檢查各種路由器屬性,以判斷路由器是否為 ED 的父項。
- RSSI (接收訊號強度指標)
- 連結品質
- 路由器和其他路由器的連線
- 路由器的現有子項數
如此可確保 ED 可連線到最佳路由器,而非保持連結品質或連線品質不佳的路由器。在現有的 Thread 網路中新增路由器時,這項功能特別實用。
運作方式
- ED 會根據設定的檢查時間間隔 (
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
),檢查目前父項路由器的平均 RSSI 值。 - 如果 ED 目前父項路由器的平均 RSSI 值低於設定的門檻 (
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
),系統就會啟動父項搜尋:- 如果父項搜尋發現更好的父項路由器,ED 會解析現有的子項父項連結,並使用新的路由器啟動 MLE 附加程序。
- 如果父項搜尋沒有找到更好的父項路由器,則現有的父項連結仍會保留。
- 父項搜尋嘗試之後,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 |
|
||||
OPENNON_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL |
|
||||
OPENNON_CONFIG_PARENT_SEARCH_RSS_THRESHOLD |
|
API
這項功能沒有任何公開 API。
CLI
沒有與這項功能相關的 CLI 指令。