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

Detección de atascos

Para proporcionar un mecanismo configurable para la detección de interferencias de señal en cualquier nodo OpenThread, habilite la función de detección de interferencias.

Esta función es útil para las certificaciones de dispositivos que requieren la capacidad de detectar interferencias de señal en un canal específico. Puede configurarse para cumplir con los requisitos de cada tipo de certificación.

Cómo funciona

Jam Detection monitorea el RSSI (indicador de intensidad de la señal recibida) de un nodo durante períodos de tiempo específicos para determinar si el canal se ha bloqueado.

Cuando la detección de atascos está habilitada:

  1. El estado de detección de atascos se establece en false .
  2. El nodo muestrea el RSSI varias veces en cada intervalo de un segundo.
  3. Si el RSSI durante todo ese intervalo de un segundo permanece por encima del umbral RSSI configurado para cada muestra, ese intervalo de un segundo se considera bloqueado.
  4. Si un número total de intervalos de un segundo atascados es mayor o igual que el número total de segundos configurados del Período Ocupado dentro de los segundos de la Ventana de Detección configurada anterior en cualquier momento, el Estado de Detección de Atascos en ese momento se establece en true .
  5. Si un número total de intervalos de un segundo atascados es menor que el número total de segundos configurados del Período ocupado dentro de los segundos de la Ventana de detección configurada anterior en cualquier momento, el Estado de detección de atascos en ese momento se establece en false .

Mapa de bits de historia

En la API de OpenThread y wpantund propiedades de wpantund , un mapa de bits de los 63 segundos anteriores está disponible para su recuperación. Este mapa de bits indica si el RSSI cruzó el umbral RSSI configurado en cada uno de los 63 segundos anteriores.

Por ejemplo, puede recuperar el siguiente mapa de bits:

0xC248068C416E7FF0

La conversión a binario produce todas las instancias en que RSSI superó el umbral RSSI configurado durante los 63 segundos anteriores:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

Si la ventana de detección se establece en 16 segundos y el período ocupado se establece en 8 segundos, el estado de detección de atascos se vuelve true a los 51 segundos, ya que es la primera instancia en la que se excedió el umbral RSSI al menos 8 segundos completos en el período anterior. 16 segundos. En este ejemplo, el estado de detección de atascos permanece true durante los siguientes 13 segundos.

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000
                                      [00001 01101110 011] = 8 in 16

Este mapa de bits puede estar representado por el siguiente gráfico, si -45 dBm fue el umbral RSSI configurado:

Detección de atascos OT

Cómo habilitar

Esta función esta desactivada por defecto.

Por definir

Para habilitar la detección de OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE , defina OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE como 1 en el archivo /src/core/config/openthread-core-default-config.h , antes de compilar OpenThread :

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

Por interruptor

Alternativamente, use el JAM_DETECTION=1 compilación JAM_DETECTION=1 al compilar OpenThread :

make -f examples/Makefile-<platform> JAM_DETECTION=1

Parámetros

Los parámetros de detección de atascos solo se pueden configurar a través de la API OpenThread, el protocolo Spinel o wpanctl , la herramienta de línea de comandos wpantund la wpantund del wpantund de red (NCP). Los valores predeterminados se aplican si la función está habilitada sin configuración posterior.

Personalice esta función utilizando los siguientes parámetros:

Parámetros
Umbral RSSI
Valor por defecto
0 dBm
Descripción
Especifica el nivel de umbral RSSI en dBm por encima del cual considerar el canal atascado.
Ventana de detección
Valor por defecto
63 segundos
Descripción
Especifica la ventana en segundos en la que se debe verificar la interferencia de la señal. Rango: 1-63.
Periodo ocupado
Valor por defecto
63 segundos
Descripción
Especifica el número de segundos agregados dentro de la ventana de detección en los que el RSSI debe estar por encima del umbral de RSSI para activar la detección de atascos. Debe ser más pequeño que la ventana de detección. Rango: 1-63.

API

OpenThread

Utilice la API de detección de atascos para administrar la función de detección de atascos directamente en su aplicación OpenThread. La API de OpenThread proporciona la siguiente funcionalidad:

  • Iniciar y detener la función
  • Ver el estado de detección de atascos
  • Gestionar todos los parámetros
  • Recuperar el mapa de bits actual del historial de detección de atascos
  • Registre una función de devolución de llamada para cuando se detecte un atasco

Espinela

El protocolo Spinel permite que un dispositivo host se comunique directamente con un NCP. Este protocolo expone las propiedades de detección de /src/lib/spinel/spinel.h en /src/lib/spinel/spinel.h que proporcionan la siguiente funcionalidad:

  • Iniciar y detener la función
  • Ver el estado de detección de atascos
  • Gestionar todos los parámetros
  • Recuperar el mapa de bits actual del historial de detección de atascos

CLI

OpenThread

No hay comandos CLI de OpenThread relacionados con esta función.

wpantund

Utilice la CLI de wpanctl para administrar la función de detección de atascos para una configuración de OpenThread NCP. wpantund conserva toda la configuración de detección de wpantund al reiniciar el NCP.

wpanctl proporciona acceso a las siguientes propiedades de wpantund :

Propiedades
JamDetection:Status
Formato
booleano
Descripción
Solo lectura. Estado de detección de atascos. Indica si se detecta actualmente un atasco de señal.
JamDetection:Enable
Formato
booleano
Descripción
Activa o desactiva la función de detección de atascos.
JamDetection:RssiThreshold
Formato
dBm
Descripción
Especifica el nivel de umbral RSSI en dBm por encima del cual considerar el canal bloqueado.
JamDetection:Window
Formato
segundos
Descripción
Especifica la ventana en segundos en la que se debe verificar la interferencia de la señal. Rango: 1-63.
JamDetection:BusyPeriod
Formato
segundos
Descripción
Especifica el número de segundos agregados dentro de JamDetection:Window en la que el RSSI debe estar por encima de JamDetection:RssiThreshold para activar la detección de JamDetection:RssiThreshold . Debe ser más pequeño que JamDetection:Window . Rango: 1-63.
JamDetection:Debug:HistoryBitmap
Formato
Valor de 64 bits
Descripción
Proporciona información sobre el historial del estado de detección de atascos con fines de supervisión y depuración.

Por ejemplo, para obtener el estado de detección de atascos de un NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

Para establecer el umbral RSSI de detección de atascos en -45 dBm en un NCP:

sudo wpanctl setprop JamDetection:RssiThreshold -45
sudo wpanctl getprop JamDetection:RssiThreshold
JamDetection:RssiThreshold = -45

Para obtener más información sobre wpantund propiedades de wpantund , consulte el repositorio de wpantund GitHub .