|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 PHP - MySQL
  Estación meteorológica B4J (Basic4Java) ADB Shell - Android Arduino
  Raspberry Pi Visual Basic Script (VBS) FireBase (BD autoactualizable) NodeMCU como Arduino
  AutoIt (Programación) Visual Basic Cosas de Windows Webs interesantes
Translate:
Búsqueda en este sitio:


.

Tutorial del Internet de las Cosas y Bluetooth con el ESP32
Juan Antonio Villalpando

Volver al índice del tutorial

____________________________

116B.- ESP32 envía temperatura y humedad a MySQL. PHP.

- El ESP32 crea dos números aleatorios llamados temperatura y humedad, cada 5 segundos. Envía esos números a MySQL por PHP.

- El archivo PHP se encuentra en kio4.com/appinventor/php/esp32_mysql.php

- Ese archivo contiene este código PHP

esp32_mysql.php

<?php
// Juan Antonio Villalpando.
// http://kio4.com

// 1.- IDENTIFICACION nombre de la base, del usuario, clave y servidor
$db_host="localhost";
$db_name="nombre_base_datos";
$db_login="nombre_usuario";
$db_pswd="contraseña";

// 2.- CONEXION A LA BASE DE DATOS
$link = new mysqli($db_host, $db_login, $db_pswd, $db_name);

// 3.- RECOGIDA DE DATOS DEL FORMULARIO
$temperatura = $_GET['temperatura'];
$humedad = $_GET['humedad'];

// 4.- INSERCIÓN DE DATOS
mysqli_query ($link, "INSERT INTO esp32_temp (Temperatura,Humedad) VALUES ('$temperatura','$humedad')");
print("Agregada temperatura: ");
print($temperatura);
print(" y humedad: ");
print($humedad);
mysqli_close($link);
?>

- Recibe mediante GET dos datos: la temperatura y la humedad.

- Los guarda en la base de datos, en la tabla esp32_temp.

- Devuelve el valor de la temperatura y humedad agregados.

_____________________________________________________________
1.- El ESP32 actúa como cliente, envía datos a un servidor externo y recibe una respuesta.

temperatura_humedad.ino

#include <WiFi.h>

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

const char* host = "kio4.com";
int temperatura = 0;
int humedad = 0;

void setup(){
    Serial.begin(115200);
    delay(10);
  // Conecta a la red wifi.
  Serial.println();
  Serial.print("Conectando con ");
  Serial.println(ssid);
 
  WiFi.begin(ssid, password);
 
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Conectado con WiFi.");

  // Esta es tu IP
  Serial.print("Esta es tu IP: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
}

void loop(){
    delay(5000);
    Serial.print("Conectando con ");
    Serial.println(host);

    // Clase cliente
    WiFiClient client;
    const int httpPort = 80;
    if (!client.connect(host, httpPort)) {
        Serial.println("Fallo en la conexión.");
        return;
    }
    // Datos a enviar.
    temperatura = random(0,100);
    humedad = random(0,100);

    // Linea de petición
    String url = "/appinventor/php/esp32_mysql.php";
    url += "?temperatura=";
    url += temperatura;
    url += "&humedad=";
    url += humedad;

    Serial.println(url);

    // Esto es lo que se enviará al servidor.
    client.print(String("GET ") + url + " HTTP/1.1\r\n" +
                 "Host: " + host + "\r\n" +
                 "Connection: close\r\n\r\n");
    unsigned long timeout = millis();
    while (client.available() == 0) {
        if (millis() - timeout > 5000) {
            Serial.println(">>> Rebasado 5 segundos.");
            client.stop();
            return;
        }
    }
   
    // Lee todas las líneas que recibida del servidor.
    while(client.available()) {
        String lineas = client.readStringUntil('\r');
        Serial.print(lineas);
    }
    Serial.println("Conexión cerrada.");
}

_____________________________________________________________
3.- Estructura de la base de datos.

_____________________________________________________________
4.- Comentarios.

- Consulta este tutorial: appinventor/169Z_javascript_mysql_realtime.htm

_______________________________

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información