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;
}