เปิดใช้ฟีเจอร์การควบคุมดูแลย่อย (SED) เพื่อมอบกลไกที่ประหยัดพลังงานสำหรับอุปกรณ์ที่สิ้นสุดการนอนหลับ (SED) เพื่อยืนยันว่าอุปกรณ์ยังคงเชื่อมต่อกับเราเตอร์ระดับบนสุด (ซึ่งระบุอยู่ในตารางย่อยของเราเตอร์หลัก)
ข้อกำหนดของเทรดกำหนดให้ SED ดำเนินการแลกเปลี่ยนคำขออัปเดตและคำตอบ MLE ของอุปกรณ์ย่อยกับเราเตอร์หลักเป็นระยะๆ เพื่อยืนยันการเชื่อมต่อ การควบคุมดูแลอุปกรณ์ย่อยเป็นโซลูชันทางเลือกสำหรับการยืนยันการเชื่อมต่อ SED-เราเตอร์ ซึ่งจะวางภาระการส่งข้อความไว้ที่เราเตอร์หลักแทน SED ที่จำกัดพลังงาน
วิธีการทำงาน
ฟีเจอร์นี้ทํางานได้ 2 วิธี โดยขึ้นอยู่กับประเภทโหนดและพารามิเตอร์ที่กําหนดค่าไว้
ในรายการหลัก
หากเราเตอร์หลักไม่ส่งไปยัง SED ย่อยภายในเวลา OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
เราเตอร์หลักจะจัดคิวและส่งข้อความการควบคุมดูแลบุตรหลานไปยัง SED ย่อย ข้อความการควบคุมดูแลบุตรหลานคือเฟรม MAC ที่มีข้อมูลต่อไปนี้
- RLOC16 ของ SED เป็นปลายทางในส่วนหัว MAC
- เพย์โหลดว่างเปล่า
โดยค่าเริ่มต้น ส่วนหัว MAC จะมีคําขอ ACK 802.15.4 หากต้องการปิดใช้คำขอนี้ในข้อความการควบคุมดูแลบุตรหลาน ให้ตั้งค่าพารามิเตอร์
OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST
เป็น 1
บนตัวเด็ก
หาก SED ไม่ได้รับการตอบกลับจากเราเตอร์ระดับบนสุดภายใน OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT
ระบบจะถือว่าไม่มีการเชื่อมต่อกับเราเตอร์ระดับบนสุดและเริ่มกระบวนการ MLE
Attach
เพื่อเชื่อมต่อกับเราเตอร์ระดับบนสุดอีกครั้ง
วิธีเปิดใช้
ฟีเจอร์นี้ปิดใช้อยู่โดยค่าเริ่มต้น
ตามการกําหนด
หากต้องการเปิดใช้การควบคุมดูแลบุตรหลาน ให้กำหนด OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
เป็น 1
ในไฟล์ openthread/src/core/config/child_supervision.h
ก่อนการสร้าง OpenThread
#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif
ตามตัวเลือก
หรือจะใช้ตัวเลือก -DOT_CHILD_SUPERVISION=ON
build เมื่อสร้าง
OpenThread ก็ได้
./script/build -DOT_CHILD_SUPERVISION=ON
พารามิเตอร์
ใช้พารามิเตอร์ต่อไปนี้ใน openthread/src/core/config/child_supervision.h
เพื่อปรับแต่งฟีเจอร์นี้
พารามิเตอร์ | |||||
---|---|---|---|---|---|
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
API
ใช้ Child Supervision API เพื่อจัดการการควบคุมดูแลและตรวจสอบช่วงเวลาหมดเวลาในแอปพลิเคชัน OpenThread โดยตรง
CLI
ไม่มีคำสั่ง CLI ที่เกี่ยวข้องกับฟีเจอร์นี้