Búsqueda periódica de padres

Ver código fuente en GitHub

Para permitir que los dispositivos finales (ED) de una red Thread cambien a un mejor router superior que el actual, mientras están conectados a la red, habilita la función de Búsqueda periódica superior.

Para determinar si un router es un mejor elemento superior para el ED, esta función verifica una variedad de atributos del router, incluidos los siguientes:

  • RSSI (indicador de intensidad de señal recibida)
  • Calidad del vínculo
  • Conexión del router con otros routers
  • Cantidad de elementos secundarios existentes para el router

Esto garantiza que los ED se conecten al mejor router posible en lugar de permanecer conectados a un router con mala conexión o calidad de vínculo. Esta función es particularmente útil cuando se agrega un router nuevo a una red Thread existente.

Cómo funciona

  1. El ED verifica el valor RSSI promedio de su router superior actual, según el intervalo de verificación configurado (OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL).
  2. Si el valor RSSI promedio del router superior actual del ED está por debajo del umbral configurado (OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD), se inicia una búsqueda superior:
    1. Si la búsqueda superior descubre un mejor router superior, el ED disuelve su vínculo actual, Child-Parent, y luego inicia el proceso MLE Attach con el router nuevo.
    2. Si la búsqueda superior no descubre un mejor router superior, el vínculo secundario superior seguirá estando.
  3. Después del intento de búsqueda superior, la ED espera para verificar el valor RSSI promedio de su router superior actual según el intervalo de retirada configurado (OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL). Esta retirada ocurre sin importar el resultado de la búsqueda superior.

Te recomendamos que habilites la función Informar el elemento superior anterior al volver a adjuntar junto con esta función.

Cómo habilitar

Esta función está inhabilitada de forma predeterminada.

Para habilitar la Búsqueda periódica superior, define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE como 1 en el archivo /src/core/config/parent_search.h, antes de compilar OpenThread:

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

Parámetros

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

Parámetros
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
Valor predeterminado
540 segundos (9 minutos)
Descripción
Especifica el intervalo en segundos para que un elemento secundario verifique la condición del activador a fin de realizar una búsqueda superior.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL.
Valor predeterminado
36,000 segundos (10 horas)
Descripción
Especifica el intervalo de retirada en segundos para que un elemento secundario no realice una búsqueda superior después de activar uno.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
Valor predeterminado
-65
Descripción
Especifica el umbral de RSSI que se usa para activar una búsqueda superior.

API

No hay una API pública para esta función.

CLI

No hay comandos de la CLI relacionados con esta característica.