Как в mqtt отправить hex данные?
Добавлено: Чт окт 19, 2023 3:54 pm
Собственно вопрос в заголовке. Нужно прочитать низкоуровневую железку. Отправить и принять hex данные. Можно пример, как это сделать?
Код: Выделить всё
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();
}