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

تنظيم صفحاتك في مجموعات يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.

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

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

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

آلية العمل

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

عند تفعيل اكتشاف محتوى Jam:

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

صورة نقطية للتاريخ

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

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

0xC248068C416E7FF0

ينتج عن التحويل إلى البرنامج الثنائي كل مثيل يتجاوز RSSI عتبة RSSI التي تم إعدادها خلال آخر 63 ثانية:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

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

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

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

رصد محتوى Jam

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

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

من خلال التحديد

لتفعيل رصد ميزة Jam، يمكنك تحديد 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

المعلَمات

لا يمكن ضبط معلَمات اكتشاف Jam إلا من خلال واجهة برمجة تطبيقات OpenThread أو بروتوكول Spinel أو wpanctl، وهي أداة سطر أوامر wpantund لإدارة الشبكة المشتركة في المعالج (NCP). يتم تطبيق القيم الافتراضية إذا كانت الميزة مفعّلة بدون تهيئة لاحقة.

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

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

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

OpenThread

استخدِم واجهة برمجة تطبيقات اكتشاف محتوى Jam لإدارة ميزة الكشف عن محتوى Jam مباشرةً في تطبيق OpenThread. توفر واجهة برمجة تطبيقات OpenThread الوظائف التالية:

  • تفعيل الميزة وإيقافها
  • عرض حالة اكتشاف محتوى Jam
  • إدارة جميع المعلّمات
  • استرداد الصورة الرمزية الحالية لسجلّ اكتشاف محتوى Jam
  • تسجيل دالة رد اتصال لمعرفة وقت رصد محتوى Jam

سبينل

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

  • تفعيل الميزة وإيقافها
  • عرض حالة اكتشاف محتوى Jam
  • إدارة جميع المعلّمات
  • استرداد الصورة الرمزية الحالية لسجلّ اكتشاف محتوى Jam

واجهة سطر الأوامر

OpenThread

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

بانباند

يمكنك استخدام واجهة سطر الأوامر wpanctl لإدارة ميزة"رصد محتوى Jam"لإعداد OpenThread NCP. تحتفظ wpantund بجميع إعدادات رصد محتوى Jam عند إعادة ضبط NCP.

توفر خدمة wpanctl إمكانية الوصول إلى خصائص wpantund التالية:

أماكن إقامة
JamDetection:Status
التنسيق
منطقي
الوصف
للقراءة فقط. حالة اكتشاف محتوى Jam تحدّد هذه السياسة ما إذا تم رصد لوح jam حاليًا.
JamDetection:Enable
التنسيق
منطقي
الوصف
فعِّل ميزة "رصد محتوى Jam" أو أوقِفها.
JamDetection:RssiThreshold
التنسيق
ديسيبل ملي واط
الوصف
تحدّد هذه السياسة الحدّ الأدنى لمستوى RSSI في dBm الذي تمّ من خلاله النظر إلى القناة المحظورة.
JamDetection:Window
التنسيق
ثانية
الوصف
تحدّد هذه السياسة الفترة بالثواني التي يمكن خلالها التحقّق من تشويش الإشارة. النطاق: 1-63
JamDetection:BusyPeriod
التنسيق
ثانية
الوصف
يحدّد عدد الثواني المجمّعة ضمن JamDetection:Window حيث يجب أن يكون RSSI أعلى من JamDetection:RssiThreshold لتشغيل اكتشاف محتوى Jam. يجب أن يكون أصغر من JamDetection:Window. النطاق: 1-63
JamDetection:Debug:HistoryBitmap
التنسيق
قيمة 64 بت
الوصف
توفِّر هذه السياسة معلومات عن سجلّ حالة رصد محتوى Jam لأغراض المراقبة وتصحيح الأخطاء.

على سبيل المثال، للحصول على حالة اكتشاف محتوى Jam ضمن NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

لضبط الحدّ الأدنى لبيانات RSSI لاكتشاف محتوى Jam على -45 ديسيبل ميلي واط على NCP:

sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45

لمعرفة مزيد من المعلومات حول خصائص wpantund، يمكنك الاطّلاع على wpantund مستودع GitHub.