Recherche périodique des parents

Afficher la source sur GitHub

Pour permettre aux appareils finaux d'un réseau Thread de passer à un meilleur parent que celui qu'ils utilisent actuellement, tout en restant connectés au réseau, activez la fonctionnalité de recherche périodique de parent.

Pour déterminer si un parent candidat est meilleur pour l'appareil final, cette fonctionnalité vérifie divers attributs, y compris les suivants :

  • RSSI (indicateur d'intensité du signal reçu)
  • Qualité du lien
  • Connectivité du parent candidat à d'autres extendeurs Mesh
  • Nombre d'enfants existants pour le parent candidat

Cela permet de s'assurer que les appareils finaux se connectent au meilleur parent possible au lieu de rester connectés à un parent dont la qualité du lien ou la connectivité sont médiocres. Cette fonctionnalité est particulièrement utile lorsqu'un nouvel extendeur Mesh est ajouté à un réseau Thread existant.

Fonctionnement

  1. L'appareil final vérifie la valeur RSSI moyenne de son parent actuel, en fonction de l'intervalle de vérification configuré (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. Si la valeur RSSI moyenne du parent actuel de l'appareil final est inférieure au seuil configuré (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), une recherche de parent est lancée :
    1. Si la recherche de parent découvre un meilleur parent, l'appareil final dissout son lien enfant-parent actuel et lance le processus de connexion MLE avec le nouveau parent.
    2. Si la recherche de parent ne découvre pas de meilleur parent, le lien enfant-parent existant est conservé.
  3. Après la tentative de recherche de parent, l'appareil final attend de vérifier la valeur RSSI moyenne de son parent actuel en fonction de l'intervalle de backoff configuré (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). Ce backoff se produit quel que soit le résultat de la recherche de parent.

Nous vous recommandons d'activer la fonctionnalité Informer le parent précédent lors de la reconnexion en même temps que cette fonctionnalité.

Comment l'activer

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

Pour activer la recherche périodique de parent, définissez OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE sur 1 dans le /src/core/config/parent_search.h fichier, avant de créer OpenThread :

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

Paramètres

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

Paramètres
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
Valeur par défaut
540 secondes (9 minutes)
Description
Spécifie l'intervalle en secondes pendant lequel un enfant vérifie la condition de déclenchement pour effectuer une recherche de parent.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
Valeur par défaut
36 000 secondes (10 heures)
Description
Spécifie l'intervalle entre les tentatives en secondes pendant lequel un enfant n'effectue pas de recherche de parent après en avoir déclenché une.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
Valeur par défaut
-65
Description
Spécifie le seuil RSSI utilisé pour déclencher une recherche de parent.

API

Il n'existe pas d'API publique pour cette fonctionnalité.

CLI

Aucune commande CLI n'est associée à cette fonctionnalité.