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 |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT |
|
||||
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST |
|
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.