Paso 3: Instalación del Software de los diversos componentes
Las funciones que permiten que funcione la tarjeta ethernet no está presente en el IDE de Arduino. Por esta razón es necesario instalar esta librería, dentro de la carpeta "librerias" Arduino. Para ello, simplemente descargue el archivo en. Zip, lo descomprimimos y mover a la carpeta de Arduino, sin necesidad de abrir el programa. Como alternativa, puede hacer este procedimiento directamente desde el software IDE.Ahora que la biblioteca está presente, podemos proceder a cargar el archivo en nuestro Arduino Uno.
Para ello descarga el código fuente desde este enlace y pulsar el botón en la parte superior izquierda, para transferirlo a nuestro microcontrolador. Después de unos segundos, si todo va bien, llegará el mensaje "Carga completa". Ahora por fin podemos ir a la práctica!
/** #include < EtherCard.h > MIMAC de estática bytes [] = {0x74, 0x69, 0x69, 0x2D, 0 x 30, 0x31}; byte Ethernet::buffer [700]; void setup () {}
Questo codice permette di accendere una lampada o al relé da remoto, sfruttando
la scheda di rete ENC28J60
SCK -> 13
Por lo tanto -> 12
SI -> 11
CS -> 8
VCC -> 3.3 V
GND -> GND
*/
#define RELAY_PIN 5
#define REQUEST_RATE 5000
char * a = "ON";
char * off = "OFF";
relayStatus Boolean;
char * relayLabel;
char * linkLabel;
Serial.Begin(9600);
Serial.println ("obteniendo IP via DHCP");
Si (ether.begin (sizeof Ethernet::buffer, MIMAC) == 0)
Serial.println ("fallado el acceso Ethernet controlador");
Si (! ether.dhcpSetup())
Serial.println ("DHCP error");
ether.printIp ("My IP:", ether.myip);
ether.printIp ("máscara de red:", ether.mymask);
ether.printIp ("IP de GW:", ether.gwip);
ether.printIp ("IP del DNS:", ether.dnsip);
Serial.println();
pinMode (RELAY_PIN, salida);
digitalWrite (RELAY_PIN, bajo);
relayStatus = false;
relayLabel = off;
linkLabel =;
}
void loop () {}
palabra len = ether.packetReceive();
pos de la palabra = ether.packetLoop(len);
{if(POS)}
¿Si (strstr ((char *) Ethernet::buffer + pos, "obtener /? ON")! = 0) {}
relayStatus = true;
relayLabel =;
linkLabel = off;
¿} else if (strstr ((char *) Ethernet::buffer + pos, "obtener /? OFF")! = 0) {}
relayStatus = false;
relayLabel = off;
linkLabel =;
}
digitalWrite (RELAY_PIN, relayStatus);
BufferFiller bllenar = ether.tcpOffset();
bfill.emit_p (PSTR ("HTTP/1.0 200 OK\r\n"
"Tipo de contenido: texto/html\r\nPragma: no-cache\r\n\r\n"
"< html >< cabeza >< nombre meta = 'viewport' content =' ancho = 200px'/ >< / cabeza >< cuerpo >"
"< div estilo =' posición: absolute; width: 200px; altura: 200px; top: 50%; izquierda: 50%; margen:-100px 0 0 - 100px" > "
"< div estilo ='font: bold verdana 14px; texto-alinee: Centro ' > relé es $S < / div >"
"< br >< estilo div =' texto-alinee: Centro ' >"
"< a href ='/? '$S >< img src = 'http://ismanettoneblog.altervista.org/blog/wp-content/uploads/2014/02/bt _$S.png' >< /a >"
"< div > Controlla la lampada < div >"
"< / div >< / div >< cuerpo / >< / html >"
), relayLabel, linkLabel, linkLabel);
ether.httpServerReply(bfill.position());
}
}