Google is committed to advancing racial equity for Black communities. See how.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

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 monitor de canal ( 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 el monitoreo de canales está activo, se realiza un escaneo de energía de duración cero, que recoge una sola muestra RSSI en cada canal por intervalo de muestra. Las muestras RSSI se comparan con un umbral RSSI preespecificado. Como indicador de la calidad del canal, el módulo de monitoreo del 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 del canal).

Las 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 monitoreo del canal del umbral RSSI en dBm.
otChannelMonitorGetSampleCount ( otInstance *aInstance)
uint32_t
Obtenga el número total de monitoreo de canales de muestras RSSI (por canal).
otChannelMonitorGetSampleInterval ( otInstance *aInstance)
uint32_t
Obtenga el intervalo de muestra de monitoreo de canal en milisegundos.
otChannelMonitorGetSampleWindow ( otInstance *aInstance)
uint32_t
Obtenga un monitoreo de canal que promedia 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 ejecutándose.
otChannelMonitorSetEnabled ( otInstance *aInstance, bool aEnabled)
Esta función habilita / deshabilita la operación de monitoreo de canales.

Las 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 RSSI que estaban por encima del umbral RSSI (muestras RSSI "malas").

Para las primeras muestras de "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 un promedio móvil ponderado exponencialmente. Prácticamente, 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
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aChannel
El canal para el cual obtener la ocupación del enlace.
Devoluciones
La ocupación actual del canal para el canal dado.

otChannelMonitorGetRssiThreshold

int8_t otChannelMonitorGetRssiThreshold(
  otInstance *aInstance
)

Obtenga el monitoreo del canal del umbral RSSI en dBm.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
El umbral RSSI en dBm.

otChannelMonitorGetSampleCount

uint32_t otChannelMonitorGetSampleCount(
  otInstance *aInstance
)

Obtenga el número total de monitoreo de canales de muestras RSSI (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
[in] aInstance
Un puntero a una instancia de OpenThread.
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
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
El intervalo de muestra del monitor de canal en milisegundos.

otChannelMonitorGetSampleWindow

uint32_t otChannelMonitorGetSampleWindow(
  otInstance *aInstance
)

Obtenga un monitoreo de canal que promedia la longitud de la ventana de muestra (número de muestras).

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
La ventana de muestra promedio.

otChannelMonitorIsEnabled

bool otChannelMonitorIsEnabled(
  otInstance *aInstance
)

Esta función indica si la operación de monitoreo de canales está habilitada y ejecutándose.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
Devoluciones
VERDADERO si la operación de Monitoreo de Canal está habilitada, FALSO de lo contrario.

otChannelMonitorSetEnabled

 otError otChannelMonitorSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Esta función habilita / deshabilita la operación de monitoreo de canales.

Una vez que comienza la operación, se borran los datos recopilados previamente. Sin embargo, después de deshabilitar la operación, los datos recopilados anteriores siguen siendo válidos y se pueden leer.

Detalles
Parámetros
[in] aInstance
Un puntero a una instancia de OpenThread.
[in] aEnabled
VERDADERO para habilitar / iniciar la operación de monitoreo de canales, FALSO para deshabilitarlo / detenerlo.
Valores de retorno
OT_ERROR_NONE
El estado del monitoreo del canal cambió exitosamente
OT_ERROR_ALREADY
La monitorización de canales ya está en el mismo estado.