Hola
estoy realizando un proyecto en el cual se leen los datos de un sensor y se envían dichos datos desde el modulo ESP8266 a través del wifi para almacenarlos en una base de datos. Los datos, los recibe un archivo .PHP alojado en el servidor, y se encarga de insertarlos en la tabla.Es decir, la inserción de datos en la tabla NO se realiza desde el Arduino. Tengo problemas para realizar la conexión con la base de datos. Se que es un problema en el código del Sketch de Arduino porque he realizado una prueba de inserción de datos desde el navegador y ha sido correcta ( es decir, los archivos .PHP funcionan correctamente).
Adjunto el código del Arduino.
#include <ESP8266WiFi.h>
#define ADC 0 // analog 0
const char* ssid = "mi_red_wifi";
const char* password = "password";
const char* host = "127.0.0.1";
const int httpPort = 8020; // puerto del servidor local
unsigned long ultimaConexion = 0;
void setup()
{
Serial.begin(115200);
Serial.println();
Serial.println();
Serial.print("Conectando a ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectada");
Serial.println("Dirección IP: ");
Serial.println(WiFi.localIP());
}
void loop()
{
float valorVoltios;
float valorFuerza;
String respuesta;
// creo la URL request
String url = "/127.0.0.1:8020/arduino/iot.php";
String key = "?pass=1234";
String dato1 = "&Fuerza = ";
valorVoltios = analogRead(ADC) * (1.0 / 1023);
valorFuerza = valorVoltios * (100 / 1.0);
Serial.print("Conectando a ");
Serial.println(host);
WiFiClient client;
if (client.connect(host, httpPort)>0) // Conexion con el servidor
{
Serial.println("Iniciando conexion...");
client.print("GET http://127.0.0.1:8020/arduino/iot.php?Fuerza=");
client.print(valorFuerza);
client.println(" HTTP/1.1");
client.println();
ultimaConexion = millis();
}
else
{
Serial.println("Error al conectarse al servidor");
Serial.println("Desconectando...");
client.stop();
}
Serial.print("Requesting URL: ");
Serial.println(url);
if (!client.connected())
{
Serial.println("Disconnected!");
}
unsigned long timeout = millis();
while (client.available() == 0)
{
if (millis() - timeout > 5000)
{
Serial.println(">>> Client Timeout !");
client.flush();
client.stop();
return;
}
}
Serial.println();
Serial.println("cerrando la conexión");
client.flush();
client.stop();
delay(3000);
}