include
#include
byte mac(] = ( OxDB, OxAD, OxBE, OxBF, OxFE, OxED };
byte ip{] = { 192, 168, 1, 177
//0na ip del servidor web de Google (en concreto, su buscador)
byte miservidor[] = { 173, 194, 67, 103 };
EthernetClient micliente;
void setup() {
Bthernet begin (mac, ip);
Serial. begin (9600)
/* Si micliente.connect () devuelve 0, 1a conexién no se ha
podido realizar. Los servidores web siempre escuchan en el
puerto 80 */
if (micliente.connect (miservidor, 80)
Serial.print1n("Conectado") ;
0) {
/*Se envia esta cadena de caracteres al buscador de
Google.Veremos su significado enseguida */
micliente.printin("G8T /search?q-arduino HTTP/1.1") ;
micliente.printin("Host: www.google.com) ;
micliente.printIn();//Linea en blanco:marca de final
}
void loop() {
char ¢;
/*8i hay datos disponibles que han llegado
desde el servidor pendientes de leer*/
if (micliente.available() > 0) {
//...38 lee un byte en cada repeticién del loop
¢ = micliente. read() ;
/*...y se muestra ese byte por el “Serial monitor”. El
resultado final sera la respuesta del servidor
Google a la cadena que se ha enviado en setup()*/
Serial print (c) ;
}
//Si el servidor de Google ha cerrado la conexién
if (micliente.connected() == 0) {
micliente.stop(); | //La cerramos nosotros también
){;} //¥ no hago nada nunca més‘include
#include
#inelude
byte mac{] = { OxDE, OxAD, OXBE, OKEF, OxPE, OxED };
byte ip{l = ( 192,168,1, 177 };
File pagina;
Ethernetserver miservidor (30) ;
EthernetClient wicliente;
chav cavacter;
boolean LineaActualBstaVacia = true;
void setup) (
Ethernet begin (mac, ip);
miservidor.begin();
pintlode(10,CUTPUT) ; //Necesario para la Librerfa sD
/*S4 ha habido un exvor an inicializar
a tarjeta, se aborta el prograna */
if (1sD.begin(4)) { return; }
)
void loop) {
micliente = miservidor.available() ;
if (micliente == true) {
while (micliente.connected()== true) {
if (micliente-available() > 9) {
caracter = nicliente-read();
if (c == '\n" && Lineaactualestavacia==true) {
client.printin(*H7TP/1.1 200 OK") ;
client printin("Content-Type: text/html");
client printing);
/*T2as el envio de las cabecoras HTTP se abre ol fichero
‘almacenado en 1a tarjeta SD y ee va leyendo cardcter tras
cardcter. Al miomo tiempo que se lee cada carfcter, este ee
reenvia por Ja red hacia el cliente.*/
pagina = SD-open(*pagina.heal");
if (pagina != 0) { //8i no hay error.
//mientras haya caracteres por leer en el fichero..
while (pagina.available()> 0) (
/{-los veenvio al cliente
micliente write (pagina read());
}
J[Deepaée de leeres todos los caracteres,cierse ol fichero
pagina.close ();
)
break; //Ya he enviado todo, Saigo para cerrar 1a conexién
t
Le (earacter == ‘\n") {
LincaActualgstaVacia = true;
) ele if (caracter I= \r) (
LineaActualgetaVacia = false;
}
}
delay (2);
micliente.stop() ;
}