مانیتورینگ کانال
این ماژول شامل عملکردهایی برای ویژگی نظارت بر کانال است.
خلاصه
عملکردهای این ماژول زمانی در دسترس هستند که ویژگی مانیتور کانال ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) فعال باشد.
مانیتورینگ کانال به صورت دورهای تمام کانالها را برای کمک به تعیین کانالهای تمیزتر (کانالهایی با تداخل کمتر) نظارت میکند.
هنگامی که نظارت کانال فعال است، یک اسکن انرژی با مدت زمان صفر انجام می شود و یک نمونه RSSI در هر کانال در هر بازه نمونه جمع آوری می شود. نمونه های RSSI با آستانه RSSI از پیش تعیین شده مقایسه می شوند. به عنوان شاخصی از کیفیت کانال، ماژول نظارت کانال میانگین نرخ/درصد نمونههای RSSI را که بالاتر از آستانه در (تقریبا) یک پنجره نمونه مشخص (به عنوان اشغال کانال) هستند، حفظ و ارائه میکند.
کارکرد | |
---|---|
otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel) | uint16_t اشغال کانال فعلی را برای یک کانال مشخص دریافت می کند. |
otChannelMonitorGetRssiThreshold ( otInstance *aInstance) | int8_t آستانه نظارت بر کانال RSSI را بر حسب dBm دریافت کنید. |
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) | عملیات نظارت بر کانال را فعال یا غیرفعال می کند. |
کارکرد
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
اشغال کانال فعلی را برای یک کانال مشخص دریافت می کند.
مقدار اشغال کانال نشاندهنده میانگین نرخ/درصد نمونههای RSSI است که بالاتر از آستانه RSSI بودند (نمونههای RSSI "بد").
برای اولین نمونه های "پنجره نمونه"، میانگین به عنوان درصد واقعی حفظ می شود (یعنی نسبت تعداد نمونه های "بد" به تعداد کل نمونه ها). پس از نمونه های "پنجره"، میانگین گیر از میانگین متحرک وزن دار نمایی استفاده می کند. در عمل، این به این معنی است که میانگین حداکثر نمونههای آخر 3 * window
با بالاترین وزن دادهشده به آخرین نمونههای kSampleWindow
است.
حداکثر مقدار 0xffff
نشان می دهد که تمام نمونه های RSSI بالاتر از آستانه RSSI بودند (یعنی 100٪ نمونه ها "بد" بودند).
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
برمی گرداند | اشغال کانال فعلی برای کانال داده شده. |
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
آستانه نظارت بر کانال RSSI را بر حسب dBm دریافت کنید.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | آستانه RSSI بر حسب dBm. |
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
تعداد کل نمونه های RSSI (در هر کانال) نظارت بر کانال را دریافت کنید.
شمارش تعداد کل نمونه ها در هر کانال را توسط ماژول نظارت کانال از زمان شروع آن (از زمانی که رابط شبکه Thread فعال شده است) نشان می دهد.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | تعداد کل نمونه های RSSI (در هر کانال) تا کنون گرفته شده است. |
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
فاصله نمونه نظارت بر کانال را بر حسب میلی ثانیه دریافت کنید.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | فاصله نمونه مانیتور کانال بر حسب میلی ثانیه. |
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
دریافت نظارت بر کانال با میانگین طول پنجره نمونه (تعداد نمونه).
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | پنجره نمونه میانگین. |
otChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
نشان می دهد که آیا عملیات نظارت بر کانال فعال و در حال اجرا است یا خیر.
جزئیات | |||
---|---|---|---|
مولفه های |
| ||
برمی گرداند | اگر عملیات نظارت بر کانال فعال باشد، درست است، در غیر این صورت نادرست است. |
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
عملیات نظارت بر کانال را فعال یا غیرفعال می کند.
پس از شروع عملیات، هر گونه داده جمع آوری شده قبلی پاک می شود. با این حال، پس از غیرفعال شدن عملیات، داده های جمع آوری شده قبلی هنوز معتبر هستند و قابل خواندن هستند.
جزئیات | |||||
---|---|---|---|---|---|
مولفه های |
| ||||
ارزش های بازگشتی |
|
منابع
موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.