Elternaufsicht

Quelle auf GitHub ansehen

Aktivieren Sie die Funktion „Untergeordnetes Gerät überwachen“, um ein energieeffizientes Verfahren für ein inaktives Endgerät (SED) bereitzustellen, mit dem es prüfen kann, ob es noch mit dem übergeordneten Router verbunden ist (in der untergeordneten Tabelle des übergeordneten Routers aufgeführt).

Gemäß der Thread-Spezifikation muss ein SED regelmäßig einen MLE-Unterbrechungsaktualisierungs-Anfrage- und ‑Antwortaustausch mit seinem übergeordneten Router ausführen, um die Konnektivität zu überprüfen. Die untergeordnete Überwachung ist eine alternative Lösung zur Überprüfung der SED-Router-Verbindung, bei der die Nachrichtenübertragung auf den übergeordneten Router und nicht auf das energieeffiziente SED übertragen wird.

Funktionsweise

Diese Funktion funktioniert je nach Knotentyp und konfigurierten Parametern auf zwei Arten:

Auf der übergeordneten Ebene

Wenn ein übergeordneter Router nicht innerhalb von OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL an sein untergeordnetes SED überträgt, stellt der übergeordnete Router eine Nachricht zur Elternaufsicht in die Warteschlange und sendet sie an das untergeordnete SED. Die Nachricht zur Elternaufsicht ist ein MAC-Frame mit den folgenden Informationen:

  • Der RLOC16 der SED als Ziel im MAC-Header.
  • Eine leere Nutzlast.

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

Auf dem Kind

Wenn ein SED innerhalb von OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT nichts von seinem übergeordneten Router hört, wird davon ausgegangen, dass er die Verbindung zum übergeordneten Router verloren hat und der MLE Attach-Prozess zum Anhängen an den übergeordneten Router initiiert.

Aktivierungsmethode

Diese Funktion ist standardmäßig deaktiviert.

Nach Definition

Wenn Sie die Elternaufsicht aktivieren möchten, definieren Sie OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE als 1 in der Datei openthread/src/core/config/child_supervision.h, 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 Build-Option -DOT_CHILD_SUPERVISION=ON 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 Elternaufsichtsintervall in Sekunden an, das vom übergeordneten Element verwendet wird. Legen Sie 0 fest, um den Elternaufsichtsprozess für das übergeordnete Element zu deaktivieren.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Standardwert
190 Sekunden
Beschreibung
Gibt das Zeitlimit für die Elternaufsicht in Sekunden an, das für ein Gerät im Status „Kind“ verwendet wird. Legen Sie 0 fest, damit die Überprüfung der Elternaufsicht für das Kind deaktiviert wird.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Standardwert
0 (ACK-Anfrage aktiviert)
Beschreibung
Legen Sie den Wert auf „1“ fest, um die 802.15.4-ACK-Anfrage im MAC-Header einer Supervisionsnachricht zu löschen/deaktivieren.

API

Mit der Child Supervision API können Sie die Elternaufsicht verwalten und Zeitüberschreitungsintervalle direkt in Ihrer OpenThread-Anwendung prüfen.

Befehlszeile

Für diese Funktion gibt es keine Befehle für die Befehlszeile.