Hier der Code:
//Werbserver funktioniert, jedoch Ausgang geht nicht auf on
#include <SPI.h>
#include <WiFi.h>
char ssid[] = "ixv-90240";
char pass[] = "g65y-j31q-qgje-qsjf";
WiFiServer server(80);
int z=0;
int Pin0 = 0;
int Pin1 = 1;
int Pin2 = 2;
int Pin3 = 3;
String readString = String(100); // string for fetching data from address
boolean Pin0ON = false; // Status flag
boolean Pin1ON = false;
boolean Pin2ON = false; // Status flag
boolean Pin3ON = false;
void setup(){
WiFi.begin(ssid, pass);
delay(10000);
server.begin();
pinMode(Pin0, OUTPUT);
pinMode(Pin1, OUTPUT);
pinMode(Pin2, OUTPUT);
pinMode(Pin3, OUTPUT);
Serial.begin(9600); }
void loop(){
if(z==0)
{
IPAddress ip = WiFi.localIP(); //Variable ip vom Typ IPAdress erhält die IP Adresse von Wifishield
Serial.print("IP Adresse: "); //Text "IP Adresse:" wird an Konsole gesendet
Serial.println(ip);
z=1;
}
// Create a client connection
WiFiClient 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) {
//store characters to string
// readString.append(c); removed by Katsu
readString = readString + c; // insert by Katsu
// very simple but it works...
}
Serial.print(c); //output chars to serial port
if (c == '\n') { //if HTTP request has ended
// readString.contains() replaced with readString.indexOf(val) > -1 by Katsu
// indexOf locates a character or String within another String.
// Returns the index of val within the String, or -1 if not found.
if(readString.indexOf("0=ein") >-1) {
digitalWrite(Pin0, HIGH);
Serial.println("Pin 3 eingeschaltet!");
Pin0ON = true;
}
if(readString.indexOf("0=aus") >-1){
digitalWrite(Pin0, LOW);
Serial.println("Pin 0 ausgeschaltet!");
Pin0ON = false;
}
if(readString.indexOf("1=ein") > -1) {
digitalWrite(Pin1, HIGH);
Serial.println("Pin 1 eingeschaltet!");
Pin1ON = true;
}
if(readString.indexOf("1=aus") > -1){
digitalWrite(Pin1, LOW);
Serial.println("Pin 1 ausgeschaltet!");
Pin1ON = false;
}
///////////
if(readString.indexOf("2=ein") > -1) {
digitalWrite(Pin2, HIGH);
Serial.println("Pin 2 eingeschaltet!");
Pin2ON = true;
}
if(readString.indexOf("2=aus") > -1){
digitalWrite(Pin2, LOW);
Serial.println("Pin 2 ausgeschaltet!");
Pin2ON = false;
}
if(readString.indexOf("3=ein") > -1) {
digitalWrite(Pin3, HIGH);
Serial.println("Pin 3 eingeschaltet!");
Pin3ON = true;
}
if(readString.indexOf("3=aus") > -1){
digitalWrite(Pin3, LOW);
Serial.println("Pin 3 ausgeschaltet!");
Pin3ON = false;
}
//////////
if(readString.indexOf("allon=Alles+ein") > -1){
digitalWrite(Pin0, HIGH);
digitalWrite(Pin1, HIGH);
digitalWrite(Pin2, HIGH);
digitalWrite(Pin3, HIGH);
Serial.println("Alles eingeschaltet");
Pin0ON = true;
Pin1ON = true;
Pin2ON = true;
Pin3ON = true;
}
//////////
if(readString.indexOf("alloff=Alles+aus") > -1){
digitalWrite(Pin0, LOW);
digitalWrite(Pin1, LOW);
digitalWrite(Pin2, LOW);
digitalWrite(Pin3, LOW);
Serial.println("Alles ausgeschaltet");
Pin0ON = false;
Pin1ON = false;
Pin2ON = false;
Pin3ON = false;
}
//--------------------------HTML------------------------
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.print("");
client.print("Poldis Arduino Webserver in Andreas Version");
client.println("");
client.println("Poldis Arduino Webserver in Andreas Version");
//Tabelle
client.println("");
client.println("
");
client.println("
");
client.println("
");
if (Pin0ON)
client.println("
");
else
client.println("");
client.println("
");
client.println("
");
client.println("
");
client.println("
");
if (Pin1ON)
client.println("
");
else
client.println("");
client.println("
");
client.println("
");
client.println("
");
client.println("
");
if (Pin2ON)
client.println("
");
else
client.println("");
client.println("
");
client.println("
");
client.println("
");
client.println("
");
if (Pin3ON)
client.println("
");
else
client.println("");
client.println("
");
client.println("
Ausgang 0
|
|
|
ON |
OFF |
Ausgang 1 |
|
|
ON |
OFF |
Ausgang 2 |
|
|
ON |
OFF |
Ausgang 3 |
|
|
ON |
OFF |
");
client.println("");
client.println("");
client.println("
");
client.println("");
//clearing string for next read
readString="";
//stopping client
client.stop();
}}}}}
Der Webserver funktioniert, jedoch lassen sich die Ausgänge nicht Ansteuern.