Monitoreo de canales
Este módulo incluye funciones para la función de monitoreo de canales.
Resumen
Las funciones de este módulo están disponibles cuando la función de monitorización de canales ( OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
) está habilitada.
El monitoreo de canales monitoreará periódicamente todos los canales para ayudar a determinar los canales más limpios (canales con menos interferencia).
Cuando la monitorización de canales está activa, se realiza una exploración de energía de duración cero, recogiendo una sola muestra RSSI en cada canal por intervalo de muestra. Las muestras de RSSI se comparan con un umbral de RSSI preestablecido. Como indicador de la calidad del canal, el módulo de monitoreo de canal mantiene y proporciona la tasa / porcentaje promedio de muestras RSSI que están por encima del umbral dentro de (aproximadamente) una ventana de muestra específica (denominada ocupación de canal).
Funciones | |
---|---|
otChannelMonitorGetChannelOccupancy ( otInstance *aInstance, uint8_t aChannel) | uint16_t Obtiene la ocupación actual del canal para un canal determinado. |
otChannelMonitorGetRssiThreshold ( otInstance *aInstance) | int8_t Obtenga el umbral RSSI de monitoreo de canal en dBm. |
otChannelMonitorGetSampleCount ( otInstance *aInstance) | uint32_t Obtenga el número total de muestras RSSI de monitoreo de canales (por canal). |
otChannelMonitorGetSampleInterval ( otInstance *aInstance) | uint32_t Obtenga el intervalo de muestra de monitoreo de canal en milisegundos. |
otChannelMonitorGetSampleWindow ( otInstance *aInstance) | uint32_t Obtenga monitoreo de canal promediando la longitud de la ventana de muestra (número de muestras). |
otChannelMonitorIsEnabled ( otInstance *aInstance) | bool Esta función indica si la operación de monitoreo de canales está habilitada y en ejecución. |
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled) | Esta función habilita / deshabilita la operación de monitoreo de canales. |
Funciones
otChannelMonitorGetChannelOccupancy
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Obtiene la ocupación actual del canal para un canal determinado.
El valor de ocupación del canal representa la tasa / porcentaje promedio de muestras de RSSI que estaban por encima del umbral de RSSI (muestras de RSSI "malas").
Para las primeras muestras de la "ventana de muestra", el promedio se mantiene como el porcentaje real (es decir, la proporción del número de muestras "malas" por el número total de muestras). Después de las muestras de "ventana", el promediador utiliza una media móvil ponderada exponencialmente. En la práctica, esto significa que el promedio es representativo de hasta 3 * window
últimas muestras de 3 * window
con el mayor peso dado a las últimas muestras de kSampleWindow
.
El valor máximo de 0xffff
indica que todas las muestras de RSSI estaban por encima del umbral de RSSI (es decir, el 100% de las muestras eran "malas").
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Devoluciones | La ocupación actual del canal para el canal dado. |
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Obtenga el umbral RSSI de monitoreo de canal en dBm.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | El umbral de RSSI en dBm. |
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Obtenga el número total de muestras RSSI de monitoreo de canal (por canal).
El recuento indica el número total de muestras por canal por módulo de monitoreo de canal desde su inicio (desde que se habilitó la interfaz de red Thread).
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | Número total de muestras RSSI (por canal) tomadas hasta el momento. |
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Obtenga el intervalo de muestra de monitoreo de canal en milisegundos.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | El intervalo de muestreo del monitor de canal en milisegundos. |
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Obtenga monitoreo de canal promediando la longitud de la ventana de muestra (número de muestras).
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | La ventana de muestra promediada. |
otChannelMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Esta función indica si la operación de monitoreo de canales está habilitada y en ejecución.
Detalles | |||
---|---|---|---|
Parámetros |
| ||
Devoluciones | VERDADERO si la operación de Monitoreo de canales está habilitada, FALSO en caso contrario. |
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Esta función habilita / deshabilita la operación de monitoreo de canales.
Una vez que se inicia la operación, se borran los datos recopilados anteriormente. Sin embargo, una vez que se desactiva la operación, los datos recopilados anteriormente siguen siendo válidos y se pueden leer.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
| ||||
Valores devueltos |
|