Nadzór rodzicielski

Wyświetl źródło w GitHubie

Aby zapewnić urządzeniu końcowemu z trybem oszczędzania energii (SED) mechanizm energooszczędny, który sprawdza, czy nadal jest ono połączone z routerem nadrzędnym (wymienionym w tabeli podrzędnych routerów), włącz funkcję nadzoru nad dziećmi.

Specyfikacja Thread wymaga, aby SED okresowo przeprowadzał wymianę żądania i odpowiedzi MLE w celu sprawdzenia połączenia z routerem nadrzędnym. Nadzór nad dziećmi to alternatywne rozwiązanie umożliwiające weryfikację połączeń SED-router, które przenosi odpowiedzialność za przesyłanie wiadomości z routera głównego na SED z ograniczonym poborem mocy.

Jak to działa

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

Na koncie wydawcy nadrzędnego

Jeśli router nadrzędny nie przesyła danych do podrzędnego serwera SED w obrębie OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, router nadrzędny dodaje go do kolejki i wysyła do niego komunikat nadzoru podrzędnego. Komunikat dotyczący nadzoru nad dzieckiem to ramka MAC zawierająca te informacje:

  • RLOC16 z SED jako miejsce docelowe w nagłówku MAC.
  • Pusty ładunek.

Domyślnie nagłówek MAC zawiera żądanie potwierdzenia 802.15.4. Aby wyłączyć tę prośbę w wiadomości dotyczącej nadzoru nad dzieckiem, ustaw parametr OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST na 1.

Informacje o dziecku

Jeśli SED nie otrzyma odpowiedzi od routera nadrzędnego w ciągu OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, zakłada, że utraciło połączenie z tym routerem i inicjuje proces MLE Attach, aby ponownie połączyć się z routerem nadrzędnym.

Jak włączyć

Ta funkcja jest domyślnie wyłączona.

Definicja

Aby włączyć nadzór nad dzieckiem, w pliku openthread/src/core/config/child_supervision.h zdefiniuj OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE jako 1 przed utworzeniem 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 tworzenia OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Parametry

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

Parametry
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Wartość domyślna
129 sekund
Opis
Określa interwał nadzoru w sekundach używany przez rodzica. Aby wyłączyć proces nadzoru na urządzeniu nadrzędnym, ustaw wartość 0.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Wartość domyślna
190 sekund
Opis
Określa czas oczekiwania na sprawdzenie nadzoru w sekundach używany przez urządzenie w stanie podrzędnym. Aby wyłączyć weryfikację nadzoru na koncie dziecka, ustaw wartość 0.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Wartość domyślna
0 (włączone żądanie potwierdzenia)
Opis
Ustaw na 1, aby wyczyścić lub wyłączyć żądanie potwierdzenia 802.15.4 w nagłówku MAC wiadomości nadzoru.

Interfejs API

Zarządzaj nadzorem i sprawdzaj przerwy w nadzorze bezpośrednio w aplikacji OpenThread, korzystając z interfejsu Child Supervision API.

interfejs CLI

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