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

عرض المصدر على 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 (طلب التأكيد مفعَّل)
الوصف
اضبط القيمة على 1 لمحو/إيقاف طلب 802.15.4 ACK في عنوان MAC لرسالة الإشراف.

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

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

CLI

لا تتوفّر أوامر سطر الأوامر المرتبطة بهذه الميزة.