Как данные char из mqtt изменить в int?

Без изменений к сожалению… от 10 до 99 нормальные числа…меньше или больше добавляет в конце разные цифры! =(

Вот так пробуйте


    char  tt[ length+1] = {0};
    for (unsigned int i = 0; i < length; i++) {
      Serial.print(payload[i]);
      tt[i] = payload[i];
    }
    tt[length] = '\0';
    if(String(topic) == “Test_1”) // проверяем из нужного ли нам топика пришли данные
    {
      test1_data = atoi((const char*)tt);
      Serial.println();
      Serial.println(test1_data);
    }
    if(String(topic) == “Test_2”) // проверяем из нужного ли нам топика пришли данные
    {
      test2_data = atoi((const char*)tt); // преобразуем полученные данные в тип integer
        Serial.println();
      Serial.println(test2_data);
    }
1 лайк

Message received on topic: Test_2

Message:34303030

4000


aTemperature: 22.69 aHumidity: 62.04

Test_1: 1

Test_2: 4000

“Message:34303030” после добавления 4000 появляется…а так ЗАРАБОТАЛО! =)))

О сколько интересного можно увидеть, всего лишь на несколько часов исключив себя из интернета )))

1 лайк