مراقبة القناة
تشمل هذه الوحدة وظائف لميزة مراقبة القناة.
الملخّص
تتوفر الوظائف في هذه الوحدة عند تفعيل ميزة مراقبة القناة (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
).
وستراقب ميزة "مراقبة القنوات" بشكل دوري جميع القنوات لتحديد القنوات النظيفة (القنوات الأقل تداخلاً).
عندما تكون مراقبة القناة نشطة، يتم تنفيذ فحص طاقة لمدة صفر، وجمع نموذج RSSI واحد على كل قناة في كل فاصل زمني. تتم مقارنة نماذج RSSI مع حد RSSI المحدد مسبقًا. كمؤشر على جودة القناة، تحتفظ وحدة مراقبة القناة بمتوسط معدل/نسبة مئوية من عينات RSSI التي تتجاوز الحد الأدنى (خلال تقريبًا) عيّنة من النافذة (يُشار إليها باسم إشغال القناة).
الدوال |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
تتيح إشغال القناة الحالية لقناة معيّنة.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
الحصول على الحدّ الأدنى لمراقبة قناة RSSI بالديسيبل ميلي واط
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
يمكنك الحصول على العدد الإجمالي لعيّنات RSSI (لكل قناة) لمراقبة القناة.
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
الحصول على نموذج الفاصل الزمني لمراقبة القناة بالمللي ثانية.
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
احصل على مراقبة للقناة بمتوسط طول نافذة (عدد العينات).
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
تشير هذه الدالة إلى ما إذا كانت عملية "مراقبة القناة" مفعّلة وقيد التشغيل.
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
تعمل هذه الوظيفة على تفعيل/إيقاف عملية مراقبة القناة.
|
الدوال
otChannel ومراقبة الحصول على الإشغال
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
تتيح إشغال القناة الحالية لقناة معيّنة.
تمثّل قيمة إشغال القناة متوسط المعدّل/النسبة المئوية لعيّنات RSSI التي كانت أعلى من الحدّ الأدنى لنماذج RSSI ("عيّنات" RSSI).
بالنسبة إلى أول نماذج "النافذة"، يتم الاحتفاظ بالمتوسط كنسبة مئوية فعلية (أي نسبة عدد العينات "السيئة" حسب إجمالي عدد العينات). بعد استخدام نماذج "النافذة"، يستخدم المتوسّط متوسّطًا متحرّكًا مركّزًا بدرجة كبيرة. عمليًا، يعني ذلك أنّ المتوسّط يمثّل ما يصل إلى 3 * window
عيّنة نهائية ذات أعلى وزن تمّ منحه إلى العيّنات الـ kSampleWindow
الأخيرة.
وتشير القيمة القصوى التي تبلغ 0xffff
إلى أنّ جميع عينات RSSI كانت أعلى من الحدّ الأدنى RSSI (أي أنّ 100% من العيّنات كانت "سيئة").
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
طلبات الإرجاع |
إشغال القناة الحالية للقناة المحددة.
|
otChannelControllerGetRssi الحد الأدنى
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
الحصول على الحدّ الأدنى لمراقبة قناة RSSI بالديسيبل ميلي واط
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
الحدّ الأدنى لـ RSSI بالديسيبل ميلي واط.
|
otChannel مسجّل الحصول على نموذج
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
يمكنك الحصول على العدد الإجمالي لعيّنات RSSI (لكل قناة) لمراقبة القناة.
يشير هذا العدد إلى العدد الإجمالي للعيّنات لكل قناة حسب وحدة مراقبة القناة منذ بدئها (منذ تفعيل واجهة شبكة سلاسل المحادثات).
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
إجمالي عدد عينات RSSI (لكل قناة) التي تم إجراؤها حتى الآن.
|
otChannelControllerGetGetInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
الحصول على نموذج الفاصل الزمني لمراقبة القناة بالمللي ثانية.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
أداة مراقبة القناة فاصل زمني بالمللي ثانية.
|
otChannel مسجّل الحصول على نموذج Windowsdow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
احصل على مراقبة للقناة بمتوسط طول نافذة (عدد العينات).
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
متوسط نافذة النموذج.
|
otChannelشاشةIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
تشير هذه الدالة إلى ما إذا كانت عملية "مراقبة القناة" مفعّلة وقيد التشغيل.
التفاصيل | |||
---|---|---|---|
المعلَمات |
|
||
طلبات الإرجاع |
صحيح إذا تم تمكين عملية مراقبة القناة، ستكون القيمة "خطأ" بخلاف ذلك.
|
otChannelControllerSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
تعمل هذه الوظيفة على تفعيل/إيقاف عملية مراقبة القناة.
بعد بدء العملية، يتم محو أي بيانات تم جمعها سابقًا. ومع ذلك، بعد إيقاف العملية، لا تزال البيانات السابقة التي تم جمعها صالحة ويمكن قراءتها.
التفاصيل | |||||
---|---|---|---|---|---|
المعلَمات |
|
||||
قيم الإرجاع |
|
المراجع
تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.