ESP8266 Arduino IDE MQTT Subscribe в 2 топика с выводом данных.
- Войдите на сайт для отправки комментариев
Здравствуйте. Имеется проблемный вопрос.
Есть сервер MQTT, есть LCD диспей и есть 2 датчика: температура и освещение.
С датчиков я отправляю данные на брокер и хочу считывать эти данные и выводить на LCD диспелей.
Если подключать к дисплею 1 датчик и делать в коде подписку на 1 топик, данные отображаются корректно, но когда я добавляю подписку на еще на 1 топик, оно выводит поочередно данные люксов и температуры, то есть сначала отображает температуру, потом люксы.
Мне нужно сказать функции callback, чтобы она понимала с какого конретного топика показывать мне данные.
Должно поучиться примерно так:
Temperature: 22.2 C
Lux: 3213 lx
Вот собственно моя функция callback с выводом (пока что в Serial), с подпиской на 2 топика:
void callback(char* topic, byte* payload, unsigned int length) {
int i = 0;
for(i = 0; i < length; i++) {
data[i] = payload[i];
}
data[i] = '\0';
String message = String(data);
Serial.println(message);
}
void Reconnect() {
while(!client.connected()) {
Serial.println("Connection to MQTT server...");
if(client.connect("GreenhouseLCD")) {
Serial.println("MQTT connected..");
client.subscribe("lcd/temperature");
client.subscribe("lcd/lux");
} else {
Serial.print("Failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds.");
delay(5000);
}
}
}
Вот что отображается в Serial:
Буду благодарен за любую помощь. Всем добра:)
