Собрал код для замеры температуры на 6 DS18B20. Тестирую по ка на двух. На сериал мониторе всё хорошо:
Sensor 1: 22.06
Sensor 2: -127.00
но как это запихнуть в mqtt.
Получаю пока что неадекватные данные по mqtt:
A/B/T1 16
A/B/T2 8
понимаю что непорядок м коде но как конвертировать не знаю.
Если объявляю float всё падает Вот кусок кода:
sensors.requestTemperatures();
int16_t t1 = sensors.getTempCByIndex(0); // температура на улице
int16_t t2 = sensors.getTempCByIndex(1); // температура теплицы 1
int16_t t3 = sensors.getTempCByIndex(2); // температура теплицы 2
// Если температура изменилась, то передаем
if (mt1!=t1){mt1=t1; client.publish(topic2, String(t1).c_str());}
if (mt2!=t2){mt2=t2; client.publish(topic3, String(t2).c_str());}
if (mt3!=t3){mt3=t3; client.publish(topic4, String(t3).c_str());}
Если нужны десятые градуса, то в место int16_t напиши float
Спасибо попробую и ваш код, я пока набросал вот такую конструкцию, вроде работает, сервер получает данные, только если отключен датчик значение чередуются с 0,00 на -127,00