البحث الدوري للوالدَين

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

للسماح بأجهزة النهاية (ED) في شبكة Thread بالتبديل إلى جهاز رئيسي أفضل من الجهاز الحالي، مع البقاء متصلة بالشبكة، فعِّل ميزة "البحث الدوري عن الجهاز الرئيسي".

لتحديد ما إذا كان الجهاز الرئيسي المرشّح أفضل لجهاز النهاية، تتحقّق هذه الميزة من مجموعة متنوّعة من سماته، بما في ذلك:

  • مؤشر قوة الإشارة المستلَمة (RSSI)
  • جودة الرابط
  • مدى اتصال الجهاز الرئيسي المرشّح بأجهزة Mesh Extender الأخرى
  • عدد الأجهزة الفرعية الحالية للجهاز الرئيسي المرشّح

يضمن ذلك اتصال أجهزة النهاية بأفضل جهاز رئيسي ممكن بدلاً من البقاء متصلة بجهاز رئيسي ذي جودة رابط أو اتصال ضعيفَين. تكون هذه الميزة مفيدة بشكل خاص عند إضافة جهاز Mesh Extender جديد إلى شبكة Thread حالية.

آلية العمل

  1. يتحقّق جهاز النهاية من متوسط قيمة مؤشر قوة الإشارة المستلَمة لجهازه الرئيسي الحالي، وفقًا لفترة التحقّق المضبوطة (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. إذا كان متوسط قيمة مؤشر قوة الإشارة المستلَمة للجهاز الرئيسي الحالي لجهاز النهاية أقل من الحدّ الأدنى المضبوط (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD)، يتم بدء عملية البحث عن الجهاز الرئيسي:
    1. إذا عثرت عملية البحث عن الجهاز الرئيسي على جهاز رئيسي أفضل، يقطع جهاز النهاية رابط الجهاز الفرعي بالجهاز الرئيسي الحالي ويبدأ عملية إرفاق MLE بالجهاز الرئيسي الجديد.
    2. إذا لم تعثر عملية البحث عن الجهاز الرئيسي على جهاز رئيسي أفضل، يظل رابط الجهاز الفرعي بالجهاز الرئيسي الحالي كما هو.
  3. بعد محاولة البحث عن الجهاز الرئيسي، ينتظر جهاز النهاية للتحقّق من متوسط قيمة مؤشر قوة الإشارة المستلَمة لجهازه الرئيسي الحالي وفقًا لفترة التراجع المضبوطة (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). يحدث هذا التراجع بغض النظر عن نتيجة عملية البحث عن الجهاز الرئيسي.

ننصحك بتفعيل ميزة "إعلام الجهاز الرئيسي السابق عند إعادة الإرفاق" بالإضافة إلى هذه الميزة.

كيفية التفعيل

هذه الميزة غير مفعّلة تلقائيًا.

لتفعيل ميزة "البحث الدوري عن الجهاز الرئيسي"، اضبط OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE على 1 في /src/core/config/parent_search.h الملف، قبل إنشاء OpenThread:

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

المَعلمات

استخدِم المَعلمات التالية في /src/core/config/parent_search.h لتخصيص هذه الميزة:

المَعلمات
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
القيمة التلقائية
540 ثانية (9 دقائق)
الوصف
تحدّد هذه المَعلمة الفترة الزمنية بالثواني التي يتحقّق خلالها الجهاز الفرعي من شرط التشغيل لإجراء عملية بحث عن الجهاز الرئيسي.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
القيمة التلقائية
36000 ثانية (10 ساعات)
الوصف
تحدّد هذه المَعلمة فترة التراجع بالثواني التي لا يُجري خلالها الجهاز الفرعي عملية بحث عن الجهاز الرئيسي بعد تشغيلها.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
القيمة التلقائية
‎-65
الوصف
تحدّد هذه المَعلمة الحدّ الأدنى لمؤشر قوة الإشارة المستلَمة المُستخدَم لتشغيل عملية بحث عن الجهاز الرئيسي.

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

لا تتوفّر واجهة برمجة تطبيقات عامة لهذه الميزة.

CLI

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