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 |
|
||||
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 os intervalos de tempo limite diretamente no aplicativo OpenThread.
CLI
Não há comandos da CLI relacionados a esse recurso.