MQTT-устройство может успешно подключаться к broker, но данные в системе не появляются. Это особенно критично для датчиков, телеметрии и мониторинга.

Почему возникает проблема

Подключение и публикация - разные этапы. Устройство может пройти авторизацию, но не иметь прав на topic, отправлять пустой payload, публиковать не туда или терять связь перед publish.

Что проверяю

  • В какой topic публикует устройство.
  • Разрешены ли publish-права в ACL.
  • Есть ли сообщения в broker logs.
  • Какой QoS и retain используются.
  • Подписан ли backend на правильный topic.

Как решаю задачу

Я проверяю обе стороны: устройство действительно публикует сообщение, broker его принимает, а потребитель подписан на нужный topic и может разобрать payload.

  • Проверяю подключение и права клиента.
  • Слушаю topic отдельным MQTT-клиентом.
  • Сравниваю ожидаемый и фактический payload.
  • Исправляю ACL, topic или формат данных.
  • Добавляю логирование приема сообщений.

Что будет на выходе

  • Данные начинают доходить до broker и системы.
  • Ошибки публикации видны в логах.
  • Topic-структура становится понятнее.
  • Проще подключать новые устройства.

Что подготовить

  • Адрес broker и тестовый доступ.
  • Topic, в который должно писать устройство.
  • Пример payload.
  • Логи устройства или broker.

Вопросы и ответы

Почему подключение есть, а данных нет?

Потому что права на connect и publish могут отличаться, а topic может быть неправильным.

Нужно ли менять прошивку устройства?

Не всегда. Иногда достаточно исправить broker ACL или подписку backend.

Нужна похожая задача?

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