Добрый день. Ребят, нужна Ваша помощь: Код (Text): .. int a a = analogRead (pin); if (b == HIGH ) { client.publish("/test", a); } ... ошибка "converting to 'String' from initializer list would use explicit constructor 'String::String(int, unsigned char)'" Подскажите, как снять показания с сенсора и отправить данные полученные в int через mqtt? Я так понимаю, что надо конвертировать значения int в char? Но в интернете я так и не нашёл, как это просто сделать, везде какие-то громоздкие костыли через кучи переменных, неужели нет какой-то библиотеки, способа, которая бы упростила это? Может у кого есть какой-то пример понятный или что-то иное? Конвертировать полученные из mqtt значения в int проблемы не составило, а вот наоборот... Заранее, спасибо. про передачу float я вообще молчу...
проверил, да, действительно. Я просто для наглядности накидал сюда структуру кода, которую пытаюсь использовать, а ошибку взял из своего проекта (там много проб было). Можете показать, как должен код выглядеть на примере того, что я выложил, чтобы понять, на примере? А то сейчас доходит до абсурда, я проверяю условие и если на пине High, то выполняю отправить "1", если Low, то "0", вместо того чтобы просто переменную написать. Ясное дело о передаче динамических данных вообще и говорить не приходится.
Код (C++): char buf[5]; // выделяем память для строки - 4 символа и терминатор. itoa(a, buf, 10); // записываем в эту память текстовое представление переменной а в десятичной системе client.publish("/test", buf); //отправляем
Спасибо большое! буду пробовать. я правильно понимаю, что для переменной мне лучше char buf[] (без цифры) ставить, чтобы программа сама длинну определила?
как раз только что это проверил (в ошибку ушло). Ещё раз спасибо, всё нормально работает и данные на сервер шлёт