Hallo,
allerseits, ich versuche mich gerade daran, den Digitalen Pin3 per Webseite An bzw. Aus zuschalten.
Arduino Ethernet -->Webserver -->PHP-Seite mit Button AN und AUS
Mein Problem ist, mal wieder der Anfang, einen Sketch habe ich schon angefangen, aber ob er funktioniert weiß ich nicht, weil ich nicht weiß wie die PHP Seite aus sehen muss
Ich dachte da an GET oder so,aber mehr weiß ich auch nicht..
Mein Sketch bisher sieht so aus:
/*
Webclient
Es soll mittels einer PHP-Seite, die auf einem Webserver liegt,
ein oder mehrere Ausgänge AN/AUS geschaltet werden.
*/
#include <SPI.h>
#include <Ethernet.h>
// Ethernet einrichten
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0xEE, 0xF3 }; // Mac-Adresse Arduino Ethernet
byte ip[] = {192,168,178,230}; // IP-Adresse Arduino Ethernet
byte gateway[] = {192,168,178,1}; // Gateway
byte subnet[] = {255,255,255,0};
IPAddress server(192,168,178,111); // IP-Adresse Server
char host[] = "192.168.178.111\n"; // Host Name oder IP-Adresse
EthernetClient client; // Initialisierung der Ethernet client library
char url[] = "/arduino/ausgang.php"; // Pfad zur PHP-Datei eingeben
char c;
int Pin3 = 3;
String readString = String(100);
boolean Pin3ON = false;
void setup()
{
Serial.begin(9600);
pinMode(Pin3, OUTPUT);
Serial.println("verbinde...");
Ethernet.begin(mac, ip, gateway, subnet);
}
void loop()
{
if (client.connect(server, 8000)) // Serverport bei mir 8000 bei bedarf ändern
{
char c = client.read();
Serial.print(c);
}
if (readString.length() < 100)
{
readString = readString + c;
}
Serial.print(c); //output chars to serial port
if (c == '\n') {
if(readString.indexOf("3=einschalten") > -1) {
digitalWrite(Pin3, HIGH);
Serial.println("Pin 3 eingeschaltet!");
Pin3ON = true;
}
if(readString.indexOf("3=ausschalten") > -1){
digitalWrite(Pin3, LOW);
Serial.println("Pin 3 ausgeschaltet!");
Pin3ON = false;
}
}
//clearing string for next read
readString="";
client.stop();
client.flush();
}
Kann mir jemand Helfen ?