Hallo und vielen Dank an euch beide für das Interesse!!!
- skorpi08 ich habe mir den Link angeschaut und finde das interessant. Ich werde diese Weise in den nächsten Tagen versuchen zum Laufen zu bringen, aber das wird schwierig. Meine aktuelle Version nutzt den Arduino Mega 2560 R3 als Webserver, da ich die Rückmeldungen vom Haus direkt angezeigt bekommen wollte (Arduino liest direkt aus und gibt es an die Webseite aus) und das auf Ethernet-Shield und Arduino zusammen nicht hinbekommen hatte. Beim ersten Versuch hatte ich die Webseite auf der SD-Karte im Ethernet-Shield und der Arduino hat so wie jetzt die Ardressleiste des Browsers ausgelesen z.B. http://192.168.2.106/?pinD22=0.
Bei dieser Adressleiste: http://192.168.2.106/?pinD22=0 liest der Arduino pin (welcher pin), D (Digitaler Pin), 0 (schalte auf Low).
So gebe ich die Befehle über die Webseite an den Arduino, wobei ich das über beide Versionen (Ethernet-Schield mit Webseite auf SD-Karte / Arduino als Webserver) geschafft habe, jedoch hatte ich das mit der Rückmeldung vom Arduino an die Webseite nicht hinbekommen und ging auf die 2.Version (Arduino als Webserver) und es funktionierte
Ich bin jetzt ein Jahr dabei mit dem Arduino wenn es die Zeit hergibt (selten) zu arbeiten und seit ein paar Monaten habe ich das Ethernet-Shield dazu gekauft um meine eigene Hausautomation zu erstellen.
Mir geht es vorerst nur um das saubere und sichere Schalten von Ausgängen des Arduino-Mega und die Rückmeldung über andere Ports das es erfolgreich war. Alles soll über die Webseite einwandfrei funktionieren und angezeigt werden. Es wäre fast geschafft wenn nicht die doofe Sache wäre (z.B. Pin 23 wird geschaltet, als nächstes Pin 24 und dabei wird gleichzeitig auch Pin 23 wieder mitgeschaltet, Pin 25 wird geschaltet und Pin 24 ebenso wieder mitgeschaltet).
Meine Versuche mit css und php waren auch soweit ok aber habe diese nie komplett umgesetzt.
Grundlegend habe ich kein Problem mit Programmieren von Siemens S5/S7, Freelance, WinCC, .......usw., aber C ist nochmal sehr viel schwieriger meiner Meinung nach, trotz der Hilfe der Librarys!
Das Ärgerlichste ist das ich kurz vor dem Sanieren meiner Eigentumswohnung bin (noch 2 - 4 Wochen) und ich würde gerne bevor ich das beginne wissen ob ich ein funktionierendes System schaffe und nicht "umsonst" die komplette Wohnung saniere und mit Steuerleitungen ausstatte
Ich bezweifle es zwar nicht das ich es schaffe, aber wann und wie ist die Frage........
- Stefan danke für deinen Mut meinen Programmcode direkt ohne nachschauen auf deinen Arduino zu laden XD , aber ich verstehe dein Problem nicht der Arduino (in meinem Fall Mega 2560 R3) hat im Programmcode schon die Webseite dabei unter Webseitenaufruf / Webseitengestaltung.
/*****************************************
WEBSEITENAUFRUF
*****************************************/
boolean current_line_is_blank = true; // eine HTTP-Anfrage endet mit einer Leerzeile und einer neuen Zeile
while (client.connected())
{
if (client.available()) // Wenn Daten vom Server empfangen werden
{
char c = client.read(); // empfangene Zeichen einlesen
if (c == '\n' && current_line_is_blank) // wenn neue Zeile und Leerzeile empfangen
{ // Standard HTTP Header senden
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
client.println("");
client.println("");
client.println("<body bgcolor="#FFCC00 ">");
client.println("<h1 align="center" >Haussteuerung - Tobias ");
client.println("");
client.println("
");
client.println("
");
client.println("
");
client.println("
");
/*****************************************
WEBSEITENGESTALTUNG
*****************************************/
/*****************************************
Licht im Arbeitszimmer
*****************************************/
if (digitalRead(38)){
client.print("<font size="5"> Das Licht im Arbeitszimmer ist EINGESCHALTET");
}else{
client.print("<font size="5"> Das Licht im Arbeitszimmer ist AUSGESCHALTET");
}
client.println("
");
client.print("<FORM action="http://192.168.2.106/\" >");
client.print("
<INPUT type="radio" name="pinD22" value="0">Schalten ");
client.print("
<INPUT type="submit" value="Bestätigen"> ");
client.println("
");
client.println("
");
client.println("
");
/*****************************************
Licht im Badezimmer
*****************************************/
if (digitalRead(39)){
client.print("<font size="5">Das Licht im Badezimmer ist EINGESCHALTET");
}else{
client.print("<font size="5"> Das Licht im Badezimmer ist AUSGESCHALTET");
}
client.println("
");
client.print("<FORM action="http://192.168.2.106/\" >");
client.print("
<INPUT type="radio" name="pinD23" value="0">Schalten");
client.print("
<INPUT type="submit" value="Bestätigen">");
client.println("
");
client.println("
");
client.println("
");
/*****************************************
Licht im Schlafzimmer
*****************************************/
if (digitalRead(40)){
client.print("<font size="5"> Das Licht im Schlafzimmer ist EINGESCHALTET");
}else{
client.print("<font size="5"> Das Licht im Schlafzimmer ist AUSGESCHALTET");
}
client.println("
");
client.print("<FORM action="http://192.168.2.106/\" >");
client.print("
<INPUT type="radio" name="pinD24" value="0">Schalten ");
client.print("
<INPUT type="submit" value="Bestätigen"> ");
..........usw.
das ist jetzt ein Auszug und dieser zeigt z.B. wie das Licht im Schlafzimmer geschaltet wird (pinD24 = Digitaler Pin 24) dann eben noch die variable 0 für Low-Signal welche beim Bestätigen hinzugefügt wird und dann sieht der Befehl so aus beim Bestätigen: 192.168.2.106/?pinD24=0.
Der Grund für lediglich das 0-Signal bzw. Low-Signal ist der, dass ich das Sainsmart 16-channel Relaismodul habe, welches nur mit einem Low-Signal durchschaltet. Ich nutzte das jeweilige Relais (16-Relais) lediglich als Taster (Einschalten und sofort wieder aus / Impulsschalter) für das Betätigen des Stromstoßrelais für den z.B. Lichtstromkreis des Schalfzimmers.
Über den 2.Schließer des Stromstoßrelais hole ich mir dann die Rückmeldung ob es angezogen hat und somit das Licht eingeschaltet ist auf den Arduino zurück und dann zur Webseite mit dem Text z.B. Das Licht im Schlafzimmer ist EINGESCHALTET.