Доставка спящему Thread child через родительский узел
Автономный датчик может долго не отвечать на запросы, хотя сеть считает его присоединённым. Для такого режима нужно понимать взаимодействие с родителем и предусмотренные проверки доступности. Нельзя считать отсутствие немедленного ответа однозначной неисправностью, но и сохранённая запись о child не доказывает получение прикладного сообщения.
Уточнить поддерживаемый режим
OpenThread описывает Child Supervision и условия проверки связи с родителем. (OpenThread — Child Supervision API) Для своего узла запишите фактические параметры и версию прошивки. Значения из демонстрационного проекта не следует переносить как универсальные таймеры для всех автономных датчиков хозяйства.
Роли конечного устройства и маршрутизирующих узлов различаются. (OpenThread — Node Roles and Types) Сохраните, какой родитель обслуживает датчик и как это наблюдается в реализации. Не делайте вывод по одному физическому расположению: ближайший аппарат в шкафу не обязательно является подтверждённым родительским узлом данного child.
Наблюдать штатный цикл
На стенде сохраните обычную передачу измерений и доступные события работы child. Подготовьте безопасное сообщение, не управляющее технологическим оборудованием. Запишите момент постановки, сетевые признаки и фактическое получение приложением датчика, если такой ответ предусмотрен контрактом.
Сопоставьте цикл сна с результатом, сохраняя ограничения часов разных компонентов. Не обещайте точную задержку только по настройке одного таймера. На полный путь влияют реализованные условия очереди, работа родителя и прикладная обработка, которые должны быть известны конкретному проекту.
Проверить потерю родительской связи
Используйте только поддерживаемый учебный сценарий временной недоступности родителя. Сохраните признаки обнаружения и повторного присоединения. Изменение состояния может происходить с предусмотренной задержкой, поэтому программа опыта должна опираться на документацию, а не на ожидание мгновенного переключения.
После восстановления подтвердите новый отчёт и судьбу ожидавшего сообщения. Наличие другого родителя не доказывает, что прежнее прикладное задание было сохранено и выполнено. Для команды с ограниченной актуальностью её допустимость оценивают отдельно по собственному контракту управления.
Отобразить реальное состояние
В приложении различайте присоединение, ожидаемую доступность и подтверждённый прикладной результат. Если устройство спит, показывайте возраст контакта и известное ограничение режима. Сетевой термин child должен помогать диагностике, а не превращаться в зелёную отметку постоянной готовности.
Приёмка включает штатный цикл и документированное восстановление. Для хозяйства результатом становится понятное поведение автономного датчика и родительского пути. После изменения параметров сна или версии стека повторите соответствующий опыт, сохраняя проверяемую связь между экономией энергии, доступностью и фактической доставкой сообщений.