Para fornecer um mecanismo de eficiência energética para que um dispositivo final de suspensão (SED, na sigla em inglês) verifique se ele ainda está conectado ao roteador principal (listado na tabela filha do roteador principal), ative o recurso de supervisão infantil.
A especificação Thread requer que um SED realize periodicamente uma troca de solicitação de atualização e resposta filhas do MLE com o roteador pai para verificar a conectividade. A supervisão de crianças é uma solução alternativa para a verificação da conectividade do SED com o roteador, que coloca a carga da transmissão de mensagens no roteador principal, 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 familiar responsável
Se um roteador pai não transmitir para o SED filho no
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
,
ele será colocado na fila e enviará uma mensagem de supervisão filha para o
SED filho. A mensagem de supervisão de crianças é 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 802.15.4 ACK. Para desativar essa
solicitação na mensagem de supervisão de crianças, 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 dentro do
OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT
,
ele pressupõe que perdeu a conexão com o roteador pai e inicia
o processo de anexação do MLE
para se reconectar ao roteador pai.
Como ativar
Esse recurso fica desativado por padrão.
Por definição
Para ativar a supervisão de crianças, 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 |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
API
Use a API Child Supervision para gerenciar a supervisão e verificar intervalos de tempo limite diretamente no seu aplicativo OpenThread.
CLI
Não há comandos da CLI relacionados a esse recurso.