Периодический поиск родителей,Периодический поиск родителей,Периодический поиск родителей

Посмотреть исходный код на GitHub

Чтобы позволить конечным устройствам (ED) в сети Thread переключаться на более подходящего родительского устройства, чем текущее, оставаясь при этом подключенными к сети, включите функцию периодического поиска родительского устройства.

Для определения того, подходит ли тот или иной родительский ребенок лучше для отделения неотложной помощи, эта функция проверяет ряд его характеристик, в том числе:

  • RSSI (индикатор уровня принимаемого сигнала)
  • Качество ссылки
  • Связь потенциального родительского элемента с другими расширителями сетки.
  • Количество уже имеющихся детей у кандидата в родители.

Это гарантирует, что устройства расширения сети (ED) подключаются к наилучшему возможному родительскому узлу, а не остаются привязанными к узлу с плохим качеством связи или недостаточной связностью. Эта функция особенно полезна при добавлении нового расширителя сети Mesh Extender в существующую сеть Thread.

Как это работает

  1. ED проверяет среднее значение RSSI для текущего родительского узла в соответствии с настроенным интервалом проверки ( OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL ).
  2. Если среднее значение RSSI для текущего родительского узла ED ниже заданного порогового значения ( OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD ), запускается поиск родительского узла:
    1. Если в результате поиска родительского элемента обнаруживается более подходящий родительский элемент, отделение неотложной помощи разрывает текущую связь «ребенок-родитель» и инициирует процесс привязки MLE с новым родительским элементом.
    2. Если поиск родительского элемента не выявит более подходящего родителя, существующая связь «Родитель-потомок» останется.
  3. После попытки поиска родительского узла ED ожидает проверки среднего значения RSSI для текущего родительского узла в соответствии с настроенным интервалом задержки ( OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL ). Эта задержка происходит независимо от результата поиска родительского узла.

Мы рекомендуем включить функцию «Уведомлять предыдущего родителя при повторном подключении» в сочетании с этой функцией.

Как включить

Эта функция отключена по умолчанию.

Чтобы включить периодический поиск родительских элементов, перед сборкой OpenThread установите OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE равным 1 в файле /src/core/config/parent_search.h :

#ifndef OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE
#define OPENTHREAD_CONFIG_PARENT_SEARCH_ENABLE 1
#endif

Параметры

Для настройки этой функции используйте следующие параметры в /src/core/config/parent_search.h :

Параметры
OPENTHREAD_CONFIG_PARENT_SEARCH_CHECK_INTERVAL
Значение по умолчанию
540 секунд (9 минут)
Описание
Задает интервал в секундах, в течение которого дочерний элемент проверяет условие срабатывания для выполнения поиска родительского элемента.
OPENTHREAD_CONFIG_PARENT_SEARCH_BACKOFF_INTERVAL
Значение по умолчанию
36000 секунд (10 часов)
Описание
Задает интервал задержки в секундах, в течение которого дочерний процесс не будет выполнять поиск родителя после его запуска.
OPENTHREAD_CONFIG_PARENT_SEARCH_RSS_THRESHOLD
Значение по умолчанию
-65
Описание
Указывает пороговое значение RSSI, используемое для запуска поиска родительского элемента.

API

Для этой функции нет общедоступного API.

CLI

Команды командной строки, связанные с этой функцией, отсутствуют.