void loop()
{
float Temperatur;
float Luftfeuchtigkeit;
String Nummer;
String AnzeigeTemperatur;
String AnzeigeLuftfeuchtigkeit;
client = server.available();
if (client)
{
String SchaltungLesen = "";
while (client.connected()) {
if (client.available()) {
char Zeichen = client.read();
if (Zeichen == '\n')
{
if (SchaltungLesen.length() == 0)
{
// HTTP-Anforderung senden
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
// Leerzeile zwingend erforderlich
client.println();
/*
HTML-Seite aufbauen
die folgenden Anweisungen müssen mit print oder println gesendet werden
println "verschönert" den Quelltext
" muss mit \" maskiert werden
*/
client.println("");
client.println("");
client.println("
");
// alle 60 Sekunden aktualisieren mit meta-Tag
client.println("");
client.println(" Temperatur und Luftfeuchtigkeit messen
");
client.println("
");
client.print("Letzte Messung: ");
DateTime aktuell = rtc.now();
char Datum[] = "DD.MM.YYYY ";
char Zeit[] = "hh:mm:ss Uhr";
switch (aktuell.dayOfTheWeek())
{
case 0:
client.print(F("Sonntag"));
break;
case 1:
client.print(F("Montag"));
break;
case 2:
client.print(F("Dienstag"));
break;
case 3:
client.print(F("Mittwoch"));
break;
case 4:
client.print(F("Donnerstag"));
break;
case 5:
client.print(F("Freitag"));
break;
case 6:
client.print(F("Samstag"));
break;
}
client.print(", ");
client.print(aktuell.toString(Datum));
client.println(aktuell.toString(Zeit));
client.println("
");
client.println("
");
// Daten lesen
AnzeigeTemperatur = String(dht.readTemperature());
AnzeigeTemperatur.replace(".", ",");
AnzeigeLuftfeuchtigkeit = String(dht.readHumidity());
AnzeigeLuftfeuchtigkeit.replace(".", ",");
client.print("Temperatur:");
client.println(AnzeigeTemperatur + " °C
");
client.println("
");
client.print("Luftfeuchtigkeit:");
client.println(AnzeigeLuftfeuchtigkeit + " %
");
client.println("");
client.println("
");
// IPs anzeigen
client.print(F("Eigene IP: "));
client.print(client.remoteIP());
client.print(F(""));
client.print(F("
IP Arduino: "));
client.print(WiFi.localIP());
client.print(F(""));
client.println("");
client.println("");
client.print("");
// HTTP-Antwort endet mit neuer Zeile
client.println();
// Seite vollständig geladen -> loop verlassen
break;
}
else
{
SchaltungLesen = "";
}
}
// bei einem anderen Zeichen als return (\r)
// -> Zeichen dem String SchaltungLesen hinzufügen
else if (Zeichen != '\r')
{
SchaltungLesen += Zeichen;
}
}
}
client.stop();
// Zaehler erhöhen und bei > AnzahlDaten zurücksetzen
if (Zaehler < AnzahlDaten) Zaehler ++;
if (Zaehler >= AnzahlDaten) Zaehler = 0;
}
}