Button auf Webseite soll digitalen Port schalten. Hilfe

Hallo Tobi,

hilft dir das weiter ? Du kannst das Script mit bei dir einbinden und kannst dann über Buttons etwas schalten (z.B. Türöffner). Das geschieht entweder durch Betätigung des Buttons, oder wenn du am Link
/?T=1 mit dranhängst - für OFFEN oder /?T=0 für ZU.
Du kannst es so ausprobieren. Viel Pass beim Werkeln.

Gruß Gerd

#include <SPI.h>
#include <Ethernet.h>
#include <Server.h>
#include <Client.h>
#include <Udp.h>
byte MACAddress[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // MACAdresse
byte IPAddress[] = {192, 168, 178, 59};  // IP-Adresse
EthernetServer server(80); 
#define HTML_TOP "<html>\n<head><title>Türschloss Web-Server</title></head>\n<body>"
#define HTML_BOTTOM "</body>\n</html>"
int TuerPin = 4;  // Tür pin
String readString = String(30);
boolean TUERON = false; //status flag
//EthernetServer myServer(HTTPPORT); // Web-Server auf angegebenen Port starten
void setup(){
  Ethernet.begin(MACAddress, IPAddress); // Ethernet initialisieren
  //Set pin 4 to output
  pinMode(TuerPin, OUTPUT);

}

void loop(){
EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
   if (client.available()) {
    char c = client.read();
     //read char by char HTTP request
    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;             
           }
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          //Hintergrund festlegen
          client.print("<body style=background-color:white>");
          client.println("<hr />");         
          if (TUERON)
          client.println("<form method=get name=TUER><input type=checkbox name=T value=1 CHECKED>Tueroeffner
<input type=submit value=submit></form>");
          else
          client.println("<form method=get name=TUER><input type=checkbox name=T value=1>Tueroeffner
<input type=submit value=submit></form>");      
          client.println("
");     
          client.print("<font size='5'>TUER AUF/ZU ");
          if (TUERON)
              client.println("<font color='blue' size='5'>ist AUF"); 
          else
              client.println("<font color='red' size='5'>ist ZU");     
          client.println("<hr />");
          client.println("</body></html>");
          readString="";
          client.stop();
            }
          }
        }
      }
 }