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

ดูซอร์สโค้ดใน GitHub

หากต้องการมอบกลไกที่มีประสิทธิภาพด้านพลังงานให้แก่อุปกรณ์ปลายทางที่หลับ (SED) เพื่อยืนยันว่าอุปกรณ์ยังคงเชื่อมต่อกับอุปกรณ์หลัก (แสดงอยู่ในตารางอุปกรณ์ย่อยของอุปกรณ์หลัก) ให้เปิดใช้ฟีเจอร์การควบคุมดูแลอุปกรณ์ย่อย

ข้อกำหนด Thread กำหนดให้ 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 เพื่อแนบกับเครือข่ายอีกครั้ง

วิธีเปิดใช้

ฟีเจอร์นี้ปิดใช้โดยค่าเริ่มต้น

โดยกำหนด

หากต้องการเปิดใช้การควบคุมดูแลอุปกรณ์ย่อย ให้กำหนด 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 (เปิดใช้คำขอ ACK)
คำอธิบาย
ตั้งค่าเป็น 1 เพื่อล้าง/ปิดใช้คำขอ ACK 802.15.4 ในส่วนหัว MAC ของข้อความการควบคุมดูแล

API

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

CLI

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