Hola, necesito de su ayuda :'(, resulta que quiero automatizar mi casa controlada con Ethernet, diseñé una pagina web con un menú pero el problema que al hacer click en el menu para redireccionar a otra parte de la web no me carga la dicha pagina, solo me cambia la url pero en la pantalla sigo viendo "el index"... ayudenme please
PD: Tengo la DUE con una shield que nose el modelo xD, solo dice: "Mega compatible";
PD2: Estoy inicializando en la Electronica xD
Gracias
carmeloco:
Si pusieses el código, ayudaría bastante...
Recuerda que para poner códigos, se usa el icono de la hoja con los <>
Este es el codigo, es el simple para abrir un pagina desde la sd..
// Librerias del proyecto
#include <Ethernet.h>
#include <SD.h>
#include <SPI.h>
// Dirección MAC de la placa
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip (192, 168, 1, 177); // Dirección IP
EthernetServer server(80); // Se declara el servidor en el puerto 80
File webFile; // Se declara el archivo de página web
char fileName[] = "index.htm" ; // Declaramos el nombre del archivo .htm
void setup()
{
delay(3000);
Ethernet.begin(mac, ip); // Inicialización del servidor.
server.begin(); // Ponemos en marcha el servidor para que empiece a escuchar
Serial.begin(9600); // Inicialización del puerto RS232 para depurar
// Inicializacion de la tarjeta SD
Serial.println("Inicializando tarjeta SD...");
if (!SD.begin(4)) { // Inicializamos la tarjeta. PIN 4 -> CS
Serial.println("ERROR - Fallo al inicializar la tarjeta SD!");
return;
}
Serial.println("HECHO - Tarjeta SD inicializada.");
if (!SD.exists(fileName)) { // Comprobamos que exista el archivo index.htm
Serial.print("ERROR - No se puede encontrar el archivo");
Serial.println(fileName);
return; /
}
Serial.print("HECHO - Archivo ");
Serial.print(fileName);
Serial.println(" encontrado.");
Serial.print("Direccion IP del servidor: ");
Serial.println(Ethernet.localIP());
}
void loop()
{
EthernetClient client = server.available(); // Esperamos que se conete algún cliente
if (client) { // si hay algún cliente conectado...
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) { // hemos recibido algún dato del cliente
char c = client.read(); // leemos el dato que el cliente ha mandado (navegador)
if (c == '\n' && currentLineIsBlank) {
// enviamos el encabezado del documento HTML
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
// Abrimos la página de la SD y la enviamos
webFile = SD.open("index.htm");
if (webFile) {
while(webFile.available()) {
client.write(webFile.read());
}
webFile.close();
}
break;
}
// Si el cliente ya ha recibido todos los datos y ha contestado
//enconces cerramos la conexión
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
} // end if (client.available())
} // end while (client.connected())
delay(1);
client.stop();
} // end if (client)
}