برای ارائه یک مکانیسم کارآمد انرژی برای یک دستگاه انتهایی خوابآلود (SED) تا تأیید کند که هنوز به روتر اصلی خود متصل است (در جدول فرزند روتر والد ذکر شده است)، ویژگی نظارت بر کودک را فعال کنید.
مشخصات Thread به یک SED نیاز دارد تا به صورت دورهای یک تبادل درخواست و پاسخ بهروزرسانی فرزند MLE را با روتر اصلی خود انجام دهد تا اتصال را تأیید کند. Child Supervision یک راه حل جایگزین برای تأیید اتصال روتر SED است که بار انتقال پیام را به جای SED با محدودیت انرژی بر روی روتر والد قرار می دهد.
چگونه کار می کند
این ویژگی بسته به نوع گره و پارامترهای پیکربندی شده به دو روش کار می کند:
روی پدر و مادر
اگر روتر والد SED را در OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
به فرزند خود مخابره نکند، روتر والد در نوبت قرار میگیرد و پیام نظارت کودک را به SED فرزند ارسال میکند. پیام Child Supervision یک قاب MAC است که حاوی اطلاعات زیر است:
- RLOC16 از SED به عنوان مقصد در هدر MAC.
- محموله خالی
به طور پیش فرض، یک هدر MAC حاوی یک درخواست ACK 802.15.4 است. برای غیرفعال کردن این درخواست در پیام نظارت بر کودک، پارامتر OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST
را روی ۱ تنظیم کنید.
روی بچه
اگر یک SED از روتر والد خود در OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT
نشنود، فرض میکند که اتصال خود را به روتر والد قطع کرده است و فرآیند MLE Attach را برای اتصال مجدد به روتر والد آغاز میکند.
نحوه فعال کردن
این ویژگی به طور پیش فرض غیرفعال است.
با تعریف
برای فعال کردن نظارت بر کودک، قبل از ساخت OpenThread ، OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
را در فایل openthread/src/core/config/child_supervision.h
به عنوان 1
تعریف کنید:
#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif
بر اساس گزینه
همچنین، هنگام ساخت OpenThread از گزینه ساخت -DOT_CHILD_SUPERVISION=ON
استفاده کنید:
./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 مربوط به این ویژگی وجود ندارد.