Learning   Examples | Foundations | Hacking | Links

Ejemplos > biblioteca Ethernet

Servidor Web

Un servidor web que proporciona los valores de las entradas analogas. Este funciona con el escudo Ethernet para Arduino. Para utilizarlo, basta con usar un navegador web con la dirección IP del escudo.

Codigo

#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };

Server server(80);

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

void loop()
{
  Client client = server.available();
  if (client) {
    // una solicitud http finaliza con una linea en blanco
    boolean current_line_is_blank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        // si hemos llegado al final de la linea (recibido un caractér newline)
        // y la linea esta en blanco, la solicitud http ha finalizado, 
        // por lo que podemos enviar una respuesta.
        if (c == '\n' && current_line_is_blank) {
          // respondemos con un encabezado http estandar.
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();

          // envia los valores de cada pin de entrada análoga
          for (int i = 0; i < 6; i++) {
            client.print("analog input ");
            client.print(i);
            client.print(" is ");
            client.print(analogRead(i));
            client.println("<br />");
          }
          break;
        }
        if (c == '\n') {
          // comenzamos una nueva linea
          current_line_is_blank = true;
        } else if (c != '\r') {
          // hemos recibido un caracter en la linea actual
          current_line_is_blank = false;
        }
      }
    }
    // le damos tiempo al navegador para recibir los datos
    delay(1);
    client.stop();
  }
}

Ver también

Share