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 |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
||||
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.