Arduino Con Ethernet Shield
Arduino Con Ethernet Shield
OBJETIVOS:
-
Cita: WIKIPEDIA
Luego que se halla configuramos el ethernet shield para que tenga una IP
estatica necesitamos la programacin para lo que se quiere alcanzar.
En la investigacin que se est haciendo se ha planteado crear una interface
en HTML con el cual se creara una pgina web con los comandos necesario
para realizar funciones y ordenar al arduino que cumpla ordenes mediante
internet en cualquier parte de donde se encuentre el usuario.
QUE ES HTML:
El HTML es un lenguaje de descripcin de pginas que ha evolucionado en sus
ltimas versiones, (HTML5, a la hora de escribir esto) en algo muy sofisticado
que sin llegar a ser un lenguaje de programacin, es capaz de ofrecer una
potencia espectacular.
Un curso medianamente organizado de HTML escapa con mucho la capacidad
y el objetivo de estas humildes sesiones, pero para continuar presentando
como hacer ciertas cosas con Arduino y la conexin a Ethernet, necesitamos
<!DOCTYPE html>
<html>
<head>
<title> Control de LEDs en Arduino</title>
</head>
<body>
<h1>LED remoto</h1>
<p>Haz click para conmutar el LED.</p>
<form method="get">
<input type="checkbox" name="LED2" value="2"
onclick="submit();">LED2
</form>
</body>
</html>
#include <SPI.h>
#include <Ethernet.h>
String HTTP_req;
boolean LED2_status = 0;
void setup()
{ Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
pinMode(2, OUTPUT);
}
void loop()
{ EthernetClient client = server.available(); // Comprobamos si hay peticiones
if (client)
// En caso afirmativo
client.println("<html>");
client.println("<head>");
client.println("<title>Control de LEDs en Arduino</title>");
client.println("</head>");
client.println("<body>");
client.println("<h1>LED</h1>");
client.println("<p>Haz click para conmutar el LED.</p>");
client.println("<form method=\"get\">");
ProcessCheckbox(client);
client.println("</form>");
client.println("</body>");
client.println("</html>");
Serial.print(HTTP_req);
HTTP_req = "";
break;
}
if (c == '\n')
currentLineIsBlank = true;
else if (c != '\r')
currentLineIsBlank = false;
} // if (client.available
} // WHile
delay(10);
// dar tiempo
// LED2 pinchado?
// Si pichado invertimos el valor
digitalWrite(2, LED2_status);
if (LED2_status)
cl.println("<input type=\"checkbox\" name=\"LED2\" value=\"2\" \\
onclick=\"submit();\" checked>LED2");
else
cl.println("<input type=\"checkbox\" name=\"LED2\" value=\"2\" \\
onclick=\"submit();\">LED2");
}