لتوفير آلية فعّالة من حيث استهلاك الطاقة للجهاز الطرفي الذي يتضمّن وضع السكون (SED) للتأكّد من أنّه لا يزال متصلاً بجهاز التوجيه الرئيسي (المدرَج في جدول الأجهزة الفرعية لجهاز التوجيه الرئيسي)، فعِّل ميزة "الإشراف على الأطفال".
تتطلّب مواصفات Thread أن يُجري جهاز SED بشكل دوري عملية تبادل طلبات تعديل MLE وعمليات الردّ مع جهاز التوجيه الرئيسي للتحقّق من اتصاله بالشبكة. إشراف الأطفال هو حل بديل للتحقق من اتصال جهاز توجيه SED والذي يضع عبء نقل الرسائل على جهاز التوجيه الأصلي بدلاً من جهاز SED المحدود للطاقة.
آلية العمل
تعمل هذه الميزة بطريقتَين، استنادًا إلى نوع العقدة والمَعلمات التي تم ضبطها:
على الوالد
إذا لم يُرسِل جهاز التوجيه الرئيسي رسالة إلى جهاز 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 |
|
واجهة برمجة التطبيقات
استخدِم Child Supervision API لمحاولة إدارة الإشراف والتحقّق من فواصل المهلة مباشرةً في تطبيق OpenThread .
CLI
لا تتوفّر أوامر سطر الأوامر المرتبطة بهذه الميزة.