الإشراف على الأطفال

عرض المصدر على GitHub

لتوفير آلية موفّرة للطاقة لجهاز نهائي نائم (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
القيمة التلقائية
129 ثانية
الوصف
يحدِّد الفاصل الزمني للإشراف بالثواني الذي يستخدمه أحد الوالدين. اضبط القيمة على 0 لإيقاف عملية الإشراف على الوحدة التنظيمية الرئيسية.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
القيمة التلقائية
190 ثانية
الوصف
يحدِّد هذا الإعداد الفاصل الزمني لمهلة التحقّق من الإشراف بالثواني الذي يستخدمه الجهاز في الحالة الفرعية. اضبط القيمة على 0 لإيقاف عملية التحقق من الإشراف على الطفل.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
القيمة التلقائية
0 (تم تفعيل طلب ACK)
الوصف
اضبط القيمة على 1 لمحو/إيقاف طلب 802.15.4 ACK في عنوان MAC لرسالة الإشراف.

واجهة برمجة التطبيقات

يمكنك استخدام Child Admin API لإدارة الإشراف والتحقّق من الفواصل الزمنية في تطبيق OpenThread مباشرةً.

واجهة سطر الأوامر

لا توجد أوامر CLI مرتبطة بهذه الميزة.