ethernet y metodo get (mas dudas)

PascuaL:

Jossema106:
He avanzado y creo que no poco, os pego el código:
Este es el formulario en html que esta en el servidor, las XXX corresponden a la ip publica seguida del puerto que previamente hemos redireccionado en nuestro router hacia la ip interna asignada a arduino.

LED

código de arduino, hay mas pero solo os pongo la comprobación con la cual enciende el led:

if(readString == ("GET /?L=1 HTTP/1.1") )
{
digitalWrite(ledPin, HIGH);
}

¿Podrías compartir lo anterior entero?(para que funcione )
Gracias.

#include <EthernetUdp.h>

#include <Ethernet.h>
#include <SPI.h>

//internet

byte mac[] = {yyyy, yyyy, yyyy, yyyy, yyyy, yyyy }; //physical mac address
byte ip[] = {192, 168, 1, 33 }; // ip in lan
byte gateway[] = {192, 168, 1, 254 }; // internet access via router
byte subnet[] = {255, 255, 255, 0 }; //subnet mask
EthernetServer server(5675); //server port
byte sampledata=50; //some sample data - outputs 2 (ascii = 50 DEC) ç

//pines
int ledPin = 7; // LED pin
int relayPin = 2; // PIN al que va conectado el relé
int pinTemperatura = 0; // Damos un nombre al pin de la temp

//variables
String readString = String(30); //string for fetching data from address
int tempValor ; // La variable donde guardaremos la temperatura
char url[100];
char meta[200] ;

void setup(){
//start Ethernet
Ethernet.begin(mac, ip, gateway, subnet);
//Set pin 4 to output
pinMode(ledPin, OUTPUT);
//enable serial datada print
pinMode(relayPin, OUTPUT);

Serial.begin(9600);

}

void loop(){

digitalWrite(relayPin, HIGH); // ENCENDIDO
delay(1000);
digitalWrite(relayPin, LOW); // APAGADO
delay(1000);

tempValor = ( 5.0 * analogRead(pinTemperatura) * 100.0) / 1024.0;

// Create a client connection
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 30)
{
//store characters to string
readString += c;
}
//output chars to serial port

//if HTTP request has ended
if (c == '\n') {
//lets check if LED should be lighted
readString.trim();
if(readString == ("GET /?L=1 HTTP/1.1") )
{
//led has to be turned ON
digitalWrite(ledPin, HIGH); // set the LED on

//redireccionar a la web
client.println("HTTP/1.1 200 OK");
client.println("");
client.println("Content-Type: text/html");
client.println();
client.println("");
client.println("");

}
else{
//led has to be turned OFF
digitalWrite(ledPin, LOW); // set the LED OFF

//redireccionar a la web
client.println("HTTP/1.1 200 OK");
client.println("");
client.println("Content-Type: text/html");
client.println();
client.println("<meta http-equiv='Refresh' content='0;url=XXXX>");
client.println("");
}

if(readString == ("GET /?T=1 HTTP/1.1") )
{

//CONSTRUIMOS LA URL PARA LA REDIRECCION
sprintf(url, "XXXX?temp=%d", tempValor);
sprintf(meta, "", url);

client.println("HTTP/1.1 200 OK");
client.println("");
client.println("Content-Type: text/html");
client.println();
client.println(meta);
client.println("");
}

//clearing string for next read
readString="";
//stopping client
client.stop();
}
}
}
}
}

las xxx corresponde a la url a la que lo envias y las yyy a la mac de tu tarjeta