Okresowe wyszukiwanie rodzica

Wyświetl źródło w GitHub

Aby umożliwić urządzeniom końcowym w sieci Thread przełączanie się na lepszego rodzica niż obecny, gdy są one nadal połączone z siecią, włącz funkcję okresowego wyszukiwania rodzica.

Aby określić, czy kandydat na rodzica jest lepszy dla urządzenia końcowego, ta funkcja sprawdza różne jego atrybuty, w tym:

  • RSSI (wskaźnik siły odbieranego sygnału),
  • jakość połączenia,
  • połączenie kandydata na rodzica z innymi wzmacniaczami sieci Mesh,
  • liczbę istniejących dzieci kandydata na rodzica.

Dzięki temu urządzenia końcowe łączą się z najlepszym możliwym rodzicem, zamiast pozostawać połączone z rodzicem o słabej jakości połączenia lub połączenia. Ta funkcja jest szczególnie przydatna, gdy do istniejącej sieci Thread dodawany jest nowy wzmacniacz sieci Mesh.

Jak to działa

  1. Urządzenie końcowe sprawdza średnią wartość RSSI dla swojego obecnego rodzica, zgodnie ze skonfigurowanym interwałem sprawdzania (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. Jeśli średnia wartość RSSI dla obecnego rodzica urządzenia końcowego jest niższa niż skonfigurowany próg (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), rozpoczyna się wyszukiwanie rodzica:
    1. Jeśli wyszukiwanie rodzica wykryje lepszego rodzica, urządzenie końcowe rozwiązuje bieżące połączenie dziecko-rodzic i rozpoczyna proces MLE Attach z nowym rodzicem.
    2. Jeśli wyszukiwanie rodzica nie wykryje lepszego rodzica, istniejące połączenie dziecko-rodzic pozostaje.
  3. Po próbie wyszukiwania rodzica urządzenie końcowe czeka na sprawdzenie średniej wartości RSSI dla swojego obecnego rodzica zgodnie ze skonfigurowanym interwałem wycofania (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). Wycofanie następuje niezależnie od wyniku wyszukiwania rodzica.

Zalecamy włączenie funkcji Inform Previous Parent on Reattach (Informuj poprzedniego rodzica o ponownym połączeniu) w połączeniu z tą funkcją.

Jak włączyć

Domyślnie ta funkcja jest wyłączona.

Aby włączyć okresowe wyszukiwanie rodzica, zdefiniuj OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE jako 1 w pliku /src/core/config/parent_search.h, przed skompilowaniem OpenThread:

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

Parametry

Aby dostosować tę funkcję, użyj tych parametrów w /src/core/config/parent_search.h:

Parametry
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
Wartość domyślna
540 sekund (9 minut)
Opis
Określa interwał w sekundach, po którym dziecko ma sprawdzać warunek wyzwalający wyszukiwanie rodzica.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
Wartość domyślna
36000 sekund (10 godzin)
Opis
Określa czas zwłoki w sekundach, po którym dziecko nie ma wykonywać wyszukiwania rodzica po jego wyzwoleniu.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
Wartość domyślna
–65
Opis
Określa próg RSSI używany do wyzwalania wyszukiwania rodzica.

Interfejs API

Ta funkcja nie ma publicznego interfejsu API.

CLI

Nie ma poleceń interfejsu wiersza poleceń związanych z tą funkcją.