كشف المربى

عرض المصدر على جيثب

لتوفير آلية قابلة للتكوين لاكتشاف تشويش الإشارة على أي عقدة OpenThread ، قم بتمكين ميزة اكتشاف الانحشار.

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

كيف تعمل

يراقب Jam Detection مؤشر RSSI (مؤشر قوة الإشارة المستلمة) للعقدة أثناء النوافذ الزمنية المحددة لتحديد ما إذا كانت القناة محشورة أم لا.

عند تمكين "اكتشاف الانحشار":

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

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

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

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

0xC248068C416E7FF0

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

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

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

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

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

كشف انحشار OT

كيفية التمكين

يتم تعطيل هذه الميزة بشكل افتراضي.

من خلال التعريف

لتمكين الكشف جام، وتحديد 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 API، بروتوكول الإسبنيل، أو wpanctl ، و wpantund أداة سطر الأوامر لإدارة شبكة المشارك المعالج (NCP). يتم تطبيق القيم الافتراضية إذا تم تمكين الميزة بدون تكوين لاحق.

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

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

API

OpenThread

استخدام API كشف جام لإدارة ميزة الكشف جام مباشرة في تطبيق OpenThread الخاص بك. توفر واجهة OpenThread API الوظائف التالية:

  • ابدأ وأوقف الميزة
  • اعرض حالة اكتشاف الانحشار
  • إدارة جميع المعلمات
  • استرجع الصورة النقطية الحالية لمحفوظات اكتشاف انحشار الورق
  • قم بتسجيل وظيفة رد الاتصال عند اكتشاف انحشار

الإسبنيل

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

  • ابدأ وأوقف الميزة
  • اعرض حالة اكتشاف الانحشار
  • إدارة جميع المعلمات
  • استرجع الصورة النقطية الحالية لمحفوظات اكتشاف انحشار الورق

CLI

OpenThread

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

wpantund

استخدام wpanctl CLI لإدارة ميزة الكشف جام لتكوين OpenThread حزب المؤتمر الوطني. wpantund يحتفظ كل التكوين كشف جام على إعادة حزب المؤتمر الوطني.

wpanctl يوفر الوصول إلى ما يلي wpantund خصائص:

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

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

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

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

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

لمزيد من المعلومات حول wpantund خصائص، راجع wpantund جيثب مستودع .