Supervisão infantil

Ver origem no GitHub

Para fornecer um mecanismo com eficiência energética para que um dispositivo final inativo (SED) verifique se ainda está conectado ao pai (listado na tabela de filhos do pai), ative o recurso de supervisão de filhos.

A especificação do Thread exige que um SED realize periodicamente uma troca de solicitação e resposta de atualização de filho MLE com o pai para verificar a conectividade. A supervisão de filhos é uma solução alternativa para a verificação da conectividade SED-pai que coloca o ônus da transmissão de mensagens no pai, em vez do SED com restrição de energia.

Como funciona

Esse recurso funciona de duas maneiras, dependendo do tipo de nó e de quais parâmetros estão configurados:

No pai

Se um pai não transmitir para o SED filho dentro do OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, ele vai enfileirar e enviar uma mensagem de supervisão de filhos para o SED filho. A mensagem de supervisão de filhos é um frame MAC que contém as seguintes informações:

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

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

Na criança

Se um SED não receber informações do pai dentro do OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, ele vai presumir que perdeu a conexão com o pai e iniciar o MLE processo de anexação para se reconectar à rede.

Como ativar

Esse recurso está desativado por padrão.

Por definição

Para ativar a supervisão de filhos, defina OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE como 1 no openthread/src/core/config/child_supervision.h arquivo, 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 o 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 intervalo de tempo limite de 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 na criança.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Valor padrão
0 (solicitação de ACK ativada)
Descrição
Defina como 1 para limpar/desativar a solicitação de ACK 802.15.4 no cabeçalho MAC de uma mensagem de supervisão.

API

Use a API de supervisão de filhos para gerenciar os intervalos de supervisão e de tempo limite de verificação diretamente no aplicativo OpenThread.

CLI

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