Elternaufsicht

Quelle auf GitHub ansehen

Wenn Sie einen energieeffizienten Mechanismus für ein Endgerät im Ruhemodus (Sleepy End Device, SED) bereitstellen möchten, um zu überprüfen, ob es noch mit seinem übergeordneten Gerät verbunden ist (das in der Kindertabelle des übergeordneten Geräts aufgeführt ist), aktivieren Sie die Funktion „Elternaufsicht“.

Die Thread-Spezifikation erfordert, dass ein SED regelmäßig eine MLE-Kind-Update-Anfrage und -Antwort mit seinem übergeordneten Gerät austauscht, um die Verbindung zu überprüfen. Die Elternaufsicht ist eine alternative Lösung zur Überprüfung der Verbindung zwischen SED und übergeordnetem Gerät, bei der die Last der Nachrichtenübertragung auf das übergeordnete Gerät und nicht auf das energiebeschränkte SED verlagert wird.

Funktionsweise

Diese Funktion kann auf zwei Arten verwendet werden, je nach Knotentyp und welchen Parametern konfiguriert sind:

Auf dem übergeordneten Gerät

Wenn ein übergeordnetes Gerät innerhalb von OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, keine Daten an sein untergeordnetes SED überträgt, stellt das übergeordnete Gerät eine Nachricht zur Elternaufsicht in die Warteschlange und sendet sie an das untergeordnete SED. Die Nachricht zur Elternaufsicht ist ein MAC-Frame, der die folgenden Informationen enthält:

  • Die RLOC16 des SED als Ziel im MAC-Header.
  • Eine leere Nutzlast.

Standardmäßig enthält ein MAC-Header eine 802.15.4-Bestätigungsanfrage. Wenn Sie diese Anfrage in der Nachricht zur Elternaufsicht deaktivieren möchten, legen Sie den OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST Parameter auf 1 fest.

Auf dem untergeordneten Gerät

Wenn ein SED innerhalb von OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, nichts von seinem übergeordneten Gerät hört, geht es davon aus, dass die Verbindung zum übergeordneten Gerät unterbrochen wurde, und initiiert den MLE Anhängen Prozess, um sich wieder mit dem Netzwerk zu verbinden.

Aktivierungsmethode

Diese Funktion ist standardmäßig deaktiviert.

Durch Definieren

Wenn Sie die Elternaufsicht aktivieren möchten, definieren Sie OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE als 1 in der openthread/src/core/config/child_supervision.h Datei, bevor Sie OpenThread erstellen:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Nach Option

Alternativ können Sie beim Erstellen von OpenThread die -DOT_CHILD_SUPERVISION=ON Build-Option verwenden:

./script/build -DOT_CHILD_SUPERVISION=ON

Parameter

Verwenden Sie die folgenden Parameter in openthread/src/core/config/child_supervision.h , um diese Funktion anzupassen:

Parameter
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Standardwert
129 Sekunden
Beschreibung
Gibt das Überwachungsintervall in Sekunden an, das vom übergeordneten Gerät verwendet wird. Legen Sie den Wert auf 0 fest, um den Überwachungsprozess auf dem übergeordneten Gerät zu deaktivieren.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Standardwert
190 Sekunden
Beschreibung
Gibt das Timeout-Intervall für die Überprüfung in Sekunden an, das von einem Gerät im untergeordneten Status verwendet wird. Legen Sie den Wert auf 0 fest, um den Überprüfungsprozess auf dem untergeordneten Gerät zu deaktivieren.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Standardwert
0 (Bestätigungsanfrage aktiviert)
Beschreibung
Legen Sie den Wert auf 1 fest, um die 802.15.4-Bestätigungsanfrage im MAC-Header einer Überwachungsnachricht zu löschen/deaktivieren.

API

Verwenden Sie die Child Supervision API, um die Überwachungs- und Timeout-Intervalle direkt in Ihrer OpenThread-Anwendung zu verwalten.

CLI

Für diese Funktion sind keine Befehlszeilenbefehle verfügbar.