Visualizza l'origine su GitHub
Per fornire un meccanismo a basso consumo energetico per un dispositivo finale in stato di sospensione (SED) per verificare che sia ancora connesso al suo genitore (elencato nella tabella dei figli del genitore), attiva la funzionalità di supervisione dei figli.
La specifica Thread richiede che un SED esegua periodicamente uno scambio di richieste e risposte di aggiornamento dei figli MLE con il suo genitore per verificare la connettività. La supervisione dei figli è una soluzione alternativa per la verifica della connettività SED-genitore che sposta l'onere della trasmissione dei messaggi sul genitore anziché sul SED con vincoli energetici.
Come funziona
Questa funzionalità funziona in due modi, a seconda del tipo di nodo e dei parametri configurati:
Sul genitore
Se un genitore non trasmette al SED figlio entro il
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL,
il genitore mette in coda e invia un messaggio di supervisione dei figli al
SED figlio. Il messaggio di supervisione dei figli è un frame MAC che contiene le seguenti informazioni:
- L'RLOC16 del SED come destinazione nell'intestazione MAC.
- Un payload vuoto.
Per impostazione predefinita, un'intestazione MAC contiene una richiesta ACK 802.15.4. Per disattivare questa
richiesta nel messaggio di supervisione dei figli, imposta il
OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST parametro su 1.
Sul figlio
Se un SED non riceve notizie dal suo genitore entro il
OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT,
presuppone di aver perso la connessione con il genitore e avvia
la procedura di collegamento MLE
Attach
per ricollegarsi alla rete.
Come attivare
Questa funzionalità è disattivata per impostazione predefinita.
Per definizione
Per attivare la supervisione dei figli, definisci
OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE come 1 nel
openthread/src/core/config/child_supervision.h
file, prima di creare OpenThread:
#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif
Per opzione
In alternativa, utilizza l'opzione di build -DOT_CHILD_SUPERVISION=ON quando crei
OpenThread:
./script/build -DOT_CHILD_SUPERVISION=ON
Parametri
Utilizza i seguenti parametri in
openthread/src/core/config/child_supervision.h
per personalizzare questa funzionalità:
| Parametri | |||||
|---|---|---|---|---|---|
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
||||
API
Utilizza l'API di supervisione dei figli per gestire gli intervalli di supervisione e di timeout di controllo direttamente nella tua applicazione OpenThread.
CLI
Non sono disponibili comandi dell'interfaccia a riga di comando correlati a questa funzionalità.