Para fornecer um mecanismo de baixo consumo de energia em um dispositivo final com sono (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 infantil.
A especificação de linha de execução exige que um SED realize periodicamente uma troca de solicitação e resposta de atualização de MLE 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 coloca a sobrecarga da transmissão de mensagens no 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
,
o roteador pai entrará na fila e enviará uma mensagem de supervisão filha ao SED
filho. A mensagem de supervisão filha é um frame MAC contendo as seguintes
informações:
- A 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 802.15.4 ACK. Para desativar essa
solicitação na mensagem Supervisão filha, defina o parâmetro
OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST
como 1.
Na criança
Se um SED não ouvir o roteador pai no
OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT
,
ele presumirá que perdeu a conexão com o roteador pai e iniciará
o processo de MLE
Attach
para se reconectar ao roteador pai.
Como ativar
Esse recurso fica desativado por padrão.
Por definição
Para ativar a supervisão dos filhos, 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 criação -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 |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
API
Use a API Child Supervision para gerenciar a supervisão e verifique os intervalos de tempo limite diretamente no seu aplicativo OpenThread.
CLI
Não há comandos da CLI relacionados a este recurso.