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

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

لتوفير آلية موفّرة للطاقة لجهاز طرفي في وضع السكون (SED) للتحقّق من أنّه لا يزال متصلاً بجهازه الرئيسي (المدرَج في جدول الأجهزة التابعة للجهاز الرئيسي)، فعِّل ميزة "الإشراف على الأجهزة التابعة".

يتطلّب مواصفات Thread من جهاز SED إجراء عملية تبادل دورية لطلب الردّ على طلب تعديل بيانات الجهاز التابع (MLE) مع جهازه الرئيسي للتحقّق من الاتصال. ميزة "الإشراف على الأجهزة التابعة" هي حلّ بديل للتحقّق من اتصال جهاز SED بالجهاز الرئيسي، وتضع عبء إرسال الرسائل على الجهاز الرئيسي بدلاً من جهاز SED الذي يعاني من قيود على الطاقة.

آلية العمل

تعمل هذه الميزة بطريقتَين، حسب نوع العُقدة و المعلّمات التي تم ضبطها:

على الجهاز الرئيسي

إذا لم يرسل جهاز رئيسي إلى جهاز SED التابع له خلال الـ OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, يضع الجهاز الرئيسي رسالة "الإشراف على الأجهزة التابعة" في قائمة الانتظار ويرسلها إلى جهاز SED التابع. رسالة "الإشراف على الأجهزة التابعة" هي إطار MAC يحتوي على المعلومات التالية:

  • عنوان RLOC16 لجهاز SED كوجهة في عنوان MAC.
  • حمولة فارغة

يحتوي عنوان MAC تلقائيًا على طلب إشعار بالاستلام 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 في عنوان MAC لرسالة إشراف.

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

استخدِم واجهة برمجة التطبيقات "الإشراف على الأجهزة التابعة" لإدارة فترات الإشراف والمهلة المحدّدة للفحص مباشرةً في تطبيق OpenThread.

CLI

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