Supervisión del canal
Este módulo incluye funciones para la función de supervisión de canales.
Resumen
Las funciones de este módulo están disponibles cuando se habilita la función de monitor de canal (OPENTHREAD_CONFIG_CHANNEL_MONITOR_ENABLE
).
La supervisión de canales supervisará periódicamente todos los canales para ayudar a determinar los canales más limpios (canales con menos interferencia).
Cuando está activa la supervisión de canales, se realiza un análisis de energía de duración cero, que recopila una sola muestra de RSSI en cada canal por intervalo de muestra. Las muestras de RSSI se comparan con un umbral RSSI especificado. Como indicador de la calidad del canal, el módulo de supervisión del canal mantiene y proporciona la tasa/porcentaje promedio de muestras de RSSI que superan el umbral dentro de una ventana de muestra especificada (aproximadamente) (ocupada del canal).
Funciones |
|
---|---|
otChannelMonitorGetChannelOccupancy(otInstance *aInstance, uint8_t aChannel)
|
uint16_t
Obtiene la ocupación actual de un canal determinado.
|
otChannelMonitorGetRssiThreshold(otInstance *aInstance)
|
int8_t
Obtén el umbral RSSI de supervisión de canales en dBm.
|
otChannelMonitorGetSampleCount(otInstance *aInstance)
|
uint32_t
Obtener la cantidad total de muestras de supervisión de canales de RSSI (por canal)
|
otChannelMonitorGetSampleInterval(otInstance *aInstance)
|
uint32_t
Obtén un intervalo de muestra de supervisión de canales en milisegundos.
|
otChannelMonitorGetSampleWindow(otInstance *aInstance)
|
uint32_t
Obtener la duración promedio de la ventana de muestra de la supervisión de canales (cantidad de muestras)
|
otChannelMonitorIsEnabled(otInstance *aInstance)
|
bool
Indica si la operación de supervisión del canal está habilitada y en ejecución.
|
otChannelMonitorSetEnabled(otInstance *aInstance, bool aEnabled)
|
Habilita o inhabilita la operación de supervisión del canal.
|
Funciones
otChannelMonitorGetChannelOcupupance
uint16_t otChannelMonitorGetChannelOccupancy( otInstance *aInstance, uint8_t aChannel )
Obtiene la ocupación actual de un canal determinado.
El valor de ocupación del canal representa la tasa o el porcentaje promedio de las muestras de RSSI que superaron el umbral ("muestras de RSSI" incorrectas).
En las primeras muestras de la “ventana de muestra”, el promedio se mantiene como el porcentaje real (es decir, la proporción de muestras “malos” por la cantidad total de muestras). Después de muestras de "ventana", el promedio usa un promedio móvil ponderado de manera exponencial. En la práctica, esto significa que el promedio representa hasta 3 * window
muestras más recientes con el mayor peso asignado a las últimas muestras de kSampleWindow
.
El valor máximo de 0xffff
indica que todas las muestras de RSSI superaron el umbral de RSSI (es decir, el 100% de las muestras no eran "adecuadas").
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Ocupación actual del canal correspondiente.
|
otChannelMonitorGetRssiThreshold
int8_t otChannelMonitorGetRssiThreshold( otInstance *aInstance )
Obtén el umbral RSSI de supervisión de canales en dBm.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
El umbral de RSSI en dBm.
|
otChannelMonitorGetSampleCount
uint32_t otChannelMonitorGetSampleCount( otInstance *aInstance )
Obtener la cantidad total de muestras de supervisión de canales de RSSI (por canal)
El recuento indica la cantidad total de muestras por canal por módulo de supervisión desde la fecha de inicio (desde que se habilitó la interfaz de red de Thread).
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Cantidad total de muestras de RSSI (por canal) realizadas hasta el momento.
|
otChannelMonitorGetSampleInterval
uint32_t otChannelMonitorGetSampleInterval( otInstance *aInstance )
Obtén un intervalo de muestra de supervisión de canales en milisegundos.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
El intervalo de muestreo del monitor de canales en milisegundos.
|
otChannelMonitorGetSampleWindow
uint32_t otChannelMonitorGetSampleWindow( otInstance *aInstance )
Obtener la duración promedio de la ventana de muestra de la supervisión de canales (cantidad de muestras)
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
La ventana de muestra promedio.
|
ooCanalMonitorIsEnabled
bool otChannelMonitorIsEnabled( otInstance *aInstance )
Indica si la operación de supervisión del canal está habilitada y en ejecución.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
TRUE si la operación de supervisión del canal está habilitada; de lo contrario, FALSE.
|
otChannelMonitorSetEnabled
otError otChannelMonitorSetEnabled( otInstance *aInstance, bool aEnabled )
Habilita o inhabilita la operación de supervisión del canal.
Una vez que comience la operación, se borrarán todos los datos recopilados anteriormente. Sin embargo, después de que se inhabilite la operación, los datos recopilados anteriormente seguirán siendo válidos y se podrán leer.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
Recursos
Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o colaborar con nuestra documentación, consulta la sección Recursos.