ESP32 con WiFiManager, OLED, DHT22, http, PHP

Descripción

Este proyecto implementa un sistema de monitoreo ambiental utilizando un ESP32 que mide temperatura y humedad con un sensor DHT22. Los datos se muestran en una pantalla OLED y se envían a un servidor PHP para su almacenamiento en el archivo json.json. La configuración WiFi se realiza mediante WiFiManager, permitiendo una fácil conexión a diferentes redes sin necesidad de modificar el código.

URL a Modificar

  • En php.h:
    const char* serverUrl = "https://unicarlos.es/arduino/esp32_wifimanager_oled_dht22_php/php.php";

Componentes Necesarios

  • ESP32 DevKit V1
  • Pantalla OLED SSD1306 (I2C)
  • Sensor DHT22
  • Cables de conexión
  • Cable USB para programación

Conexiones

Pantalla OLED (I2C)

  • SDA - GPIO21
  • SCL - GPIO22
  • VCC - 3.3V
  • GND - GND

Sensor DHT22

  • DATA - GPIO15
  • VCC - 3.3V
  • GND - GND

Librerías Requeridas

  • WiFiManager (by tzapu)
  • DHTesp
  • U8g2lib
  • HTTPClient
  • ArduinoJson

Archivos del Sistema

  • esp32_wifimanager_oled_dht22_php.ino - Archivo principal
  • oled.h - Manejo de la pantalla OLED
  • wm.h - Configuración de WiFiManager
  • dht22.h - Lectura del sensor DHT22
  • php.h - Comunicación con servidor PHP
  • php.php - Script del servidor para almacenar datos
  • vistaprevia.html - Visualización de datos en tiempo real

El archivo json.json se crea en el servidor PHP

Funcionamiento

Inicialización (setup)

  1. Inicia la comunicación serial (115200 baudios)
  2. Configura la pantalla OLED
  3. Muestra mensaje inicial en OLED
  4. Inicializa WiFiManager
  5. Configura el sensor DHT22
  6. Configura el servidor PHP

Bucle Principal (loop)

  1. Mantiene la conexión WiFi (loopWM)
  2. Lee datos del sensor DHT22 (loopDHT22)
  3. Envía datos al servidor PHP (loopPHP)

Visualización de Datos

Los datos pueden visualizarse de dos formas:

  • En la pantalla OLED del dispositivo
  • A través de la interfaz web (Vista Previa)

Diagrama de Montaje

Diagrama de montaje ESP32 con OLED y DHT22