Para fornecer um mecanismo de eficiência energética para um dispositivo de fim de sono (SED) para verificar se ele ainda está conectado a seu roteador pai (listado na tabela filho do roteador pai), habilite o recurso Supervisão filho.
A Thread Specification requer que um SED execute periodicamente uma solicitação de atualização de criança MLE e troca de resposta com seu roteador pai para verificar a conectividade. Child Supervision é uma solução alternativa para a verificação da conectividade do roteador SED que coloca o fardo da transmissão da mensagem no roteador pai em vez de no SED com restrição de energia.
Como funciona
Este recurso funciona de duas maneiras, dependendo do tipo de nó e dos parâmetros configurados:
No pai
Se um roteador pai não transmitir para seu SED filho dentro de OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
, o roteador pai enfileira e envia uma mensagem de Supervisão filho ao SED filho. A mensagem Child Supervision é um quadro MAC contendo as seguintes informações:
- O RLOC16 do SED como destino no cabeçalho MAC.
- Uma carga útil vazia.
Por padrão, um cabeçalho MAC contém uma solicitação 802.15.4 ACK. Para desabilitar essa solicitação na mensagem de Supervisão Criança, defina o parâmetro OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST
para 1.
Na criança
Se um SED não ouvir de seu roteador pai dentro do OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT
, ele assume que perdeu sua conexão ao roteador pai e inicia o processo MLE Attach para reconectar ao roteador pai.
Como habilitar
Este recurso está desabilitado por padrão.
Por definir
Para ativar a supervisão infantil, defina OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
como 1
no arquivo /src/core/config/child_supervision.h
, antes de construir o OpenThread :
#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE #define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1 #endif
Por interruptor
Como alternativa, use a CHILD_SUPERVISION=1
compilação CHILD_SUPERVISION=1
ao compilar OpenThread :
make -f examples/Makefile-<platform> CHILD_SUPERVISION=1
Parâmetros
Use os seguintes parâmetros em /src/core/config/child_supervision.h
para personalizar este 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 em seu aplicativo OpenThread.
CLI
Não há comandos CLI relacionados a este recurso.