Delay() powinno być zabronione
Zamiast delay, zrób loop’a nieblokującego.
void loop() {
if (millis() - lastMillis > 1 * 60 * 1000UL) { // get values every 1 minute
lastMillis = millis();
getValues = true;
}
if (getValues) {
getValues = false;
sensors.setResolution(11);
sensors.requestTemperatures();
float tempC = sensors.getTempCByIndex(0);
Serial.print(tempC);
client.publish(mqtt_topic, String(tempC).c_str(), true);
}
}
…lub bardziej złożony harmonogram