Gracias Paco te envio el codigo.
#include <SPI.h>
#include <Ethernet.h>
//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //MAC
IPAddress ip(192,168,1,100); //IP
EthernetServer servidor(80);
int PIN_LED1=8;
String readString1=String(30);
String state1=String(3);
int PIN_LED2=9;
String state2=String(3);
int PIN_LED3=10;
String state3=String(3);
int PIN_LED4=11;
String state4=String(3);
void setup()
{
Ethernet.begin(mac, ip); //Inicializamos con las direcciones asignadas
servidor.begin();
pinMode(PIN_LED1,OUTPUT);
digitalWrite(PIN_LED1,HIGH);
state1="OFF";
pinMode(PIN_LED2,OUTPUT);
digitalWrite(PIN_LED2,HIGH);
state2="OFF";
pinMode(PIN_LED3,OUTPUT);
digitalWrite(PIN_LED3,HIGH);
state3="OFF";
pinMode(PIN_LED4,OUTPUT);
digitalWrite(PIN_LED4,HIGH);
state4="OFF";
}
void loop()
{
EthernetClient cliente= servidor.available();
if(cliente)
{
boolean lineaenblanco=true;
while(cliente.connected())//Cliente conectado
{
if(cliente.available())
{
char c=cliente.read();
if(readString1.length()<30)//Leemos petición HTTP caracter a caracter
{
readString1.concat(c); //Almacenar los caracteres en la variable readString
}
if(c=='\n' && lineaenblanco)//Si la petición HTTP ha finalizado
{
int LED1 = readString1.indexOf("LED1=");
int LED2 = readString1.indexOf("LED=");
int LED3 = readString1.indexOf("LED=");
int LED4 = readString1.indexOf("LED=");
if(readString1.substring(LED1,LED1+6)=="LED1=T")
{
digitalWrite(PIN_LED1,LOW);
state1="ON";
} else if (readString1.substring(LED1,LED1+6)=="LED1=F")
{
digitalWrite(PIN_LED1,HIGH);
state1="OFF";
}
if(readString1.substring(LED2,LED2+5)=="LED=T")
{
digitalWrite(PIN_LED2,LOW);
state2="ON";
} else if (readString1.substring(LED2,LED2+5)=="LED=F")
{
digitalWrite(PIN_LED2,HIGH);
state2="OFF";
}
if(readString1.substring(LED3,LED3+4)=="LED=T")
{
digitalWrite(PIN_LED3,LOW);
state3="ON";
} else if (readString1.substring(LED2,LED3+4)=="LED=F")
{
digitalWrite(PIN_LED3,HIGH);
state3="OFF";
}
if(readString1.substring(LED4,LED4+3)=="LED=T")
{
digitalWrite(PIN_LED4,LOW);
state4="ON";
} else if (readString1.substring(LED4,LED4+3)=="LED=F")
{
digitalWrite(PIN_LED3,HIGH);
state4="OFF";
}
//Cabecera HTTP estándar
cliente.println("HTTP/1.1 200 OK");
cliente.println("Content-Type: text/html");
cliente.println();
//Página Web en HTML
cliente.println("<html>");
cliente.println("<head>");
cliente.println("<title>CONTROL DE RELES</title>");
cliente.println("</head>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h1>CONTROL DE RELES EA4ADJ Ver 1.1</h1>");
cliente.print("<br><br>");
cliente.print("Estado del rele 1: ");
cliente.print(state1);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED1=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED1=F\'>");
cliente.print("<br><br><br>");
cliente.print("Estado del rele 2: ");
cliente.print(state2);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED=F\'>");
cliente.print("<br><br><br>");
cliente.print("Estado del rele 3: ");
cliente.print(state3);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED=F\'>");
cliente.print("<br><br><br>");
cliente.print("Estado del rele 4: ");
cliente.print(state4);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED=F\'>");
cliente.print("<br><br>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();//Cierro conexión con el cliente
readString1="";
}
}
}
}
}
Algo falla, pero ya he empezado a poner y quitar cosas y me he liado.
73 TNX
#include <SPI.h>
#include <Ethernet.h>
//Declaración de la direcciones MAC e IP. También del puerto 80
byte mac[]={0xDE,0xAD,0xBE,0xEF,0xFE,0xED}; //MAC
IPAddress ip(192,168,1,100); //IP
EthernetServer servidor(80);
int PIN_LED1=8;
String readString1=String(30);
String state1=String(3);
int PIN_LED2=9;
String state2=String(3);
int PIN_LED3=10;
String state3=String(3);
int PIN_LED4=11;
String state4=String(3);
void setup()
{
Ethernet.begin(mac, ip); //Inicializamos con las direcciones asignadas
servidor.begin();
pinMode(PIN_LED1,OUTPUT);
digitalWrite(PIN_LED1,HIGH);
state1="OFF";
pinMode(PIN_LED2,OUTPUT);
digitalWrite(PIN_LED2,HIGH);
state2="OFF";
pinMode(PIN_LED3,OUTPUT);
digitalWrite(PIN_LED3,HIGH);
state3="OFF";
pinMode(PIN_LED4,OUTPUT);
digitalWrite(PIN_LED4,HIGH);
state4="OFF";
}
void loop()
{
EthernetClient cliente= servidor.available();
if(cliente)
{
boolean lineaenblanco=true;
while(cliente.connected())//Cliente conectado
{
if(cliente.available())
{
char c=cliente.read();
if(readString1.length()<30)//Leemos petición HTTP caracter a caracter
{
readString1.concat(c); //Almacenar los caracteres en la variable readString
}
if(c=='\n' && lineaenblanco)//Si la petición HTTP ha finalizado
{
int LED1 = readString1.indexOf("LED1=");
int LED2 = readString1.indexOf("LED=");
int LED3 = readString1.indexOf("LED=");
int LED4 = readString1.indexOf("LED=");
if(readString1.substring(LED1,LED1+6)=="LED1=T")
{
digitalWrite(PIN_LED1,LOW);
state1="ON";
} else if (readString1.substring(LED1,LED1+6)=="LED1=F")
{
digitalWrite(PIN_LED1,HIGH);
state1="OFF";
}
if(readString1.substring(LED2,LED2+5)=="LED=T")
{
digitalWrite(PIN_LED2,LOW);
state2="ON";
} else if (readString1.substring(LED2,LED2+5)=="LED=F")
{
digitalWrite(PIN_LED2,HIGH);
state2="OFF";
}
if(readString1.substring(LED3,LED3+4)=="LED=T")
{
digitalWrite(PIN_LED3,LOW);
state3="ON";
} else if (readString1.substring(LED2,LED3+4)=="LED=F")
{
digitalWrite(PIN_LED3,HIGH);
state3="OFF";
}
if(readString1.substring(LED4,LED4+3)=="LED=T")
{
digitalWrite(PIN_LED4,LOW);
state4="ON";
} else if (readString1.substring(LED4,LED4+3)=="LED=F")
{
digitalWrite(PIN_LED3,HIGH);
state4="OFF";
}
//Cabecera HTTP estándar
cliente.println("HTTP/1.1 200 OK");
cliente.println("Content-Type: text/html");
cliente.println();
//Página Web en HTML
cliente.println("<html>");
cliente.println("<head>");
cliente.println("<title>CONTROL DE RELES</title>");
cliente.println("</head>");
cliente.println("<body width=100% height=100%>");
cliente.println("<center>");
cliente.println("<h1>CONTROL DE RELES EA4ADJ Ver 1.1</h1>");
cliente.print("<br><br>");
cliente.print("Estado del rele 1: ");
cliente.print(state1);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED1=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED1=F\'>");
cliente.print("<br><br><br>");
cliente.print("Estado del rele 2: ");
cliente.print(state2);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED=F\'>");
cliente.print("<br><br><br>");
cliente.print("Estado del rele 3: ");
cliente.print(state3);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED=F\'>");
cliente.print("<br><br><br>");
cliente.print("Estado del rele 4: ");
cliente.print(state4);
cliente.print("<br><br>");
cliente.println("<input type=submit value=ON style=width:100px;height:33px onClick=location.href='./?LED=T\'>");
cliente.println("<input type=submit value=OFF style=width:100px;height:33px onClick=location.href='./?LED=F\'>");
cliente.print("<br><br>");
cliente.println("</center>");
cliente.println("</body>");
cliente.println("</html>");
cliente.stop();//Cierro conexión con el cliente
readString1="";
}
}
}
}
}
Algo falla, pero ya he empezado a poner y quitar cosas y me he liado.
73 TNX