لتوفير آلية موفّرة للطاقة لجهاز نهائي نائم (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 Admin API لإدارة الإشراف والتحقّق من الفواصل الزمنية في تطبيق OpenThread مباشرةً.
واجهة سطر الأوامر
لا توجد أوامر CLI مرتبطة بهذه الميزة.