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