Guten Nachmittag,
Möchte gerne einige Daten an den ESP8266 Webserver schicken.
das klappt (Quelle: Esp8266 Dht22 Tab):
// ****************************************************************
// Sketch Esp8266 DHT22 Modular(Tab)
// created: Jens Fleischer, 2018-08-08
// last mod: Jens Fleischer, 2018-08-08
// For more information visit: https://fipsok.de
// ****************************************************************
// Hardware: Esp8266, DHT22, 1 x 4k7 Ohm Widerstand
// D7 = GPIO13 Anschluss DHT22
// 4k7 Ohm Widerstand von VCC auf GPIO13
// Getestet auf: Nodemcu, Wemos D1 Mini Pro
/******************************************************************
Copyright (c) 2018 Jens Fleischer. All rights reserved.
This file is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
*******************************************************************/
// Diese Version von DHT22 sollte als Tab eingebunden werden.
// #include <ESP8266WebServer.h> muss im Haupttab aufgerufen werden
// Die Funktionalität des ESP8266 Webservers ist erforderlich.
// Die Funktion "dht22();" muss im Setup aufgerufen werden.
/**************************************************************************************/
#include "DHTesp.h" // Version 1.0.9 https://github.com/beegee-tokyo/DHTesp
const byte DHT_PIN = 13; // Pin für DHT22 einstellen
DHTesp dht;
void dht22() { // Funktionsaufruf "dht22();" muss im Setup eingebunden werden
dht.setup(DHT_PIN, DHTesp::DHT22);
server.on("/dht22", []() {
server.send(200, "application/json", handleDht());
});
}
String handleDht() {
float hum = dht.getHumidity();
float temp = dht.getTemperature();
char buf[37];
snprintf(buf, sizeof(buf), "[\"%s\",\"%.1f\",\"%.1f\",\"%.1f\",\"%.1f\"]", dht.getStatusString(), temp, hum, dht.computeDewPoint(temp, hum), dht.computeHeatIndex(temp, hum));
return buf;
}
Nun möchte ich gerne meine Anzeige mit dem aktuellen Datum und Uhrzeit erweitern.
Habe gesehen, dass in diesem Beispiel folgender Befehl verwendet wird:
strftime (buf, sizeof(buf), R"(["%T","%d.%m.%Y"])", &tm); // http://www.cplusplus.com/reference/ctime/strftime/
Wie kann ich z.B. auf dieser html-Webseite (dht22.html) die Messerte und das aktuelle Datum und Uhrzeit anzeigen?
Kann ich zwei verschiedene Buffer auf die gleiche html-Seite übertragen oder muss ich alles in einem Buffer zusammenfügen?
Welche Lösung würdet ihr mir empfehlen?
Vielen Dank für eure Hilfe und Tipps.
Grüße