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