Go Down

Topic: Formulardaten von Webserver auslesen (Read 553 times) previous topic - next topic

Luke97

Hallo,
Ich habe mir mit den Ethernet Shield einen Webserver mit einen Eingabefeld und einen Button fürs senden erzeugt. Wenn ich im Eingabefeld z.B. 100 eingebe und dann auf senden klicke dann ruft es folgende Seite auf: http://192.168.2.42/?val=100. Wie kann ich im Arduino die 100 auslesen und in eine integer Variable umwandeln
Wenn ich meine Variable "val" im Seriellen Monitor auslese, kommt bisher folgendes an:
GET /?val=100 HTTP/1.1
Value: HGET /favicon.ico HTTP/1.1
Value: HGET /favicon.ico HTTP/1.1
Value: HGET /favicon.ico HTTP/1.1
Value: HGET /favicon.ico HTTP/1.1
Value: H

Hier mein Sketch:
Code: [Select]
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {0x54,0x55,0x58,0x10,0x00,0x24};
byte ip[]  = {192,168,2,42};                 
EthernetServer server(80);
String readString = String(100);

void setup(){
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.begin(9600);
}

void loop(){
  EthernetClient client = server.available();
 
    if (client) {
      while (client.connected()) {       
        if (client.available()) {             
        char c = client.read();             
       
        if (readString.length() < 100) {     
          readString = readString + c;
            }
           
    Serial.print(c);
    if (c == '\n') {
 
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println("Connection: close");   
  client.println();
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
  client.println("<body>");
  server.print("<form method='get'><input type='text' name='val'><input type='submit'></form>");
  client.println("</body>");
  client.println("</html>");
 
    if(client.available()) {
      char val = client.read();
      Serial.print("Value: ");
      Serial.print(val);
     }
  client.stop();
}}}}}

Kann mir bitte jemand bei meinem Problem helfen?


Jusskin

Hallo,
Sie können die Zeichen verschieben:
a = b << x verschiebt b um x nach links und speichert das Ergebnis in a
a = b >> x verschiebt b um x Stellen nach rechts und speichert das Ergebnis in a
b =<< x verschiebt b um x Stellen nach links und speichert das Ergebnis in b
b =>> x verschiebt b um x nach rechts und speichert das Ergebnis in b

hoffentlich hilft das :)
Schöne Grüße

HotSystems

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. 8)

Go Up