Hallo,
ich baue eine Wetterstation mit einem ESP8266 und einem BMP280 Sensor für Druck und Temperatur.
Ich nutze den ESP dabei um die Sensordaten auszulesen und als Webserver, um die Sensordaten in meinem Handybrowser abzurufen. Es funktioniert soweit auch alles. Die einzige Sache die nicht klappt - Ich möchte dass sich die Hintergrundfarbe im Browser entsprechend der Sensordaten verändert. Ich weiß aber nicht was an der Stelle "Farbe" stehen muss.
client.println("html {background-color: Farbe;}");
Wäre eine große hilfe wenn mir jemand sagen kann was da stehen muss, kann dazu nirgends was finden.
hier noch der ganze Sketch
```cpp
#include <ESP8266WiFi.h>
#include <Adafruit_AHTX0.h>
#include <Adafruit_BMP280.h>
Adafruit_BMP280 bme;
const char* ssid = "xxx";
const char* password = "xxx";
String Kopf;
String Torso;
String Beine;
String Fueße;
String Regenjacke;
String Farbe;
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
bme.begin();
// Connecting to WiFi network
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Starting the web server
server.begin();
Serial.println("Web server running. Waiting for the ESP IP...");
delay(10000);
// Printing the ESP IP address
Serial.println(WiFi.localIP());
}
void loop() {
WiFiClient client = server.available();
if (client) {
Serial.println("New client");
// bolean to locate when the http request ends
boolean blank_line = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
if (c == '\n' && blank_line) {
if (bme.readTemperature() <= 0) {
Kopf = "Wintermuetze";
Torso = "Winterjacke";
Beine = "lange Hose";
Fueße = "Winterschuhe";
Farbe = "#2E64FE";
}
if (bme.readTemperature() > 0 && bme.readTemperature() <= 5) {
Torso = "Winterjacke";
Beine = "lange Hose";
Fueße = "Winterschuhe";
Farbe = "#00BFFF";
}
if (bme.readTemperature() > 5 && bme.readTemperature() <= 10) {
Torso = "Winterjacke";
Beine = "lange Hose";
Fueße = "Sneaker";
Farbe = "#FFFFFF";
}
if (bme.readTemperature() > 10 && bme.readTemperature() <= 20) {
Torso = "Uebergangsjacke";
Beine = "lange Hose";
Fueße = "Sneaker";
Farbe = "#F4FA58";
}
if (bme.readTemperature() > 20 && bme.readTemperature() <= 25) {
Torso = "T-shirt";
Beine = "lange Hose";
Fueße = "Sneaker";
Farbe = "#FACC2E";
}
if (bme.readTemperature() > 25) {
Torso = "T-shirt";
Beine = "kurze Hose";
Fueße = "Flipflops";
Farbe = "#FE642E";
}
if (bme.readTemperature() > 20 && bme.readPressure() < 99500) {
Regenjacke = "Regenjacke";
}
Serial.println(bme.readTemperature());
Serial.println(bme.readPressure());
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// your actual web page
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<style>html {background-color: Farbe;}</style>");
client.println("<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>");
client.println("<head></head><body><h1><u><font size=7><center>Bekleidungsempfehlung</font></center></u></h1>");
client.println("<h2><center><font size=7>");
client.println(Kopf);
client.println("<br><br>");
client.println(Torso);
client.println("<br><br>");
client.println(Beine);
client.println("<br><br>");
client.println(Fueße);
client.println("<br><br>");
client.println("Regenjacke</center></font></h2>");
break;
}
if (c == '\n') {
// when starts reading a new line
blank_line = true;
} else if (c != '\r') {
// when finds a character on the current line
blank_line = false;
}
}
}
// closing the client connection
delay(1);
client.stop();
Serial.println("Client disconnected.");
}
}