Supervisão infantil

Veja o código-fonte no GitHub

Para fornecer um mecanismo de baixo consumo de energia para um dispositivo com estado de suspensão (SED, na sigla em inglês) para verificar se ele ainda está conectado ao roteador pai (listado na tabela filha do roteador pai), ative o recurso Supervisão filha.

A especificação da linha de execução exige que um SED realize periodicamente uma solicitação de atualização de filho MLE e a troca de respostas com o roteador pai para verificar a conectividade. A supervisão filha é uma solução alternativa para a verificação da conectividade do roteador SED que sobrecarrega o transmissor de mensagens do roteador pai, em vez do SED com restrição de energia.

Como funciona

Esse recurso funciona de duas maneiras, dependendo do tipo de nó e dos parâmetros configurados:

No pai

Se um roteador pai não for transmitido para o SED filho no OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, ele vai enfileirar e enviar uma mensagem de supervisão filha ao SED filho. A mensagem "Supervisão filha" é um frame MAC que contém as seguintes informações:

  • O RLOC16 do SED como o destino no cabeçalho MAC.
  • Um payload vazio.

Por padrão, um cabeçalho MAC contém uma solicitação ACK 802.15.4. Para desativar essa solicitação na mensagem "Supervisão filha", defina o parâmetro OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST como 1.

No filho

Se um SED não ouvir o roteador pai no OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, ele presume que perdeu a conexão com o roteador pai e inicia o processo de anexar MLE para se reconectar ao roteador pai.

Como ativar

Esse recurso fica desativado por padrão.

Por definição

Para ativar a supervisão filha, defina OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE como 1 no arquivo openthread/src/core/config/child_supervision.h antes de criar o OpenThread:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Por opção

Como alternativa, use a opção de build -DOT_CHILD_SUPERVISION=ON ao criar OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Parâmetros

Use os seguintes parâmetros em openthread/src/core/config/child_supervision.h para personalizar esse recurso:

Parâmetros
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Valor padrão
129 segundos
Descrição
Especifica o intervalo de supervisão em segundos usado pelo pai. Defina como 0 para desativar o processo de supervisão no pai.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Valor padrão
190 segundos
Descrição
Especifica o tempo limite da verificação de supervisão em segundos usado por um dispositivo no estado filho. Defina como 0 para desativar o processo de verificação de supervisão no filho.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Valor padrão
0 (solicitação ACK ativada)
Descrição
Defina como 1 para limpar/desativar a solicitação ACK 802.15.4 no cabeçalho MAC de uma mensagem de supervisão.

API

Use a API Child Supervision para gerenciar a supervisão e verificar os intervalos de tempo limite diretamente no aplicativo OpenThread.

CLI

Não há comandos da CLI relacionados a esse recurso.