Envió de datos a Arduino desde la PC a traves de ethernet Shield

Hola a todos!
Les cuento que soy nuevo en el foro, acabo de iniciar con Arduino, así que si meto la pata en algo, sepan entender y disculpar.
Lo que intento hacer es enviarle datos al Arduino desde una pc a trabes de ethernet Shield.
Para arrancar necesito lo básico, enviarle un 0 o 1 como para manejar un relee.
Mi problema es que no se que tipo de comunicación se usa en estos casos, todos lo que encuentro en Internet es a través HTML que queda guardado junto con el código en la placa, y eso no me sirve.
Hace rato busco en Internet y encuentro siempre lo mismo.
Me podrán orientar un poco?

Desde ya mucha gracias.
Saludos

Es muy complicado ?

Tampoco soy experto y no se si lo he entendido bien, pero creo que para servir una web con arduino tienes que usar HTML junto con el código de arduino(si no quieres usar servidores externos supongo, que no se como se hace).
No se si es que no es lo que buscas, pero con HTML puedes hacer lo que estas buscando de momento, si quieres pasar un 0 o un 1, ponlo en el atributo href de un input, un button, un a…de este modo:

client.println("<input type=submit value=1 style=width:200px;height:75px onClick=location.href='./?ORDEN=1~\'>");

En la parte de arriba del codigo (antes de servir la web) debes recibir los datos del cliente

    while (client.connected()) {
      if (client.available()) {
        String readString = String(30);
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
         if(readString.length()<30) {
            readString.concat(c);
            //Cliente conectado
           //Leemos petición HTTP caracter a caracter
           //Almacenar los caracteres en la variable readString
         }

Y actuar en consecuencia de lo que te ha enviado antes:

if (c == '\n' && currentLineIsBlank) {

          int orden = readString.indexOf("ORDEN=");
          int fin = readString.indexOf("~");


          if(readString.substring(orden,fin)=="ORDEN=1") {

              digitalRead(led) == HIGH ? digitalWrite(led, LOW) : digitalWrite(led, HIGH);

              estado == "HIGH" ? estado = "LOW" : estado = "HIGH";

              readString = "";

          }

Donde yo cambio de estado el led tu deberías hacerlo con tu relee, pero eso si, ten cuidado con los tipos de dato, ya que un “1” puede ser int, long, string, char…e igual te da problemas

Espero haberte ayudado en algo.
Saludos

fpirovani: Para arrancar necesito lo básico, enviarle un 0 o 1 como para manejar un relee. Mi problema es que no se que tipo de comunicación se usa en estos casos, todos lo que encuentro en Internet es a través HTML que queda guardado junto con el código en la placa, y eso no me sirve.

Los navegadores web hablan HTTP, entonces tu Arduino deberá manejar dicho protocolo incluso aunque sea para un simple caracter.

Si la idea es utilizarlo como un puerto serial, tendrás que buscar alguna terminal/consola que soporte comunicación por TCP; o crear una aplicación que lo haga por un "socket de red" simple.