Google is committed to advancing racial equity for Black communities. See how.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Detecção de Jam

Para fornecer um mecanismo configurável para detecção de congestionamento de sinal em qualquer nó OpenThread, ative o recurso Detecção de congestionamento.

Esse recurso é útil para certificações de dispositivos que exigem a capacidade de detectar interferência de sinal em um canal específico. Ele pode ser configurado para atender aos requisitos de cada tipo de certificação.

Como funciona

A detecção de congestionamento monitora o RSSI (indicador de intensidade do sinal recebido) de um nó durante janelas de tempo especificadas para determinar se o canal foi congestionado.

Quando a detecção de atolamento está ativada:

  1. O Estado de detecção de atolamento é definido como false .
  2. O nó faz a amostragem do RSSI várias vezes a cada intervalo de um segundo.
  3. Se o RSSI durante todo o intervalo de um segundo permanecer acima do Limiar RSSI configurado para cada amostra, esse intervalo de um segundo será considerado congestionado.
  4. Se um número agregado de intervalos de um segundo congestionados for maior ou igual ao número agregado de segundos do período ocupado configurados nos segundos da janela de detecção configurada anterior a qualquer momento, o Estado de detecção de congestionamento naquele momento é definido como true .
  5. Se um número agregado de intervalos de um segundo congestionados for menor do que o número agregado de segundos do período ocupado configurados nos segundos da janela de detecção configurada anterior a qualquer momento, o estado de detecção de congestionamento naquele momento será definido como false .

Bitmap de história

Na API OpenThread e wpantund propriedades wpantund , um bitmap dos 63 segundos anteriores está disponível para recuperação. Este bitmap indica se o RSSI cruzou o Limiar RSSI configurado em cada um dos 63 segundos anteriores.

Por exemplo, você pode recuperar o seguinte bitmap:

0xC248068C416E7FF0

A conversão para binário produz cada instância em que o RSSI ultrapassou o limite configurado do RSSI durante os 63 segundos anteriores:

11000010 01001000 00000110 10001100 01000001 01101110 01111111 11110000

Se a janela de detecção for definida para 16 segundos e o período ocupado for definido para 8 segundos, o estado de detecção de atolamento se tornará true em 51 segundos, pois essa é a primeira instância em que o limite RSSI foi excedido em pelo menos 8 segundos inteiros no período anterior 16 segundos. Neste exemplo, o estado de detecção de atolamento permanece true pelos próximos 13 segundos.

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

Este bitmap pode ser representado pelo seguinte gráfico, se -45 dBm for o limite RSSI configurado:

OT Jam Detection

Como habilitar

Este recurso está desabilitado por padrão.

Por definir

Para ativar a detecção de atolamento, defina OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE como 1 no arquivo /src/core/config/openthread-core-default-config.h , antes de construir o OpenThread :

#ifndef OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE
#define OPENTHREAD_CONFIG_JAM_DETECTION_ENABLE 1
#endif

Por interruptor

Como alternativa, use a JAM_DETECTION=1 compilação JAM_DETECTION=1 ao compilar OpenThread :

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

Parâmetros

Os parâmetros de detecção de atolamento só podem ser configurados por meio da API OpenThread, o protocolo Spinel ou wpanctl , a ferramenta de linha de comando wpantund para gerenciamento de Co-Processador de Rede (NCP). Os valores padrão são aplicados se o recurso for ativado sem configuração subsequente.

Personalize este recurso usando os seguintes parâmetros:

Parâmetros
Limiar RSSI
Valor padrão
0 dBm
Descrição
Especifica o nível de limite RSSI em dBm acima do qual considerar o canal bloqueado.
Janela de Detecção
Valor padrão
63 segundos
Descrição
Especifica a janela em segundos para verificar se há interferência de sinal. Faixa: 1-63.
Período ocupado
Valor padrão
63 segundos
Descrição
Especifica o número de segundos agregados na janela de detecção em que o RSSI deve estar acima do limite de RSSI para acionar a detecção de atolamento. Deve ser menor que a janela de detecção. Faixa: 1-63.

API

OpenThread

Use a API Jam Detection para gerenciar o recurso Jam Detection diretamente em seu aplicativo OpenThread. A API OpenThread fornece a seguinte funcionalidade:

  • Iniciar e parar o recurso
  • Ver o estado de detecção de atolamento
  • Gerenciar todos os parâmetros
  • Recupere o bitmap de histórico de detecção de atolamento atual
  • Registre uma função de retorno de chamada para quando um atolamento for detectado

Spinel

O protocolo Spinel permite que um dispositivo host se comunique diretamente com um NCP. Este protocolo expõe propriedades de detecção de Jam em /src/lib/spinel/spinel.h que fornecem a seguinte funcionalidade:

  • Iniciar e parar o recurso
  • Ver o estado de detecção de atolamento
  • Gerenciar todos os parâmetros
  • Recupere o bitmap de histórico de detecção de atolamento atual

CLI

OpenThread

Não há comandos CLI OpenThread relacionados a este recurso.

Wpantund

Use o wpanctl CLI para gerenciar o recurso Jam Detection para uma configuração OpenThread NCP. wpantund retém toda a configuração de detecção de atolamento na reinicialização do NCP.

wpanctl fornece acesso às seguintes propriedades wpantund :

Propriedades
JamDetection:Status
Formato
boleano
Descrição
Somente leitura. Estado de detecção de atolamento. Indica se um congestionamento de sinal foi detectado no momento.
JamDetection:Enable
Formato
boleano
Descrição
Ative ou desative o recurso de detecção de atolamento.
JamDetection:RssiThreshold
Formato
dBm
Descrição
Especifica o nível de RSSI limite em dBm acima do qual considerar o canal bloqueado.
JamDetection:Window
Formato
segundos
Descrição
Especifica a janela em segundos para verificar se há interferência de sinal. Faixa: 1-63.
JamDetection:BusyPeriod
Formato
segundos
Descrição
Especifica o número de segundos agregados em JamDetection:Window na qual o RSSI deve estar acima de JamDetection:RssiThreshold para acionar a Detecção de Jam. Deve ser menor que JamDetection:Window . Faixa: 1-63.
JamDetection:Debug:HistoryBitmap
Formato
Valor de 64 bits
Descrição
Fornece informações sobre o histórico do estado de detecção de congestionamento para fins de monitoramento e depuração.

Por exemplo, para obter o estado de detecção de atolamento de um NCP:

sudo wpanctl getprop JamDetection:Status
JamDetection:Status = false

Para definir o limite RSSI de detecção de atolamento para -45 dBm em um NCP:

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

Para obter mais informações sobre propriedades wpantund , consulte o repositório wpantund GitHub .