جستجوی دوره ای والدین، جستجوی دوره ای والدین

مشاهده منبع در گیت‌هاب

برای اینکه دستگاه‌های انتهایی (ED) در یک شبکه Thread بتوانند به یک والد بهتر از والد فعلی خود - در حالی که هنوز به شبکه متصل هستند - سوئیچ کنند، ویژگی جستجوی والد دوره‌ای را فعال کنید.

برای تعیین اینکه آیا یک والد کاندید برای ED بهتر است یا خیر، این ویژگی ویژگی‌های مختلفی از جمله موارد زیر را بررسی می‌کند:

  • RSSI (نشانگر قدرت سیگنال دریافتی)
  • کیفیت لینک
  • اتصال والد کاندید به سایر توسعه‌دهنده‌های مش
  • تعداد فرزندان موجود برای والدین متقاضی

این تضمین می‌کند که EDها به بهترین والد ممکن متصل می‌شوند، نه اینکه به والد با کیفیت لینک یا اتصال ضعیف متصل بمانند. این ویژگی به ویژه زمانی مفید است که یک Mesh Extender جدید به یک شبکه Thread موجود اضافه شود.

چگونه کار می‌کند؟

  1. ED مقدار میانگین RSSI را برای والد فعلی خود، طبق بازه بررسی پیکربندی‌شده ( OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL ) بررسی می‌کند.
  2. اگر میانگین مقدار RSSI برای والد فعلی ED کمتر از آستانه پیکربندی شده ( OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD ) باشد، جستجوی والد آغاز می‌شود:
    1. اگر جستجوی والد، والد بهتری را پیدا کند، ED پیوند فعلی فرزند-والد خود را منحل کرده و فرآیند MLE Attach را با والد جدید آغاز می‌کند.
    2. اگر جستجوی والد، والد بهتری را پیدا نکند، پیوند فرزند-والد موجود به قوت خود باقی می‌ماند.
  3. پس از تلاش برای جستجوی والد، ED منتظر می‌ماند تا مقدار میانگین RSSI را برای والد فعلی خود مطابق با فاصله زمانی برگشت پیکربندی‌شده ( OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL ) بررسی کند. این برگشت صرف نظر از نتیجه جستجوی والد رخ می‌دهد.

توصیه می‌کنیم ویژگی « اطلاع‌رسانی به والد قبلی در مورد اتصال مجدد» را همراه با این ویژگی فعال کنید.

نحوه فعال کردن

این قابلیت به طور پیش‌فرض غیرفعال است.

برای فعال کردن جستجوی دوره‌ای والد، قبل از ساخت OpenThread ، OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE در فایل /src/core/config/parent_search.h به صورت 1 تعریف کنید:

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

پارامترها

برای سفارشی‌سازی این ویژگی از پارامترهای زیر در /src/core/config/parent_search.h استفاده کنید:

پارامترها
باز کردن رشته_تنظیمات_والدین_جستجو_بررسی_فاصله
مقدار پیش‌فرض
۵۴۰ ثانیه (۹ دقیقه)
توضیحات
فاصله زمانی را بر حسب ثانیه مشخص می‌کند تا فرزند، شرط تریگر را برای انجام جستجوی والد بررسی کند.
باز کردن رشته_تنظیمات_والدین_جستجو_بازگشت_فاصله
مقدار پیش‌فرض
۳۶۰۰۰ ثانیه (۱۰ ساعت)
توضیحات
فاصله زمانی برگشت به ثانیه را مشخص می‌کند تا فرزند پس از فعال شدن، جستجوی والد را انجام ندهد.
باز کردن رشته_تنظیمات_والدین_جستجو_RSS_THRESHOLD
مقدار پیش‌فرض
-65
توضیحات
آستانه RSSI مورد استفاده برای شروع جستجوی والد را مشخص می‌کند.

رابط برنامه‌نویسی کاربردی (API)

هیچ API عمومی برای این ویژگی وجود ندارد.

رابط خط فرمان

هیچ دستور CLI مربوط به این ویژگی وجود ندارد.