Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.

Supervisión infantil

Ver el código fuente en GitHub

Si quieres proporcionar un mecanismo de bajo consumo energético para un dispositivo final somnoliento (SED) a fin de verificar que aún esté conectado a su router superior (que aparece en la tabla secundaria del router superior), habilita la función de supervisión secundaria.

La especificación de Thread requiere un SED para realizar periódicamente un intercambio de respuestas y solicitudes de actualización secundaria de MLE con su router superior a fin de verificar la conectividad. La supervisión secundaria es una solución alternativa para la verificación de la conectividad del router SED que coloca la carga de la transmisión de mensajes en el router superior en lugar del SED con energía restringida.

Cómo funciona

Esta característica funciona de dos maneras, según el tipo de nodo y los parámetros que se configuren:

En el dispositivo parental

Si un router superior no transmite su SED secundario dentro del OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL, este pone en cola y envía un mensaje de supervisión secundaria al SED secundario. El mensaje de supervisión secundaria es un marco MAC que contiene la siguiente información:

  • El RLOC16 del SED como destino en el encabezado de MAC
  • Una carga útil vacía.

De forma predeterminada, un encabezado MAC contiene una solicitud ACK 802.15.4. Para inhabilitar esta solicitud en el mensaje de supervisión del niño, configura el parámetro OPENTHREAD_CONFIG_CHILD_SUPERVISION_MSG_NO_ACK_REQUEST en 1.

En el niño

Si un SED no escucha desde el router superior dentro del OPENTHREAD_CONFIG_CHILD_SUPERVISION_CHECK_TIMEOUT, se supone que perdió la conexión con el router superior y que inicia el proceso de MLE Connect para volver a conectarse al router superior.

Cómo habilitar

Esta función está inhabilitada de forma predeterminada.

Por definición

Para habilitar la supervisión secundaria, define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE como 1 en el archivo openthread/src/core/config/child_supervision.h, antes de compilar OpenThread:

#ifndef OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE
#define OPENTHREAD_CONFIG_CHILD_SUPERVISION_ENABLE 1
#endif

Por opción

Como alternativa, usa la opción de compilación -DOT_CHILD_SUPERVISION=ON para compilar OpenThread:

./script/build -DOT_CHILD_SUPERVISION=ON

Parámetros

Usa los siguientes parámetros en openthread/src/core/config/child_supervision.h para personalizar esta función:

Parámetros
OPENTHREAD_CONFIG_CHILD_SUPERVISION_INTERVAL
Valor predeterminado
129 segundos
Descripción
Especifica el intervalo de supervisión en segundos que usa el padre o la madre. Establece esta opción en 0 para inhabilitar el proceso de supervisión en el padre o la madre.
OPENTHREAD_CONFIG_SUPERVISION_CHECK_TIMEOUT
Valor predeterminado
190 segundos
Descripción
Especifica el intervalo de tiempo de espera de la verificación de supervisión en segundos que usa un dispositivo en estado infantil. Establece esta opción en 0 para inhabilitar el proceso de verificación de supervisión en el niño.
OPENTHREAD_CONFIG_SUPERVISION_MSG_NO_ACK_REQUEST
Valor predeterminado
0 (solicitud ACK habilitada)
Descripción
Configúralo en 1 para borrar o inhabilitar la solicitud ACK 802.15.4 en el encabezado MAC de un mensaje de supervisión.

API

Usa la API de Supervisión de niños para administrar la supervisión y verificar los intervalos de tiempo de espera directamente en tu aplicación de OpenThread.

CLI

No hay comandos de CLI relacionados con esta función.