Nadzór rodzicielski

Wyświetl źródło na GitHubie

Aby udostępnić energooszczędny mechanizm urządzeń do snu (SED), który pozwala sprawdzić, czy urządzenie jest nadal połączone z jego routerem nadrzędnym (wymienionym w tabeli podrzędnej nadrzędnego routera), włącz funkcję Tryb podrzędny.

Specyfikacja wątków wymaga SED do okresowego wykonywania wymiany i aktualizacji żądań MLE dla dzieci z routerem nadrzędnym w celu zweryfikowania połączenia. Nadzór podrzędny to alternatywne rozwiązanie umożliwiające weryfikację połączeń routera SED, które obciąża przesyłanie wiadomości na nadrzędnym routerze, a nie na SED z ograniczoną energią.

Jak to działa

Ta funkcja działa na 2 sposoby w zależności od typu węzła i skonfigurowanych parametrów:

W elemencie nadrzędnym

Jeśli router nadrzędny nie przesyła danych do podrzędnego SED w obrębie instancji OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, router nadrzędny znajduje się w kolejce i wysyła do niego podrzędnego nadzoru rodzicielskiego. Wiadomość dotycząca nadzoru rodzicielskiego to ramka MAC zawierająca następujące informacje:

  • RLOC16 lokalizacji SED jako miejsca docelowego w nagłówku MAC.
  • Ładunek pusty.

Domyślnie nagłówek MAC zawiera żądanie ACK 802.15.4. Aby wyłączyć to żądanie w komunikacie nadzoru rodzicielskiego, ustaw parametr OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST na 1.

W dziedzinie dziecka

Jeśli SED nie odbiera połączeń z nadrzędnego routera w obszarze OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, zakłada, że utracił połączenie z nadrzędnym routerem, i inicjuje proces łączenia MLE, aby ponownie nawiązać połączenie z nadrzędnym routerem.

Jak włączyć

Ta funkcja jest domyślnie wyłączona.

Według definicji

Aby włączyć nadzór rodzicielski, w pliku openthread/src/core/config/child_supervision.h zdefiniuj zasadę OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE jako wartość 1 przed tworzeniem OpenThread:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Według opcji

Możesz też użyć opcji kompilacji -DOT_CHILD_SUPERVISION=ON podczas kompilowania OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Parametry

Użyj następujących parametrów w openthread/src/core/config/child_supervision.h, aby dostosować tę funkcję:

Parametry
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Wartość domyślna
129 sekund
Description
Określa przedział nadzoru w sekundach, którego rodzic używa. Ustaw wartość 0, aby wyłączyć proces nadzoru rodzicielskiego.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Wartość domyślna
190 sekund
Description
Określa przedział czasu oczekiwania na nadzór w sekundach, które są używane przez urządzenie w trybie podrzędnym. Ustaw wartość 0, aby wyłączyć proces sprawdzania nadzoru nad dzieckiem.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Wartość domyślna
0 (prośba o potwierdzenie akcesorium włączona)
Description
Ustaw wartość 1, aby wyczyścić lub wyłączyć żądanie 802.15.4 potwierdzenia użytkownika w nagłówku MAC wiadomości nadzorczej.

API

Interfejs Child Supervision API służy do zarządzania nadzórem i sprawdzania przedziałów czasu bezpośrednio w aplikacji OpenThread.

interfejs CLI

Brak poleceń interfejsu wiersza poleceń związanych z tą funkcją.