اكتشاف محتوى Jam

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

لتوفير آلية قابلة للضبط لرصد التشويش على الإشارات في أي عقدة OpenThread، فعِّل ميزة "رصد التشويش".

تكون هذه الميزة مفيدة لشهادات اعتماد الأجهزة التي تتطلّب إمكانية رصد التشويش على الإشارة في قناة معيّنة. ويمكن ضبطها لتلبية متطلبات كل نوع من شهادات الاعتماد.

آلية العمل

تراقب ميزة "رصد التشويش" مؤشر قوة الإشارة المستلمة (RSSI) لأحد العُقد خلال فترات زمنية محدّدة لتحديد ما إذا تم التشويش على القناة.

عند تفعيل ميزة "رصد التشويش":

  1. تم ضبط "حالة رصد التشويش" على false.
  2. تأخذ العُقدة عيّنات من قوة الإشارة المستلَمة (RSSI) عدة مرات خلال كل فاصل زمني يبلغ ثانية واحدة.
  3. إذا ظلّت قوة الإشارة المستلَمة (RSSI) خلال فترة الثانية الكاملة أعلى من حد RSSI الذي تم ضبطه لكل عيّنة، تُعتبر فترة الثانية هذه مشوّشة.
  4. إذا كان العدد الإجمالي لفواصل ثانية واحدة محجوبة أكبر من أو يساوي العدد الإجمالي لثواني الفترة المشغولة المحدّدة ضمن ثواني فترة الرصد المحدّدة السابقة في أي وقت، يتم ضبط حالة رصد التشويش في ذلك الوقت على true.
  5. إذا كان العدد الإجمالي لفواصل زمنية مدتها ثانية واحدة تم التشويش عليها أقل من العدد الإجمالي لثواني فترة الانشغال التي تم ضبطها ضمن فترة الرصد السابقة التي تم ضبطها في أي وقت، يتم ضبط حالة رصد التشويش في ذلك الوقت على false.

صورة نقطية للسجلّ

في OpenThread API، تتوفّر صورة نقطية للـ 63 ثانية السابقة يمكن استرجاعها. تشير خريطة البت هذه إلى ما إذا كان مستوى إشارة RSSI قد تجاوز عتبة RSSI المضبوطة في كل ثانية من الثواني الـ 63 السابقة.

على سبيل المثال، يمكنك استرداد الصورة النقطية التالية:

0xC248068C416E7FF0

يؤدي التحويل إلى نظام العد الثنائي إلى إنشاء كل مثيل تجاوز فيه مستوى إشارة RSSI الحدّ الأدنى الذي تم ضبطه خلال الـ 63 ثانية السابقة:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

إذا تم ضبط "نافذة الرصد" على 16 ثانية، وتم ضبط "فترة الانشغال" على 8 ثوانٍ، ستصبح "حالة رصد التشويش" true عند 51 ثانية، لأنّ هذا هو المثال الأول الذي تم فيه تجاوز "حدّ RSSI" لمدة 8 ثوانٍ كاملة على الأقل في الـ 16 ثانية السابقة. في هذا المثال، تظل حالة رصد التشويش true لمدة 13 ثانية أخرى.

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
                                      [00001 01101110 011] = 8 in 16

يمكن تمثيل صورة نقطية هذه بالرسم البياني التالي، إذا كان الحد الأدنى لمستوى إشارة RSSI الذي تم ضبطه هو -45 ديسيبل مللي واط:

OT Jam Detection

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

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

حسب التعريف

لتفعيل ميزة "رصد التشويش"، حدِّد OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE على أنّه 1 في ملف openthread/src/core/config/openthread-core-default-config.h قبل إنشاء OpenThread:

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

حسب الخيار

بدلاً من ذلك، استخدِم خيار الإنشاء -DOT_JAM_DETECTION=ON عند إنشاء OpenThread:

./script/build -DOT_JAM_DETECTION=ON

المعلمات

لا يمكن ضبط مَعلمات "رصد التشويش" إلا من خلال واجهة برمجة التطبيقات OpenThread أو بروتوكول Spinel. يتم تطبيق القيم التلقائية إذا تم تفعيل الميزة بدون إجراء إعدادات لاحقة.

يمكنك تخصيص هذه الميزة باستخدام المَعلمات التالية:

المعلمات
حدّ RSSI
القيمة التلقائية
0 ديسيبل ميلي واط
الوصف
تحدّد هذه السمة مستوى RSSI بالديسيبل ميلي واط الذي يجب أن يتجاوزه لكي يتم اعتبار القناة محظورة.
فترة الرصد
القيمة التلقائية
‫63 ثانية
الوصف
تحدّد هذه السمة الفترة الزمنية بالثواني التي يتم خلالها التحقّق من التشويش على الإشارة. النطاق: من 1 إلى 63
فترة الانشغال
القيمة التلقائية
‫63 ثانية
الوصف
تحدّد هذه السمة عدد الثواني المجمّعة ضمن "نافذة الرصد" التي يجب أن يكون فيها مستوى إشارة RSSI أعلى من "حد RSSI" لتفعيل ميزة "رصد التشويش". يجب أن تكون أصغر من "فترة الرصد". النطاق: من 1 إلى 63

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

OpenThread

استخدِم Jam Detection API لإدارة ميزة "رصد التشويش" مباشرةً في تطبيق OpenThread. توفّر واجهة برمجة التطبيقات OpenThread الوظائف التالية:

  • بدء الميزة وإيقافها
  • عرض حالة رصد التشويش
  • إدارة جميع المَعلمات
  • استرداد صورة نقطية لسجلّ "رصد التشويش" الحالي
  • تسجيل دالة ردّ اتصال عند رصد تشويش

الإسبينيل

يتيح بروتوكول Spinel لجهاز مضيف التواصل مباشرةً مع معالج NCP. يعرض هذا البروتوكول خصائص "رصد التشويش" في openthread/src/lib/spinel/spinel.h التي توفّر الوظائف التالية:

  • بدء الميزة وإيقافها
  • عرض حالة رصد التشويش
  • إدارة جميع المَعلمات
  • استرداد صورة نقطية لسجلّ "رصد التشويش" الحالي

CLI

OpenThread

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