Elternaufsicht

Quelle auf GitHub ansehen

Aktivieren Sie die Funktion für die untergeordnete Elternaufsicht, um einen energieeffizienten Mechanismus für ein schläfriges Endgerät (SED) bereitzustellen, mit dem geprüft wird, ob das Gerät weiterhin mit dem übergeordneten Router verbunden ist (siehe untergeordnete Tabelle des übergeordneten Routers).

Die Threadspezifikation erfordert, dass ein SED regelmäßig eine MLE-Anfrage zur Aktualisierung des untergeordneten Elements und einen Antwortaustausch mit dem übergeordneten Router ausführt, um die Konnektivität zu prüfen. Die Elternaufsicht ist eine alternative Lösung zur Überprüfung der SED-Router-Konnektivität, bei der die Nachrichtenübertragung vom übergeordneten Router und nicht vom energiebeschränkten SED übernommen wird.

Funktionsweise

Dieses Feature funktioniert je nach Knotentyp und konfigurierten Parametern auf zwei Arten:

Im übergeordneten Element

Wenn ein übergeordneter Router nicht innerhalb des OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL-Objekts an das untergeordnete SED übertragen wird, stellt der übergeordnete Router eine untergeordnete Elternaufsichtsnachricht in die Warteschlange ein und sendet diese an den untergeordneten SED. Die Meldung der untergeordneten Elternaufsicht ist ein MAC-Frame mit den folgenden Informationen:

  • Der RLOC16 des SEDs 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 der untergeordneten Elternaufsicht deaktivieren möchten, setzen Sie den Parameter OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST auf 1.

Für das Kind

Wenn ein SED im übergeordneten OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT nichts von seinem übergeordneten Router hört, geht er davon aus, dass er die Verbindung zum übergeordneten Router verloren hat, und initiiert den MLE-Anhängen-Prozess, um eine neue Verbindung mit dem übergeordneten Router herzustellen.

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 dieses Feature 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 die Elternaufsicht für den Elternteil zu deaktivieren.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Standardwert
190 Sekunden
Beschreibung
Gibt das Zeitlimitintervall für die Elternaufsicht in Sekunden an, das von einem Gerät mit untergeordnetem Status verwendet wird. Legen Sie 0 fest, um die Elternaufsicht zu deaktivieren.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Standardwert
0 (ACK-Anfrage aktiviert)
Beschreibung
Legen Sie 1 fest, um die 802.15.4-Bestätigungsanforderung im MAC-Header einer Elternaufsicht-Nachricht zu löschen oder zu deaktivieren.

API

Mit der Child Supervision API können Sie die Elternaufsicht direkt in Ihrer OpenThread-Anwendung verwalten.

CLI

Es gibt keine Befehlszeilenbefehle für diese Funktion.