หากต้องการอนุญาตให้อุปกรณ์ปลายทาง (ED) ในเครือข่าย Thread เปลี่ยนไปใช้เราเตอร์หลักที่ดีกว่าเราเตอร์หลักปัจจุบันในขณะที่ยังคงเชื่อมต่อกับเครือข่ายอยู่ ให้เปิดใช้ฟีเจอร์การค้นหาเราเตอร์หลักเป็นระยะ
ฟีเจอร์นี้จะตรวจสอบแอตทริบิวต์ต่างๆ ของเราเตอร์หลักที่เป็นตัวเลือก ซึ่งรวมถึงแอตทริบิวต์ต่อไปนี้ เพื่อพิจารณาว่าเราเตอร์หลักที่เป็นตัวเลือกนั้นดีกว่าสำหรับ ED หรือไม่
- RSSI (ตัวบ่งชี้ความแรงของสัญญาณที่ได้รับ)
- คุณภาพลิงก์
- ความสามารถในการเชื่อมต่อของเราเตอร์หลักที่เป็นตัวเลือกกับ Mesh Extender อื่นๆ
- จำนวนอุปกรณ์ย่อยที่มีอยู่สำหรับเราเตอร์หลักที่เป็นตัวเลือก
ซึ่งจะช่วยให้ ED เชื่อมต่อกับเราเตอร์หลักที่ดีที่สุดเท่าที่จะเป็นไปได้แทนที่จะยังคงเชื่อมต่อกับเราเตอร์หลักที่มีคุณภาพลิงก์หรือความสามารถในการเชื่อมต่อไม่ดี ฟีเจอร์นี้มีประโยชน์อย่างยิ่งเมื่อมีการเพิ่ม Mesh Extender ใหม่ลงในเครือข่าย Thread ที่มีอยู่
วิธีการทำงาน
- ED จะตรวจสอบค่า RSSI เฉลี่ยสำหรับเราเตอร์หลักปัจจุบัน
ตามช่วงเวลาการตรวจสอบที่กำหนดค่าไว้
(
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL) - หากค่า RSSI เฉลี่ยสำหรับเราเตอร์หลักปัจจุบันของ ED ต่ำกว่า
เกณฑ์ที่กำหนดค่าไว้
(
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD) ระบบจะเริ่มการค้นหาเราเตอร์หลัก โดยมีขั้นตอนดังนี้:- หากการค้นหาเราเตอร์หลักพบเราเตอร์หลักที่ดีกว่า ED จะยกเลิก ลิงก์อุปกรณ์ย่อยกับเราเตอร์หลักปัจจุบันและเริ่มกระบวนการ MLE Attach กับเราเตอร์หลักใหม่
- หากการค้นหาเราเตอร์หลักไม่พบเราเตอร์หลักที่ดีกว่า ลิงก์อุปกรณ์ย่อยกับเราเตอร์หลักที่มีอยู่จะยังคงอยู่
- หลังจากพยายามค้นหาเราเตอร์หลักแล้ว ED จะรอตรวจสอบค่า RSSI
เฉลี่ยสำหรับเราเตอร์หลักปัจจุบันตามช่วงเวลาหน่วงที่กำหนดค่าไว้
(
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL) การหน่วงนี้จะเกิดขึ้นไม่ว่าผลการค้นหาเราเตอร์หลักจะเป็นอย่างไร
เราขอแนะนำให้เปิดใช้ฟีเจอร์ แจ้งเราเตอร์หลักก่อนหน้าเมื่อ เชื่อมต่อใหม่ ร่วมกับฟีเจอร์นี้
วิธีเปิดใช้
ฟีเจอร์นี้จะปิดใช้โดยค่าเริ่มต้น
หากต้องการเปิดใช้การค้นหาเราเตอร์หลักเป็นระยะ ให้กำหนด
OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE เป็น 1 ใน
/src/core/config/parent_search.h
ไฟล์ ก่อนที่จะสร้าง 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 ที่เกี่ยวข้องกับฟีเจอร์นี้