Hallo Tobi,
ich habe mal das Beispiel auf deine Webpage angepasst. Ich schätze, dass du es so für dich ändern kannst.
Gruß Gerd
#include <SPI.h>
#include <Ethernet.h>
byte MACAddress[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // MACAdresse
byte IPAddress[] = {192, 168, 178, 59}; // IP-Adresse
int const HTTPPORT = 80; // HTTP-Port 80 (Standardport)
#define HTML_BOTTOM "</body>\n</html>"
String readString = String(30);
boolean TUERON = false;
int TuerPin = 4; // Tür pin
EthernetServer myServer(HTTPPORT); // Web-Server auf angegebenen Port starten
void setup(){
Ethernet.begin(MACAddress, IPAddress); // Ethernet initialisieren
pinMode(TuerPin, OUTPUT);
myServer.begin(); // Server starten
}
void loop(){
EthernetClient myClient = myServer.available();
if (myClient) {
while (myClient.connected()) {
if (myClient.available()) {
char c = myClient.read();
if (readString.length() < 100)
{
readString += c;
}
Serial.print(c);
if (c == '\n') {
if (readString.indexOf("?") <0)
{
}
else
if(readString.indexOf("T=1") >0)
{
//Türöffner ON
digitalWrite(TuerPin, HIGH); //Tür auf
TUERON = true;
}
else{
//Tüeröffner OFF
digitalWrite(TuerPin, LOW); //Tür zu
TUERON = false;
}
myClient.println("HTTP/1.1 200 OK");
myClient.println("Content-Type: text/html");
myClient.println();
myClient.print("<body style=background-color:white>");
myClient.println("<font color='red'><h1>Tuerschloss Web-Server</font></h1>");
//alle 30sec wird ein automatischer Refresh gemacht
myClient.println("<meta http-equiv='refresh' content='30'>");
myClient.println("<hr />");
myClient.println("<hr />");
for(int i = 0; i < 6; i++){
myClient.print("Analog Pin ");
myClient.print(i);
myClient.print(": ");
myClient.print(analogRead(i));
myClient.print("<div style=\"height: 40px; background-color: #FFB90F");
myClient.print("; width:");
myClient.print(analogRead(i));
myClient.println("px; border: 1px solid;\"></div>");
}
for(int i = 2; i < 6; i++){
myClient.print("Digital Pin ");
myClient.print(i);
myClient.print(": ");
myClient.print(digitalRead(i));
myClient.print("<div style=\"height: 40px; background-color: #ff00ff");
myClient.print("; width:");
myClient.print(digitalRead(i)*100);
myClient.println("px; border: 1px solid;\"></div>");
}
delay(1); // Kurze Pause für Web-Browser
myClient.print("<hr />");
if (TUERON)
myClient.print("<form method=get name=TUER><input type=checkbox name=T value=1 CHECKED>Tueroeffner
<input type=submit value=submit></form>");
else
myClient.print("<form method=get name=TUER><input type=checkbox name=T value=1>Tueroeffner
<input type=submit value=submit></form>");
myClient.print("
");
myClient.print("<font size='5'>TUER ");
if (TUERON)
myClient.print("<font color='blue' size='5'>ist AUF");
else
myClient.print("<font color='red' size='5'>ist ZU");
readString="";
TUERON = false; //Zusatz, sonst ist Schalten im Firefox nicht möglich !
myClient.stop(); // Client-Verbindung schließen
}
}
}
}
}
Habe noch einen Nachtrag gemacht - alle 30 sec werden automatisch die Werte angepasst.