Вопрос по MQTT

Тема в разделе "Arduino & Shields", создана пользователем svetozar161, 2 окт 2018.

  1. svetozar161

    svetozar161 Нуб

    Здравствуйте. Подскажите пожалуйста такой момент по работе с mqtt, нигде про это не нашел. Дано: брокер москито на дом.сервере, датчик температуры, ардуина. Датчик публикует топик на брокере
    ардуина подписывается на датчик и получает в порту температуру.
    Я ее вижу и она динамически меняется. Задача создать простой термостат. Что нужно делать с данными в сериале ардуины? Я так понимаю это просто тупо строка? Ее нужно парсить, создавать float и дальше писать в цикл термостата? Если это верно, можно ли привести пример парсинга. Спасибо.
     
  2. DIYMan

    DIYMan Гуру

    MQTT - байтовый протокол, там строк - нет по определению. Надо разбирать пакет, понимать, что это пакет публикации, вытаскивать топик и payload в соответствии со спецификацией MQTT - и делать дальше, что хочется.

    Если вы уже как-то подписываетесь, например, при помощи PubSubClient - то в callback-функцию у вас приходят да - указатели на массивы символов (сиречь "строка"), в которых содержится имя топика и payload.

    Публиковать лучше не так:
    а просто
    и в payload уже пихать температуру. Дуня, соответственно, подписывается на топик
    и в payload получает температуру.