ในการสร้างกลไกที่ประหยัดพลังงานสําหรับอุปกรณ์ปลายทางการนอนหลับ (SED) เพื่อยืนยันว่าอุปกรณ์ยังคงเชื่อมต่อกับเราเตอร์หลัก (แสดงในตารางย่อยของเราเตอร์หลัก) ให้เปิดใช้ฟีเจอร์การควบคุมดูแลเด็ก
ข้อกําหนดของชุดข้อความกําหนดให้ SED ทําการแลกเปลี่ยนคําขอย่อยและการตอบกลับจาก MLE Child เป็นระยะกับเราเตอร์ระดับบนสุดเพื่อยืนยันการเชื่อมต่อ Child Supervision เป็นโซลูชันทางเลือกสําหรับการยืนยันการเชื่อมต่อเราเตอร์ 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
แนบ
เพื่อเชื่อมต่อกับเราเตอร์หลักอีกครั้ง
วิธีเปิดใช้
ทั้งนี้ ฟีเจอร์นี้จะปิดอยู่โดยค่าเริ่มต้น
นิยาม
หากต้องการเปิดใช้การควบคุมดูแลย่อย ให้กําหนด 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
เมื่อสร้าง 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 ที่เกี่ยวข้องกับฟีเจอร์นี้