Ricerca periodica genitori

Visualizza l'origine su GitHub

Per consentire ai dispositivi finali in una rete Thread di passare a un genitore migliore di quello attuale, pur rimanendo collegati alla rete, attiva la funzionalità Ricerca periodica del genitore.

Per determinare se un genitore candidato è migliore per il dispositivo finale, questa funzionalità controlla una serie di attributi, tra cui:

  • RSSI (indicatore di intensità del segnale ricevuto)
  • Qualità del collegamento
  • Connettività del genitore candidato ad altri Mesh Extender
  • Numero di figli esistenti per il genitore candidato

In questo modo, i dispositivi finali si connettono al miglior genitore possibile anziché rimanere collegati a un genitore con scarsa qualità del collegamento o connettività. Questa funzionalità è particolarmente utile quando viene aggiunto un nuovo Mesh Extender a una rete Thread esistente.

Come funziona

  1. Il dispositivo finale controlla il valore RSSI medio del genitore attuale, in base all'intervallo di controllo configurato (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. Se il valore RSSI medio del genitore attuale del dispositivo finale è inferiore alla soglia configurata (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), viene avviata una ricerca del genitore:
    1. Se la ricerca del genitore rileva un genitore migliore, il dispositivo finale scioglie il collegamento figlio-genitore attuale e avvia la procedura di collegamento MLE con il nuovo genitore.
    2. Se la ricerca del genitore non rileva un genitore migliore, il collegamento figlio-genitore esistente rimane.
  3. Dopo il tentativo di ricerca del genitore, il dispositivo finale attende di controllare il valore RSSI medio del genitore attuale in base all'intervallo di backoff configurato (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). Questo backoff si verifica indipendentemente dal risultato della ricerca del genitore.

Ti consigliamo di attivare la funzionalità Informa il genitore precedente al ricollegamento insieme a questa funzionalità.

Come attivare

Questa funzionalità è disattivata per impostazione predefinita.

Per attivare la ricerca periodica del genitore, definisci OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE come 1 nel /src/core/config/parent_search.h file, prima di creare OpenThread:

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

Parametri

Utilizza i seguenti parametri in /src/core/config/parent_search.h per personalizzare questa funzionalità:

Parametri
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
Valore predefinito
540 secondi (9 minuti)
Descrizione
Specifica l'intervallo in secondi in cui un figlio deve controllare la condizione di attivazione per eseguire una ricerca del genitore.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
Valore predefinito
36.000 secondi (10 ore)
Descrizione
Specifica l'intervallo di backoff in secondi in cui un figlio non deve eseguire una ricerca del genitore dopo averne attivata una.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
Valore predefinito
-65
Descrizione
Specifica la soglia RSSI utilizzata per attivare una ricerca del genitore.

API

Non esiste un'API pubblica per questa funzionalità.

CLI

Non esistono comandi dell'interfaccia a riga di comando correlati a questa funzionalità.