Как в mqtt отправить hex данные?
Модератор: immortal
-
- Сообщения: 438
- Зарегистрирован: Чт авг 24, 2017 9:38 am
- Благодарил (а): 51 раз
- Поблагодарили: 86 раз
- Контактная информация:
Как в mqtt отправить hex данные?
Собственно вопрос в заголовке. Нужно прочитать низкоуровневую железку. Отправить и принять hex данные. Можно пример, как это сделать?
-
- Сообщения: 407
- Зарегистрирован: Вт окт 24, 2017 2:01 pm
- Откуда: Ижевск
- Благодарил (а): 45 раз
- Поблагодарили: 69 раз
Re: Как в mqtt отправить 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();
}
PI2 + MQTT + 5 ESP8266 + Atmega16