Подскажите как передать char ? Код (C++): char a = 't'; client.publish("char_to_mqtt",t); не работает. У меня получилось вот так, Код (C++): int a = 3; char b = 'y'; int c = 4; String sss; char aa[4]; sss =String(a)+String(b)+String(c); sss.toCharArray(aa, sss.length()+1); client.publish("char_to_mqtt",aa); но мне не нравятся эти String Есть ли менее ресурсоёмкий вариант ?
По mqtt передаются байт-строки. Если вам нужно передать отдельный символ, его все равно придется конвертировать в строку (char*)
Так не работает? Код (C++): char aa[4]; aa[0] =3; aa[1] = 'y'; aa[2] = 4; aa[3] = 0; client.publish("char_to_mqtt",aa); Если нужно преобразовать число в строку можно так Код (C++): char aa[4]; aa[0] =3 + 0x30; aa[1] = 'y'; aa[2] = 4 + 0x30; aa[3] = 0; client.publish("char_to_mqtt",aa);
Уважаемый, я это понял, хоть и занимаюсь программированием месяца 2. Я спрашивал как конкретно это сделать !
Ну тогда придется писать свою функцию преобразования писать. Но она то же будет относительно медленная. Если будите в HEX выводить - тогда можно более менее быструю сделать.
Как-то вы странно два месяца занимаетесь программированием, если до третьей-четвертой главы любого учебника до сих пор не добрались. Код (C++): char ch = 'x'; client.publish("char_to_mqtt", &x, 1);