Como enviar datos desde placa arduino a una pagina web en php

Hola, resulta que tengo una placa Arduino Ethernet y necesito mandar ciertos datos desde dicha placa a una página web. Estuve probando con un programa que armé y no funciona. A continuación adjunto dicho programa:

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

byte mac = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xCD };
byte ip = { 192,168,1, 105 };
byte gw = {192, 168, 0, 1};
byte subnet = {255, 255, 255, 0};
byte server = {66, 7, 198, 112}; //IP de la página web
byte SNTP_server_IP = {10, 66, 3, 100};
Server servidor = Server(80);

int Temperatura = 0;
int Humedad = 0;

void setup()
{
Serial.begin(9600);
Ethernet.begin(mac, ip, gw, subnet);
servidor.begin();
}

void loop()
{
Temperatura = 10;
Humedad = 20;
envioweb(Temperatura,Humedad);
delay(100);
}

void envioweb(int t1,int h1)
{

Client client(server, 80);
Serial.println(“Envio de datos al servidor web:”);
//inicializacion cliente web por ethernet

//creamos una clase cliente para que conecte al servidor indicado en el puerto 80
if (client.connect()) {
Serial.print(“Conectado OK: “);
//comenzamos la peticion http
client.print(“GET /agrosensor/index.php?reg=1&t1=”);
Serial.print(“GET /agrosensor/index.php?reg=1&t1=”);
//ponemos las variables
client.print(t1);
Serial.print(t1);
client.print(”&h1=”);
Serial.print("&h1=");
client.print(h1);
Serial.print(h1);
//terminamos indicando el protocolo HTTP y un salto de linea
client.println(" HTTP/1.1");
Serial.print(" HTTP/1.1");
//linea en blanco para que termine la peticion
client.println();
Serial.println();
}
else
{
Serial.println(“Error al conectar. Compruebe la conexion.”);
}

//paramos el cliente
client.stop();
delay(1);
}

El programa está hecho en la versión 0023 de Arduino.
Bueno, en principio la idea es ir viendo en la página los valores 10 y 20. Más adelante iré mandando datos correspondientes a un sensor de temperatura y otro de humedad.
Muchas gracias.
Saludos.

Si aun te interesa, HTTP es un protocolo y al realizar peticiones te obliga a respetar su sintaxis (que en ocasiones no es tan obvia)... prueba el siguiente código y los saltos de línea

void envioweb(int t1,int h1) { Client client(server, 80); if (client.connect()) { Serial.print("Conectado OK: "); //comenzamos la peticion http client.println("GET /agrosensor/index.php?reg=1&t1="+t1+"&h1="+h1+" HTTP/1.1"); //salto de línea requerido client.print("Host: "); //sin salto de línea client.println(server); //salto de línea requerido client.println("User-Agent: Arduino UNO R3/1.0"); //salto de línea requerido client.println("Connection: close"); //salto de línea requerido client.println(); //salto de línea requerido } else { Serial.println("Error al conectar. Compruebe la conexion."); }

//paramos el cliente client.stop(); delay(1); }

Tengo un ejemplo que hace exactamente lo mismo pero vía WiFi. Si te interesa puedes chequearlo para comparar tu código en: https://github.com/mauricioge/micros/tree/master/Arduino2DB revisa el link que dice sketch.ino

Que tengas un bonito día :wink:

Parece que el compaero ya respondio tu duda, pero otra cosa,

el loop se repite cientos de veces por segundo, asi que es mejor que definas tu variables en el set up y uses algo para que la funcion de enviar datos se llame una sola vez;

loop() 
{

if(enviar == true) //esto es una guarda booleana  
{ enviarDatos()    // se hace la funcion 
enviar = false;     //se cierra la guarda,  asi el codigo solo corre una vez x evento. 

} 

}

A los dos primeros les pido que edites sus textos porque solo veo textos y usen las etiquetas </> para presentar códigos tal como las normas del este foro lo piden