parametro get

Abro un nuevo hilo para ver si alguien puede decirme como pasar concatenado el parametro get… subo todo el sketch y de la manera que lo puse ahora es solo un ensayo mas.
Probe de colocarle al lado del igual un numero cualquiera e inserta de manera correcta… con eso descarto problemas en php.
Por el monitor serie veo los datos, pero en mysql inserta solo 0.

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

// Configuracion del Ethernet Shield
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; // Direccion MAC
byte ip[] = { 192,168,1,117 }; // Direccion IP del Arduino
byte server[] = { 192,168,1,10 }; // Direccion IP del servidor
EthernetClient client;

SoftwareSerial mySerial(6, 5); // RX, TX

char databuffer[35];
double temp;


void setup() {
 
  Ethernet.begin(mac, ip); // Inicializamos el Ethernet Shield
  delay(1000); // Esperamos 1 segundo de cortesia
  Serial.begin(9600);
  mySerial.begin(9600);
  
}


void loop() {
  getBuffer();
 Serial.print("Direccion del viento: ");
  Serial.print(WindDirection());
  Serial.println();
  Serial.print("Velocidad media del viento (Un Minuto): ");
  Serial.print(WindSpeedAverage());
  Serial.println("m/s");
  Serial.print("Velocidad max viento (5 Minutos): ");
  Serial.print(WindSpeedMax());
  Serial.println("m/s");
  Serial.print("Lluvia caida (1 Hora): ");
  Serial.print(RainfallOneHour());
  Serial.print("Lluvia caida (24 Horas): ");
  Serial.print(RainfallOneDay());
  Serial.println("mm");
  Serial.print("Temperatura: ");
  Serial.print(Temperature());
  Serial.println("*C");
  Serial.print("Humedad: ");
  Serial.print(Humidity());
  Serial.println(" porciento");
  Serial.print("Presion Atmosferica: ");
  Serial.print(BarPressure());
  Serial.println("hPa");
  Serial.println("");
  Serial.println("");
  Serial.println("Conectando...");
  if (client.connect(server, 80)>0) {  // Conexion con el servidor
    client.print("GET /estacion/captura.php?WindDirection=WindDirection()&WindSpeedAverage=WindSpeedAverage()&WindSpeedMax=WindSpeedMax()&Temperature=Temperature()&RainfallOneHour=RainfallOneHour()&RainfallOneDay=RainfallOneDay()&BarPressure=BarPressure&Humidity=Humidity()"); // Enviamos los datos por GET
    client.println(" HTTP/1.0");
    client.println("User-Agent: Arduino 1.0");
    client.println();
    Serial.println("Conectado");
  } else {
    Serial.println("Fallo en la conexion");
  }
  if (!client.connected()) {
    Serial.println("Desconectando!");
  }
  client.stop();
  client.flush();
 delay(60000); // Espero un minuto antes de tomar otra muestra
//delay(1000);
}

void getBuffer(){
  int index;
  for(index = 0;index < 35;index++){
    if(mySerial.available()){
      databuffer[index]=mySerial.read();
      if(databuffer[0] != 'c'){
        index=-1;
      }
    }else{
      index--;
    }
  }
  Serial.print(databuffer);
}

int transCharToInt(char *_buffer, int _start, int _stop){
  int _index;
  int result = 0;
  int num = _stop - _start + 1;
  int _temp[num];
  for (_index = _start; _index <= _stop; _index++){
    _temp[_index - _start] = _buffer[_index] - '0';
    result = 10*result + _temp[_index - _start];
  }
  return result;
}

 int WindDirection(){
  return transCharToInt(databuffer,1,3);
}

 float WindSpeedAverage(){
  temp = 0.44704 * transCharToInt(databuffer,5,7);
  return temp;
}

float WindSpeedMax(){
  temp = 0.44704 * transCharToInt(databuffer,9,11);
  return temp;
}

float Temperature(){
  temp = (transCharToInt(databuffer,13,15) - 32.00) * 5.00 / 9.00;
  return temp;
}

