Google is committed to advancing racial equity for Black communities. See how.
Cette page a été traduite par l'API Cloud Translation.
Switch to English

Surveillance des enfants

Pour fournir un mécanisme écoénergétique à un périphérique endormi (SED) pour vérifier qu'il est toujours connecté à son routeur parent (répertorié dans le tableau enfant du routeur parent), activez la fonction de supervision enfant.

La spécification de thread exige qu'un SED effectue périodiquement une demande de mise à jour enfant MLE et un échange de réponse avec son routeur parent pour vérifier la connectivité. La supervision enfant est une solution alternative pour la vérification de la connectivité du routeur SED qui place le fardeau de la transmission des messages sur le routeur parent plutôt que sur le SED à énergie limitée.

Comment ça fonctionne

Cette fonctionnalité fonctionne de deux manières, selon le type de nœud et les paramètres configurés:

Sur le parent

Si un routeur parent ne transmet pas à son SED enfant dans OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL , le routeur parent met en file d'attente et envoie un message de supervision enfant au SED enfant. Le message de supervision 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 802.15.4 ACK. Pour désactiver cette demande dans le message de supervision enfant, définissez le paramètre OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST sur 1.

Sur l'enfant

Si un SED n'entend pas de son routeur parent dans OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT , il suppose qu'il a perdu sa connexion au routeur parent et lance le processus MLE Attach pour se reconnecter au routeur parent.

Comment activer

Cette fonctionnalité est désactivée par défaut.

Par définir

Pour activer la supervision enfant, définissez OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE comme 1 dans le fichier /src/core/config/child_supervision.h , avant de construire OpenThread :

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Par interrupteur

Vous pouvez également utiliser le commutateur de construction CHILD_SUPERVISION=1 lors de la construction d'OpenThread :

make -f examples/Makefile-<platform> CHILD_SUPERVISION=1

Paramètres

Utilisez les paramètres suivants dans /src/core/config/child_supervision.h pour personnaliser cette fonctionnalité:

Paramètres
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Valeur par défaut
129 secondes
La description
Spécifie l'intervalle de supervision en secondes utilisé par le parent. Réglez sur 0 pour désactiver le processus de supervision sur le parent.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Valeur par défaut
190 secondes
La description
Spécifie l'intervalle d'expiration du contrôle de supervision en secondes utilisé par un périphérique à l'état enfant. Réglez sur 0 pour désactiver le processus de contrôle de supervision sur l'enfant.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Valeur par défaut
0 (demande ACK activée)
Description
Mettre à 1 pour effacer / désactiver la demande 802.15.4 ACK dans l'en-tête MAC d'un message de supervision.

API

Utilisez l' API Child Supervision pour gérer les intervalles de supervision et de vérification des délais d'expiration directement dans votre application OpenThread.

CLI

Il n'y a pas de commandes CLI liées à cette fonctionnalité.