Go Down

Topic: Web server e comandi seriali (Read 4511 times) previous topic - next topic

lesto

okok, mea culpa, vuol dire che SEMPRE quando va a capo manda i segnale \n\r

Code: [Select]

#include <Ethernet.h>

byte mac[] = { 0x37, 0xA8, 0xD5, 0x00, 0x00, 0x53 };
byte ip[] = { 192, 168, 1, 145 };

Server server(80);

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

void loop()
{
  Client client = server.available();
  if (client) {
    // an http request ends with \n\r so:
    boolean nWasLastCar = false;
    int numeroDiACapo = 0;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.print(c);
        // if we've have a \n followed by a \r the request has ended
        if (c == '\r' && nWasLastCar) {
            numeroDiACapo++;
        }
        if (c != '\n') {
          nWasLastCar = true;
        }else{
          nWasLastCar = false;
        }
      }else{
          if (numeroDiACapo>1){
             // send a standard http response header
             client.println("HTTP/1.0 200 OK");
             client.println("Content-Type: text/html");
             client.println();
             client.println("<html><head><title>Prova ethernet</title>");
             client.println("</head><body>");
             client.println("<form name=\"input\" method=\"POST\">");
             client.println("Testo di input: <input type=\"text\" name=\"variabile\" />");
             client.println("<input type=\"submit\" value=\"Invia\" />");
             client.println("</form></body></html> ");
             break;
          }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    client.stop();
  }
}


ti avviso subito che la struttura del codice deve essere rivista, se il client appena finito di inviare si disconnette da solo c'รจ il rischio che non elabori parte dei dati via serial...
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy