Go Down

Topic: Enviar datos sensor con ESP8266 a base de datos mysql (Read 117 times) previous topic - next topic

luisete69

Nov 20, 2017, 02:19 pm Last Edit: Nov 20, 2017, 02:39 pm by luisete69
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.

Code: [Select]


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

surbyte


TomasCanales

Envía solo la carpeta con el nombre del archivo, sin la dirección del servidor.

Code: [Select]
client.print("GET /arduino/iot.php?Fuerza=");

Go Up