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
- 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
). - 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:- 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.
- Se la ricerca del genitore non rileva un router principale migliore, il collegamento secondario secondario esistente rimane.
- 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 |
|
||||
OPENThread_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL |
|
||||
OPENThread_CONFIG_PARENT_RICERCA_RSS_SOGLIA |
|
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à.