การควบคุมดูแลเด็ก

ดูแหล่งที่มาใน GitHub

ในการสร้างกลไกที่ประหยัดพลังงานสําหรับอุปกรณ์ปลายทางการนอนหลับ (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
ค่าเริ่มต้น
129 วินาที
คำอธิบาย
ระบุระยะเวลาการควบคุมดูแลเป็นวินาทีที่ผู้ปกครองใช้ ตั้งค่าเป็น 0 เพื่อปิดใช้กระบวนการควบคุมดูแลระดับบน
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
ค่าเริ่มต้น
190 วินาที
คำอธิบาย
ระบุระยะหมดเวลาของการตรวจสอบการควบคุมดูแลในหน่วยวินาทีที่อุปกรณ์ใช้ในสถานะย่อย ตั้งค่าเป็น 0 เพื่อปิดใช้กระบวนการตรวจสอบการควบคุมดูแลในองค์กรย่อย
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
ค่าเริ่มต้น
0 (เปิดใช้คําขอ AK แล้ว)
คำอธิบาย
ตั้งค่าเป็น 1 เพื่อล้าง/ปิดใช้คําขอ ACK 802.15.4 ในส่วนหัวของ MAC ของข้อความการควบคุมดูแล

API

ใช้ Child Supervision API เพื่อจัดการการควบคุมดูแลและตรวจสอบระยะหมดเวลาโดยตรงในแอปพลิเคชัน OpenThread ของคุณ

CLI

ไม่มีคําสั่ง CLI ที่เกี่ยวข้องกับฟีเจอร์นี้