Arduino als Webserver

Hallo,

ich habe jetzt nur sehr flüchtig in Deinen Code geschaut.
2 Sachen: die unvollständigen Texte Deiner Ausgaben.
Du bindest SoftSerial ein, ich sehe aber nicht, daß die irgendwie genutzt wird. Deine Asugaben erfolgen doch über die Hardware-Serielle mit 9600Baud und die macht mit Sicherheit keine fehlenden Zeichen.

Ansonsten holt der Webserver einen HTTP-Header und wenn er dessen Ende erkannt hat (Leerzeiile mit \n am Ende) schickt er den Response-Header raus.

        if (c == '\n' && currentLineIsBlank)
        {

----> hier ist der Headder komplett gelesen

          Serial.println(F("Sending HTML page"));
          // send a standard http response header:
         
          client.print(htmlHeader);

         //HTML Code
          client.println("</html>\n");                 
          break;
        }

Ich sehe hier keinerlei Handling für GET/POST- Argumente, die muß er bereits beim Lesen des Headers irgendwo ablegen und bereitstellen. Die sind bei GET Bestandteil der URL und bei POST eigene Zeilen im Header.

Das sieht irgendwie alles wie einBeispiel aus: wie beantworte ich einen HTTP-Request mit einem Response ohne mich für irgendwas zu interessieren. Weder für die angeforderte Webseite (die ist entweder "/" wenn ich nur die IP im Browser eintippe und wird üblicherweise als index.html betrachtet oder eben /index.html direkt oder eine andere Webseite mit ihrem Namen. IP/schalter.html?1=ein,2=aus wäre ein GET-Request der Seite schalter.html mit den Parametern 1->ein und 2->aus.
Sonst kann ja niemand zuordnen, wer die Parameter eigenlich bekommen und reagieren soll.

Das man das gerade bei ESP und AVR gern auf ein Minimum zusammenkürzt, weil man z.B. sowieso nur eine LED ein- und ausschalten will (IP/ein oder IP/aus) geht zwar, ist aber eigenlich nicht HTML-konform und nicht flexibel. Man baut den Kram dann für jede Spielerei wieder komplett um...

Weiter habe ich jetzt nicht geschaut, ich benutze den ESP8266Webserver, der liefert dann in den CallBck-Funktionen für die einzelnen Seiten die Parameterlisten als Array ab.

Gruß aus Berlin
Michael.