Arduino ließt Daten nicht bzw falsch ein

  • C

    Arduino ließt Daten nicht bzw falsch ein

    Hallo ihr.

    Ich hab ein Problem.
    Ich hab mir jetzt das Ethernet Shield fürn Arduino geholt.
    Bis gestern ging noch alles.
    Jetzt hab ich den Code leicht abgeändert und plötzlich krieg ich es nicht mehr hin, damit er die Daten vom Webserver richtig erfasst.

    Ich hänge mal den HTML-Teil vom Arduino mit an:
    Spoiler anzeigen

    HTML-Quellcode

    1. client.println("HTTP/1.1 200 OK");
    2. client.println("Content-Type: text/html");
    3. client.println();
    4. client.print("<html><head>");
    5. client.print("<title>Arduino Webserver</title>");
    6. client.println("</head>");
    7. client.print("<center> <body bgcolor='#444444'>");
    8. //---Überschrift---
    9. client.println("<br><hr />");
    10. client.println("<h1><div align='center'><font color='#2076CD'>Arduino Webserver by n1nja</font color></div></h1>");
    11. client.println("<hr /><br>");
    12. //---Überschrift---
    13. //---Ausgänge schalten---
    14. client.println("<div align='center'><font face='Verdana' color='#FFFFFF'>Ausg&auml;nge schalten:</font></div>");
    15. client.println("<br>");
    16. client.println("<table border='1' width='500' cellpadding='5'>");
    17. client.println("<tr bgColor='#222222'>");
    18. client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Bass (Pin8)<br></font></td>");
    19. client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=8 value='einschalten'></form></td>");
    20. client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=8 value='ausschalten'></form></td>");
    21. if (Pin8ON)
    22. client.println("<td align='center'><font color='green' size='5'>ON");
    23. else
    24. client.println("<td align='center'><font color='#CFCFCF' size='5'>OFF");
    25. client.println("</tr>");
    26. client.println("<tr bgColor='#222222'>");
    27. client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Heizung (Pin7)<br></font></td>");
    28. client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=7 value='einschalten'></form></td>");
    29. client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=7 value='ausschalten'></form></td>");
    30. if (Pin7ON)
    31. client.println("<td align='center'><font color='green' size='5'>ON");
    32. else
    33. client.println("<td align='center'><font color='#CFCFCF' size='5'>OFF");
    34. client.println("</tr>");
    35. client.println("</tr>");
    36. client.println("</table>");
    37. client.println("<br>");
    38. client.println("<form method=get><input type=submit name=all value='Alles aus'></form>");
    39. client.println("</center></body></html>");



    Den Code hab ich einfach nur um einen weiteren Pin erweitert.
    So hat das dann 3-4 Tage funktioniert.

    Jetzt bekomm ich sobald ich einen Button drücke einfach nur viele "G" zurück.
    Ich lass das mir über den SerialPort anzeigen.

    Hier mal der Teil inner loop-void:
    Spoiler anzeigen

    Quellcode

    1. EthernetClient client = server.available();
    2. if (client) {
    3. while (client.connected()) {
    4. if (client.available()) {
    5. char c = client.read();
    6. if (readString.length() < 100) {
    7. readString = readString + c; }
    8. Serial.println(c);
    9. if (c == '\n') {
    10. if(readString.indexOf("8=einschalten") > -1) {
    11. digitalWrite(Pin8, HIGH);
    12. Serial.println("Pin 8 eingeschaltet!");
    13. Pin8ON = true;
    14. }
    15. if(readString.indexOf("8=ausschalten") > -1){
    16. digitalWrite(Pin8, LOW);
    17. Serial.println("Pin 8 ausgeschaltet!");
    18. Pin8ON = false;
    19. }
    20. if(readString.indexOf("7=einschalten") > -1) {
    21. digitalWrite(Pin7, HIGH);
    22. Serial.println("Pin 7 eingeschaltet!");
    23. Pin7ON = true;
    24. }
    25. if(readString.indexOf("7=ausschalten") > -1) {
    26. digitalWrite(Pin7, LOW);
    27. Serial.println("Pin 7 ausgeschaltet");
    28. Pin7ON = false;}
    29. }



    So hier bei Serial.println bekomm ich ständig diesen sch... Buchstaben. zurück.
    Normal müsste ja zb "8=einschalten" ankommen.


    Wäre dankbar über jede Hilfe.