float RainfallOneHour(){
  temp = transCharToInt(databuffer,17,19) * 25.40 * 0.01;
  return temp;
}

float RainfallOneDay(){
  temp = transCharToInt(databuffer,21,23) * 25.40 * 0.01;
  return temp;
}

int Humidity(){
  
  return transCharToInt(databuffer,25,26);
  
}

float BarPressure(){
  temp = transCharToInt(databuffer,28,32);
  return temp / 10.00;
}

Buenos dias, tengo la impresion que primero debes capturar el dato en una variable para luego ponerla en la linea del comando GET, por ejemplo:

Direccion = WindDirection();
velocidad=WindSpeedAverage();
vel_max=WindSpeedMax();
temperatura=Temperature();
OneHour=RainfallOneHour();
OneDay=RainfallOneDay();
presion=BarPressure();
humedad=Humidity();


client.print("GET /estacion/captura.php?WindDirection=direccion&WindSpeedAverage=velocidad&WindSpeedMax=vel_max&Temperature=temperatura&RainfallOneHour=OneHour&RainfallOneDay=OneDay&BarPressure=presion&Humidity=humedad"); // Enviamos los datos por GET

Prueba asi y nos comentas

Todo lo que hay dentro de las comillas es interpretado como una cadena de caracteres,Arduino no puede diferenciar ahi llamadas a funciones,solo ve caracteres.Tendras que "fabricar" el String a mano añadiendo los valores....

String envioDatos = "GET /estacion/captura.php?WindDirection=";
#define parametro1 "&WindSpeedAverage="
#define parametro2 "&WindSpeedMax="
// resto de parametros aqui
int windDir = 100; // Imagina que estos son los datos recogidos
float windSpeed =  100.23;
float temperature = 34.43;
//resto de valores aqui
void setup() {
  Serial.begin(9600);
  envioDatos += String(windDir) + parametro1 + String(windSpeed) + parametro2 + String(temperature); // Resto de cadena aqui
  Serial.print(envioDatos);
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

gracias a ambos por las respuestas carlos... lo probe pero no me funciona
y jose....no entendi bien tu propuesta... serias tan amable de explicarmelo por favor?

Jose quiso decir que debes construir el string ya que cuando colocas esto:

client.print("GET /estacion/captura.php?WindDirection=....."

El programa no entiende que hay variables dentro de las comillas, lo que debes hacer es lo que te instruyo jose

String envioDatos = "GET /estacion/captura.php?WindDirection=";
#define parametro1 "&WindSpeedAverage="
#define parametro2 "&WindSpeedMax="
#define parametro3 "&Temperature="
#define parametro4 "&RainfallOneHour="
#define parametro5 "&RainfallOneDay="
#define parametro6 "&BarPressure="
#define parametro7 "&Humidity="

//Aca deberias capturar los datos que provienen de cada una de estas funciones...

Direccion = WindDirection();
velocidad=WindSpeedAverage();
vel_max=WindSpeedMax();
temperatura=Temperature();
OneHour=RainfallOneHour();
OneDay=RainfallOneDay();
presion=BarPressure();
humedad=Humidity();


void setup() {
  Serial.begin(9600);
  envioDatos += String(Direccion) + parametro1 + String(velocidad) + parametro2 + String(vel_max) + parametro3 + String(temperatura) + parametro4 + String(OneHour) + parametro5 + String(OneDay + parametro6 + String(presion) + parametro7 + String(humedad); // Aca capturo todos los datos
  Serial.print(envioDatos);
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Gracias!!!.. lo voy a implementar y comento los resultados

Muchas a gracias por la ayuda... ahora abrire otro hilo con otra duda.... subo el scketch como quedo..
Gracias por la ayuda!!

Pero te sirvieron las modificaciones que se te aconsejaron acá en el foro?

No abras otro hilo sigue acá hasta resolver tu duda. De hecho no se porque abriste este cuando el anterior no estaba resuelto.