Paso 2: El código de arduino
/ * CAMBIAR ESTO A SU PROPIO VALOR ÚNICO. El número de MAC debe ser
* diferente de cualesquiera otros dispositivos en su red o a tener
* problemas de recepción de paquetes. */
estática uint8_t mac [] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
/ * CAMBIAR ESTO PARA QUE COINCIDA CON LA RED DEL HOST. La mayoría de redes domésticas son en
* el subrange 192.168.0.XXX o 192.168.1. Elegir una dirección
* que no esté en uso y no va a ser asignada automáticamente por
* DHCP desde tu router. */
uint8_t estático ip [] = {192, 168, 1, 15};
estática uint8_t gateway [] = {192 168 0, 1};
estática uint8_t subred [] = {255, 255, 255, 0};
/ * Esto crea una instancia de servidor Web. Especificando un prefijo
* de "", todas las páginas estarán en la raíz del servidor. */
#define prefijo ""
Servidor web servidor Web (prefijo, 80);
/ * comandos son funciones que haz llamadas por el framework de servidor Web
* pueden leer cualquier dato publicada del cliente, y la salida a la
* servidor de para enviar datos de vuelta al navegador. */
void helloCmd (servidor Web y servidor, WebServer::ConnectionType tipo, char *, bool)
{
/ * esta línea envía el estándar encabezados "estamos todos bien" de vuelta a la
navegador * /
server.httpSuccess();
/ * Si estamos manejando un GET o POST, podemos salida nuestros datos aquí.
Para una petición de la cabeza, sólo paramos después de imprimir los encabezados. */
Si (tipo! = WebServer::HEAD)
{
/ * define un texto HTML de memoria de sólo lectura aka PROGMEM.
* Es necesario para evitar que la cadena de copiado a nuestra limitada
* cantidad de memoria RAM. */
P(helloMsg) = "< html >< cabeza >< title > ATMEGA2560 online!!!! < / título >< / cabeza > "
"< h1 > Hola Mate, esta es llamada ATMEGA2560! < / h1 >< / html >";
/ * Esta es una forma especial de la impresión que las salidas de PROGMEM * /
server.printP(helloMsg);
}
}
void setup()
{
/ * inicializar el adaptador de Ethernet * /
Ethernet.Begin (mac, ip);
/ * configuración de nuestro comando por defecto que se ejecutará cuando el usuario acceda a
* la página de raíz en el servidor * /
webserver.setDefaultCommand(&helloCmd);
/ * ejecutar el mismo comando si intenta cargar /index.html, común
* nombre de la página de defecto * /
webserver.addCommand ("index.html" & helloCmd);
No olvide incluir la librería SPI, ethernet y servidor Web
/ * iniciar el servidor Web * /
WebServer.Begin();
}
void loop()
{
buff de Char [64];
int len = 64;
/ * procesar conexiones entrantes uno a la vez para siempre * /
webserver.processConnection (buff y len);
}