mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Arduino Ethernet-Problem


Autor: Ben (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe folgendes Beispiel
http://jleopold.de/wp-content/uploads/2010/10/Ardu...
von Seite http://goo.gl/jwtbD getestet, funktioniert tadellos.

Nun wollte ich es testweise um einen zusätzliche Buttons erweitern, das 
funktionierte dann nicht mehr.

Ich habe dazu den Code zwischen "client.println("<tr 
bgColor='#222222'>");"
und "client.println("</tr>");" nach der if-else Abfrage dupliziert, 
angepasst und
auch die Funktion oben "if(readString.indexOf("3=einschalten") > -1) 
{...." erweitert.

Nichts geht und ich finde das Problem nicht.

File hab ich mal in den Anhang gepackt



Ich hab die Frage auch schon im dortigen Forum gestellt, warte aber noch 
auf die Zugangsdaten (ohne diese erscheint die Frage nicht im Forum), so 
das ich hier mal anfrage.


Danke Ben

Autor: Verwirrter Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
was bedeutet "nichts geht" ?
Kompiliert der Code nicht und es kommt eine Fehlermeldung?
Kompiliert der Code aber du kommst nicht auf die Webseite?
Kompiliert der Code, du kommst auf dei Webseite aber die Schalter 
funktionieren nicht?
Kompiliert der Code, du kommst auf die Webseite und alle Schalter bis 
auf den Schalter 5 funktionieren?

Wenn der Code kompiliert, bekommst du Ausgaben über die Serielle 
Schnittstelle?

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich komme nicht auf den Server und auch keine Ausgabe auf RS232.

Wenn ich anderes Button-Paar (gemeint ist die Reihemit ein/aus Button) 
und deren Funktion auskommentiere, dann funktioniert auch mein 
Codeerweiterung.

Button-Paar A,B,C.

A+B ok, A+C ok, B+C ok, aber nicht A+B+C.

Es funktioniert immer nur mit 2 Buttonpaaren, nicht mit 3,4,...

Autor: Verwirrter Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Vermutung ist, das du nicht genug Speicher für die ganzen Strings 
hast.

Versuch mal den Text zu kürzen, z.B. aus:
client.println("<tr bgColor='#222222'>");

 client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Ausgang 4<br></font></td>");
 
 client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=4 value='einschalten'></form></td>");
 
 client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=4 value='ausschalten'></form></td>");

client.println("<tr>");

 client.println("<td>Ausgang 4<br></td>");
 
 client.println("<td align='center'><form method=get><input type=submit name=4 value='on'></form></td>");
 
 client.println("<td align='center'><form method=get><input type=submit name=4 value='off'></form></td>");

zu machen und aus:
 if(readString.indexOf("4=ausschalten")
 if(readString.indexOf("4=off")

wenn du das konsequent machst, könnte das alles schon wieder 
funktionieren, danach kannst du ja gucken, wie du das html schön machst.

Grundsätzlich könnte es Sinn machen den ganzen statischen Text mit Hilfe 
von http://arduiniana.org/libraries/flash/ im Flash zu speichern.

und nur nebenbei hier ist noch ein kleiner Bug drin:
          if(readString.indexOf("all=Alles+aus") > -1){
            digitalWrite(Pin3, LOW);
            digitalWrite(Pin4, LOW);
            digitalWrite(Pin4, LOW);
            Serial.println("Alles ausgeschaltet");
            Pin3ON = false;
            Pin4ON = false;
            Pin5ON = false;
          }


du schaltest Pin4 2 mal aus, und dafür Pin5 gar nicht

Autor: Ben (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, jetzt gehts.

Scheint doch der Speicher zu knapp zu sein.

Leider sieht das Ganze jetzt nicht mehr so augenfreundlich aus wie das 
Beispiel.


Danke für die Hilfe!

Autor: Verwirrter Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du irgendwo anders Platz hast (eigener Server, Webhoster, etc), 
dann würde ich die einzelnen tags nur mit CSS Klassen machen, und das 
style sheet auslagern. Dann kannst du das so schön machen, wie du willst 
und verbrauchst trotzdem kaum Platz auf dem Arduino.

Ausserdem könntest du den HTML Code für die einzelnen Schalter in einer 
Schleife erstellen, dann bräuchtest du den ganzen Text nur einmal, und 
hast das Ganze gleich auf 1/5 reduziert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.