void loop()
{
String Auswertung = "";
// Variablen für Temperatur und Luftfeuchtigkeit
float Temperatur;
float Luftfeuchtigkeit;
// auf Clienten warten ...
EthernetClient Client = server.available();
// abgelaufene Zeit mit millis() ermitteln
unsigned long VerstricheneZeit = millis();
// Zeit messen und Daten speichern, wenn das Zeitintervall erreicht ist
if (VerstricheneZeit - StartZeit >= Intervall)
{
// StartZeit zurücksetzen
StartZeit = VerstricheneZeit;
// Temperatur, Luftfeuchtigkeit messen
Temperatur = dht.readTemperature();
Luftfeuchtigkeit = dht.readHumidity();
// aktuelle Zeit ermitteln
DateTime aktuell = rtc.now();
// in Datei speichern
Messung = SD.open("Messung.txt", FILE_WRITE);
if (Messung)
{
// Datum schreiben
char Datum[] = "DD.MM.YYYY";
Messung.print(aktuell.toString(Datum));
// Zeit schreiben
char Zeit[] = " Uhrzeit: hh:mm:ss";
Messung.println(aktuell.toString(Zeit));
// Messdaten schreiben
Messung.print(F(" | "));
Messung.println(Temperatur);
Messung.print(F(" °C | "));
Messung.println(Luftfeuchtigkeit);
Messung.print(F("%"));
Messung.println(F("
"));
// Datei schließen
Messung.close();
}
}
// neue Anfrage
if (Client)
{
// solange der Client verbunden ist ...
while (Client.connected())
{
if (Client.available())
{
char Zeichen = Client.read();
/*
einegegebene Zeichen zum String zusammensetzen
der String enthält eines der Zeichen (l, s, e)
Beispiel lesen:
GET /l HTTP/1.1
*/
Auswertung += Zeichen;
// \n =return: Seite vom Clienten vollständig geladen
if (Zeichen == '\n')
{
// HTTP-Anforderung senden
Client.println(F("HTTP/1.1 200 OK"));
Client.println(F("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
(jede Anweisung in einer eigenen Zeile)
*/
Client.println(F(""));
Client.println(F(""));
Client.println(F("