Ricerca periodica genitori

Visualizza l'origine su GitHub

Per consentire ai dispositivi finali (ED) in una rete Thread di passare a un router principale migliore rispetto a quello attuale, pur continuando a utilizzare la rete, attiva la funzionalità di ricerca padre periodica.

Per determinare se un router è un genitore migliore per l'ED, questa funzionalità controlla una serie di attributi del router, tra cui:

  • RSSI (indicatore di potenza del segnale ricevuto)
  • Qualità del link
  • Connessione del router ad altri router
  • Numero di figli secondari per il router

Questo assicura che i servizi ED si connettano al miglior router possibile, anziché rimanere connessi a un router con scarsa qualità dei link o connessione. Questa funzionalità è particolarmente utile quando viene aggiunto un nuovo router a una rete Thread esistente.

Come funziona

  1. L'ED controlla il valore RSSI medio del rispettivo router principale attuale, in base all'intervallo di controllo configurato (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. Se il valore RSSI medio del router principale attuale di ED è inferiore alla soglia configurata (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), viene avviata una ricerca padre:
    1. Se la ricerca padre rileva un router padre migliore, l'ED dissolve il collegamento corrente secondario-genitore e avvia il processo MLE Attach con il nuovo router.
    2. Se la ricerca del genitore non rileva un router principale migliore, il collegamento secondario secondario esistente rimane.
  3. Dopo il tentativo di ricerca padre, l'ED attende di controllare il valore medio RSSI del router router attuale in base all'intervallo di backoff configurato (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). Questo backoff si verifica indipendentemente dal risultato della ricerca padre.

Ti consigliamo di attivare questa funzionalità insieme a questa funzione Inform precedente (genitore principale) quando esegui il collegamento.

Come attivare la funzionalità

Questa funzionalità è disattivata per impostazione predefinita.

Per abilitare la ricerca padre periodica, definisci OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE come 1 nel file /src/core/config/parent_search.h 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_RICERCA_CONTROLLO_INTERVALLO
Valore predefinito
540 secondi (9 minuti)
Description (Descrizione)
Specifica l'intervallo in secondi per cui un minore può verificare la condizione di attivazione per eseguire una ricerca padre.
OPENThread_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
Valore predefinito
36.000 secondi (10 ore)
Description (Descrizione)
Specifica l'intervallo di backoff in secondi che un minore non può eseguire in una ricerca padre dopo averne attivato uno.
OPENThread_CONFIG_PARENT_RICERCA_RSS_SOGLIA
Valore predefinito
-65
Description (Descrizione)
Specifica la soglia RSSI utilizzata per attivare una ricerca padre.

API

Non esiste un'API pubblica per questa funzionalità.

interfaccia a riga di comando

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