Google is committed to advancing racial equity for Black communities. See how.

مراقبة القناة

تتضمن هذه الوحدة وظائف لميزة مراقبة القناة.

ملخص

تتوفر الوظائف في هذه الوحدة عند تمكين ميزة مراقبة القناة ( 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)
تعمل هذه الوظيفة على تمكين / تعطيل عملية مراقبة القناة.

المهام

otChannelMonitorGetChannelOcupancy

uint16_t otChannelMonitorGetChannelOccupancy(
  otInstance *aInstance,
  uint8_t aChannel
)

يحصل على شغل القناة الحالي لقناة معينة.

تمثل قيمة إشغال القناة متوسط ​​المعدل / النسبة المئوية لعينات RSSI التي كانت أعلى من حد RSSI (عينات RSSI "سيئة").

بالنسبة لعينات "نافذة العينة" الأولى ، يتم الاحتفاظ بالمتوسط ​​كنسبة مئوية فعلية (أي نسبة عدد العينات "السيئة" حسب العدد الإجمالي للعينات). بعد عينات "النافذة" ، يستخدم الوسيط متوسطًا متحركًا مرجحًا أضعافًا مضاعفة. عمليًا ، هذا يعني أن المتوسط ​​يمثل ما يصل إلى 3 * window عينات 3 * window أخيرة بأعلى وزن مُعطى لأحدث عينات kSampleWindow .

تشير القيمة 0xffff لـ 0xffff إلى أن جميع عينات RSSI كانت أعلى من حد RSSI (أي أن 100٪ من العينات كانت "سيئة").

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aChannel
القناة المراد الحصول على إشغال الرابط لها.
عائدات
شغل القناة الحالي للقناة المعينة.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

احصل على عتبة RSSI لمراقبة القناة بالديسيبل.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
حد RSSI بالديسيبل.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

احصل على العدد الإجمالي لمراقبة القناة من عينات RSSI (لكل قناة).

يشير العدد إلى إجمالي عدد العينات لكل قناة بواسطة وحدة مراقبة القناة منذ بدايتها (منذ أن تم تمكين واجهة شبكة Thread).

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
العدد الإجمالي لعينات RSSI (لكل قناة) المأخوذة حتى الآن.

otChannelMonitorGetSampleInterval

uint32_t otChannelMonitorGetSampleInterval(
  otInstance *aInstance
)

احصل على عينة الفاصل الزمني لمراقبة القناة بالمللي ثانية.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
فترة عينة مراقبة القناة بالميلي ثانية.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

احصل على مراقبة القناة بمتوسط ​​طول نافذة العينة (عدد العينات).

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
نافذة العينة المتوسطة.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

تشير هذه الوظيفة إلى ما إذا تم تمكين عملية مراقبة القناة وتشغيلها.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
عائدات
صواب إذا تم تمكين عملية مراقبة القناة ، وخلاف ذلك خطأ.

otChannelMonitorSetEnabled

otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تعمل هذه الوظيفة على تمكين / تعطيل عملية مراقبة القناة.

بمجرد بدء العملية ، يتم مسح أي بيانات تم جمعها مسبقًا. ومع ذلك ، بعد تعطيل العملية ، تظل البيانات المجمعة السابقة صالحة ويمكن قراءتها.

تفاصيل
المعلمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
صحيح لتمكين / بدء عملية مراقبة القناة ، خطأ لتعطيلها / إيقافها.
إرجاع القيم
OT_ERROR_NONE
تم تغيير حالة مراقبة القناة بنجاح
OT_ERROR_ALREADY
مراقبة القناة بالفعل في نفس الحالة.