Pour fournir un mécanisme écoénergétique permettant à un appareil final en veille (SED) de vérifier qu'il est toujours connecté à son parent (répertorié dans le tableau des enfants du parent), activez la fonctionnalité de supervision des enfants.
La spécification Thread exige qu'un SED effectue périodiquement un échange de requêtes et de réponses de mise à jour de l'enfant MLE avec son parent pour vérifier la connectivité. La supervision des enfants est une solution alternative pour vérifier la connectivité entre le SED et le parent. Elle transfère la charge de la transmission des messages au parent au lieu du SED à faible consommation d'énergie.
Fonctionnement
Cette fonctionnalité fonctionne de deux manières, en fonction du type de nœud et des paramètres configurés :
Sur le parent
Si un parent ne transmet pas à son enfant SED dans le
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL,
il met en file d'attente et envoie un message de supervision de l'enfant au
SED. Le message de supervision de l'enfant est une trame MAC contenant les informations suivantes :
- Le RLOC16 du SED comme destination dans l'en-tête MAC.
- Une charge utile vide.
Par défaut, un en-tête MAC contient une requête ACK 802.15.4. Pour désactiver cette
requête dans le message de supervision de l'enfant, définissez le
OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST paramètre sur 1.
Sur l'enfant
Si un SED n'entend pas son parent dans le
OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT,
il suppose qu'il a perdu sa connexion au parent et lance
le processus d'association MLE
pour se reconnecter au réseau.
Comment l'activer
Cette fonctionnalité est désactivée par défaut.
Par définition
Pour activer la supervision des enfants, définissez
OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE sur 1 dans le
openthread/src/core/config/child_supervision.h
fichier, avant de créer OpenThread :
#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif
Par option
Vous pouvez également utiliser l'option de compilation -DOT_CHILD_SUPERVISION=ON lors de la compilation
d'OpenThread :
./script/build -DOT_CHILD_SUPERVISION=ON
Paramètres
Utilisez les paramètres suivants dans
openthread/src/core/config/child_supervision.h
pour personnaliser cette fonctionnalité :
| Paramètres | |||||
|---|---|---|---|---|---|
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
||||
API
Utilisez l'API de supervision des enfants pour gérer les intervalles de supervision et de délai avant expiration directement dans votre application OpenThread.
CLI
Aucune commande CLI n'est associée à cette fonctionnalité.