Доставка спящему Thread child через родительский узел

Запросить

Автономный датчик может долго не отвечать на запросы, хотя сеть считает его присоединённым. Для такого режима нужно понимать взаимодействие с родителем и предусмотренные проверки доступности. Нельзя считать отсутствие немедленного ответа однозначной неисправностью, но и сохранённая запись о child не доказывает получение прикладного сообщения.

Уточнить поддерживаемый режим

OpenThread описывает Child Supervision и условия проверки связи с родителем. (OpenThread — Child Supervision API) Для своего узла запишите фактические параметры и версию прошивки. Значения из демонстрационного проекта не следует переносить как универсальные таймеры для всех автономных датчиков хозяйства.

Роли конечного устройства и маршрутизирующих узлов различаются. (OpenThread — Node Roles and Types) Сохраните, какой родитель обслуживает датчик и как это наблюдается в реализации. Не делайте вывод по одному физическому расположению: ближайший аппарат в шкафу не обязательно является подтверждённым родительским узлом данного child.

Родительская связь и доставка приложению. Спящий Thread child; Связь с родительским узлом; Подтверждение состояния сети. Учебное прикладное сообщение; Фактический приём приложением; Отдельное подтверждение.
Подтверждение родительской связи и наблюдение доставки фиксируют отдельно.

Наблюдать штатный цикл

На стенде сохраните обычную передачу измерений и доступные события работы child. Подготовьте безопасное сообщение, не управляющее технологическим оборудованием. Запишите момент постановки, сетевые признаки и фактическое получение приложением датчика, если такой ответ предусмотрен контрактом.

Сопоставьте цикл сна с результатом, сохраняя ограничения часов разных компонентов. Не обещайте точную задержку только по настройке одного таймера. На полный путь влияют реализованные условия очереди, работа родителя и прикладная обработка, которые должны быть известны конкретному проекту.

Проверить потерю родительской связи

Используйте только поддерживаемый учебный сценарий временной недоступности родителя. Сохраните признаки обнаружения и повторного присоединения. Изменение состояния может происходить с предусмотренной задержкой, поэтому программа опыта должна опираться на документацию, а не на ожидание мгновенного переключения.

После восстановления подтвердите новый отчёт и судьбу ожидавшего сообщения. Наличие другого родителя не доказывает, что прежнее прикладное задание было сохранено и выполнено. Для команды с ограниченной актуальностью её допустимость оценивают отдельно по собственному контракту управления.

Отобразить реальное состояние

В приложении различайте присоединение, ожидаемую доступность и подтверждённый прикладной результат. Если устройство спит, показывайте возраст контакта и известное ограничение режима. Сетевой термин child должен помогать диагностике, а не превращаться в зелёную отметку постоянной готовности.

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

Все разборы