void loop() { // auf Clienten warten ... EthernetClient Client = Server.available(); // neue Anfrage if (Client) { // solange der Client (der lokale PC) verbunden ist ... while (Client.connected()) { if (Client.available()) { // Daten vom Clienten lesen ... char Zeichen = Client.read(); // ... und die Antwort zusammenbauen SchaltungLesen += Zeichen; // return gesendet if (Zeichen == '\n') { /* HTML-Seite aufbauen die folgenden Anweisungen müssen mit print oder println gesendet werden println "verschönert" den Quelltext (erzeugt einen Zeilenumbruch im Quelltext) " müssen mit \ maskiert werden " -> \" */ Client.println(F("HTTP/1.1 200 OK")); Client.println(F("Content-Type: text/html")); Client.println(F("Connection: close")); Client.println(); Client.println(F("")); Client.println(F("")); Client.println(F("")); Client.println(F("

LED mit Ethernet-Shield schalten

")); Client.println(F("
")); Client.println(F("")); // Button rot ein Client.print(F("")); // Button rot aus Client.print(F("")); Client.println(F("
")); Client.println(F("")); Client.println(F("
")); Client.println(F("
")); /* IP-Adressen anzeigen Client.remoteIP() -> eigene IP Ethernet.localIP() -> IP des Ethernet-Shields */ Client.print(F("Eigene IP: ")); Client.print(Client.remoteIP()); Client.print(F("")); Client.print(F("
IP des Ethernet-Shields: ")); Client.print(Ethernet.localIP()); Client.print(F("")); Client.println(F("")); Client.println(F("")); delay(1); Client.stop(); /* Buttons auswerten indexOf -> untersuchen ob der String RotEin in der Antwort enthalten ist */ if (SchaltungLesen.indexOf("RotEin") > 0) digitalWrite(ROT, HIGH); if (SchaltungLesen.indexOf("RotAus") > 0) digitalWrite(ROT, LOW); // String SchaltungLesen löschen SchaltungLesen = ""; } } } } }