Как в mqtt отправить hex данные?

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
workpage
Сообщения: 438
Зарегистрирован: Чт авг 24, 2017 9:38 am
Благодарил (а): 51 раз
Поблагодарили: 86 раз
Контактная информация:

Как в mqtt отправить hex данные?

Сообщение workpage » Чт окт 19, 2023 3:54 pm

Собственно вопрос в заголовке. Нужно прочитать низкоуровневую железку. Отправить и принять hex данные. Можно пример, как это сделать?
ZyaK
Сообщения: 407
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 45 раз
Поблагодарили: 69 раз

Re: Как в mqtt отправить hex данные?

Сообщение ZyaK » Вс окт 22, 2023 7:41 am

ЕСПи у меня вот так принимает

Код: Выделить всё

void callback(char* topic, uint8_t* payload, unsigned int length){
  Serial.print("Message arrived ");
  Serial.print(topic);
  Serial.print(" ");
  Serial.println(" ");
  String strTopic = String(topic);
  String strPayload = String((char*)payload);
  for (unsigned int i = 0; i < length; i++) {
  Dannie[1]=(char)payload[0];
  Dannie[2]=(char)payload[1];
  Dannie[3]=(char)payload[2];
  Dannie[4]=(char)payload[3];
  Dannie[5]=(char)payload[4];
  if (length == 1)
  {
    Dannie[2] = Dannie[1];
    Dannie[1] = '0';
    Dannie[3] = '0';
    Dannie[4] = '0';
    Dannie[5] = '0';
    Serial.print("length = 1");
    Serial.println();
  }
  if (length == 2)
  {
    Dannie[3] = Dannie[2];
    Dannie[2] = Dannie[1];
    Dannie[1] = '0';
    Dannie[4] = '0';
    Dannie[5] = '0';
    Serial.print("length = 2");
    Serial.println();
  }
  if (length == 3)
  {
    Dannie[4] = Dannie[3];
    Dannie[3] = Dannie[2];
    Dannie[2] = Dannie[1];
    Dannie[1] = '0';
    Dannie[5] = '0';
    Serial.println("length = 3");
  }
  if (length == 4)
  {
    Dannie[5] = Dannie[4];
    Dannie[4] = Dannie[3];
    Dannie[3] = Dannie[2];
    Dannie[2] = Dannie[1];
    Dannie[1] = '0';
    Serial.println("length = 4");
  }
    Serial.print("Dannie [1] = ");
    Serial.println(Dannie[1]);
    Serial.print("Dannie [2] = ");
    Serial.println(Dannie[2]);
    Serial.print("Dannie [3] = ");
    Serial.println(Dannie[3]);
    Serial.print("Dannie [4] = ");
    Serial.println(Dannie[4]);
    Serial.print("Dannie [5] = ");
    Serial.println(Dannie[5]);
    Serial.println();
    Serial.println();
  }
PI2 + MQTT + 5 ESP8266 + Atmega16
Ответить