char в mqtt

Тема в разделе "Arduino & Shields", создана пользователем Oberon, 19 апр 2017.

Метки:
  1. Oberon

    Oberon Нерд

    Подскажите как передать 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 :(
    Есть ли менее ресурсоёмкий вариант ?
     
  2. rkit

    rkit Гуру

    По mqtt передаются байт-строки. Если вам нужно передать отдельный символ, его все равно придется конвертировать в строку (char*)
     
  3. serg_admin

    serg_admin Гик

    Так не работает?

    Код (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);
     
     
    Последнее редактирование: 19 апр 2017
  4. Oberon

    Oberon Нерд

    так не то ! Надо именно int a = ..; и char b =...
     
    Последнее редактирование: 19 апр 2017
  5. Oberon

    Oberon Нерд

    Уважаемый, я это понял, хоть и занимаюсь программированием месяца 2. Я спрашивал как конкретно это сделать !
     
  6. serg_admin

    serg_admin Гик

    Ну тогда придется писать свою функцию преобразования писать. Но она то же будет относительно медленная. Если будите в HEX выводить - тогда можно более менее быструю сделать.
     
  7. rkit

    rkit Гуру

    Как-то вы странно два месяца занимаетесь программированием, если до третьей-четвертой главы любого учебника до сих пор не добрались.
    Код (C++):
    char ch = 'x';
    client.publish("char_to_mqtt", &x, 1);
     
  8. Tomasina

    Tomasina Сушитель лампочек Модератор

    а &x - это что?
    может &ch?
     
  9. rkit

    rkit Гуру