subir datos MYSQL

buenas tardes, posteo aqui como ultima opción ya, me estoy volviendo loco, hablando mal y pronto!!!
mi idea es hacerme un riego para las 3 plantas que tengo, por aburrimiento y por que no quiero que se me seque mi limonero cuando me vaya el viernes de vacaciones, pero claro, quiero tener un control desde donde este sabiendo unos pocos de datos, como es la radiación solar, si el riego esta activo o no, la humedad del suelo y la temperatura. ya tengo hecha mi base de datos y si en el navegador pongo algo así: “http://riego.mipropia.com/riego.php?orden=INSERT%20INTO%20riego%20(fecha,hora,hum,temp,sol,riego)%20VALUES(adddate(CURDATE(),interval%206%20hour),adddate(curTime(),interval%206%20hour),5,6,7,9)” por el código de PHP llamado “riego.php” me introduce los valores sin problema. NO SE COMO HACERLO DESDE ARDUINO!!! he probado mil formas pero no hay manera de que me envíe los datos. lo ultimo que he probado es lo siguiente:

#include <ESP8266WiFi.h>

const char* ssid = "******";
const char* password = "*********";

const char* host = "riego.mipropia.com";


void setup()
{
  Serial.begin(115200);
  Serial.println();

  Serial.printf("Connecting to %s ", ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println(" connected");
}


void loop()
{
  WiFiClient client;

  Serial.printf("\n[Connecting to %s ... ", host);
  if (client.connect(host, 80))
  {
    Serial.println("connected]");
    if(Serial.available()){
      String data = Serial.readStringUntil('\n');
      Serial.print("Cadena introducida: ");
      Serial.println(data);
      Serial.println("[Sending a request]");
      String envio = "/riego2.php?orden=INSERT%20INTO%20riego%20(fecha,hora,hum,temp,sol,riego)%20VALUES(adddate(CURDATE(),interval%206%20hour),adddate(curTime(),interval%206%20hour),"+data+")";
      client.print(String("GET ") + envio + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
    client.print(envio);
    }
    while (client.available()) {
 String line = client.readStringUntil('\r');
 Serial.print(line);
 }
  }
    else
  {
    Serial.println("connection failed!]");
    client.stop();
  }
  delay(5000);
}

se que habra mil errores por que sinceramente he estado cambiando cosas en el “client.println” sin ton ni son, pero si me pudierais aclarar un poco las ideas, seria un placer.

sin mas reciban un cordial saludo

sigo probando…

#include <ESP8266WiFi.h>
#include <WiFiClient.h> 
#include <ESP8266WebServer.h>
#include <ESP8266HTTPClient.h>
 
/* Set these to your desired credentials. */
const char *ssid = "********";  //ENTER YOUR WIFI SETTINGS
const char *password = "*****";
 
//Web/Server address to read/write from 
const char *host = "http://riego.mipropia.com";   //https://circuits4you.com website or IP address of server
 
//=======================================================================
//                    Power on setup
//=======================================================================
 
void setup() {
  delay(1000);
  Serial.begin(115200);
  WiFi.mode(WIFI_OFF);        //Prevents reconnection issue (taking too long to connect)
  delay(1000);
  WiFi.mode(WIFI_STA);        //This line hides the viewing of ESP as wifi hotspot
  
  WiFi.begin(ssid, password);     //Connect to your WiFi router
  Serial.println("");
 
  Serial.print("Connecting");
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
 
  //If connection successful show IP address in serial monitor
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());  //IP address assigned to your ESP
}
 
//=======================================================================
//                    Main Program Loop
//=======================================================================
void loop() {
  HTTPClient http;    //Declare object of class HTTPClient
 
  String ADCData, station, getData, Link;
  //int adcvalue=analogRead(A0);  //Read Analog value of LDR
  //ADCData = String(adcvalue);   //String to interger conversion
  //station = "B";
 
  //GET Data
  getData = "?orden=INSERT%20INTO%20riego%20(fecha,hora,hum,temp,sol,riego)%20VALUES(adddate(CURDATE(),interval%206%20hour),adddate(curTime(),interval%206%20hour),5,6,7,900)";  //Note "?" added at front
  Link = "http://riego.mipropia.com/riego2.php" + getData;
  
  http.begin(Link);     //Specify request destination
  
  int httpCode = http.GET();            //Send the request
  String payload = http.getString();    //Get the response payload
 
  Serial.println(httpCode);   //Print HTTP return code
  Serial.println(payload);    //Print request response payload
 
  http.end();  //Close connection
  
  delay(5000);  //GET Data at every 5 seconds
}

y me devuelve esto:

<html><body><script type="text/javascript" src="/aes.js" ></script><script>function toNumbers(d){var e=[];d.replace(/(..)/g,function(d){e.push(parseInt(d,16))});return e}function toHex(){for(var d=[],d=1==arguments.length&&arguments[0].constructor==Array?arguments[0]:arguments,e="",f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16);return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"),b=toNumbers("98344c2eee86c3994890592585b49f80"),c=toNumbers("120bbba6c4c4d9e8a2a5dce73f1cedbd");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="http://riego.mipropia.com/riego2.php?orden=INSERT%20INTO%20riego%20(fecha,hora,hum,temp,sol,riego)%20VALUES(adddate(CURDATE(),interval%206%20hour),adddate(curTime(),interval%206%20hour),5,6,7,900)&i=1";</script><noscript>This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support</noscript></body></html>

sin mas un saludo

Te olvidaste de decirnos que campos tiene la tabla y de que tipo son:

id         int(3)            AUTO_INCREMENT
fecha    tiemstamp     CURRENT_TIMESTAMP
hum     int(3)
temp    int(3)
sol        int(3)
riego     int(3)

id es un correlativo automatico y fecha es la fecha y hora del momento en que llega el registro. Amgos se rellenan de forma automatica.

Luego también se te olvido poner el contenido de riego.php que podría ser algo asi

//abre conexion
$mysqli = new msqli('localhost','usuario','clave','base de datos');
$mysqli->set_charset('utf8');
date_default_timezone_set('America/Lima');

//Captura datos
$hum = $_REQUEST['hum'];
$temp = $_REQUEST['temp'];
$sol = $_REQUEST['sol'];
$riego = $_REQUEST['riego'];

//Inserta en tabla
$sql = "INSERT INTO tabla SET hum=$hum,temp=$temp,sol=$sol,riego=$riego";
$res = $mysqli->query($sql);

//Respuesta
if ($mysqli->affected_rows == 1){
	echo 'Insertado';
}else{
	echo 'Error...';
}
//Cierra conexión
$mysqli->close();

Para usar eso envias esto:

riego.php?hum=80&temp=21&sol=18&riego=300

la duda que tengo es como enviar por Arduino los datos.... sigo investigando!!!

un saludo!

llelle:
la duda que tengo es como enviar por Arduino los datos.... sigo investigando!!

Eso fue lo que te respondimos. Ya probaste las correcciones que te enviamos ?

buenos dias a todos, vuelvo de mis vacaciones, durante estos días seguiré probando cosas ademas de las correcciones que me comentabais. en su día las probe pero ahora mismo no recuerdo bien que ocurría.

sin mas un saludo y muchas gracias.