MER / ESP32 · WiFiManager · OLED · DHT22 → PHP

El recorrido que debe cubrir la entrega

Abrir la consigna docente ↗

A la estación ambiental se añade el envío periódico de un objeto JSON mediante POST, cada diez segundos. El receptor PHP comprueba el contenido y conserva diez muestras para que la página pueda representarlas.

Abrir el tutorial del profesor ↗

Comprobar circuito, destino y mensaje

ElementoConfiguración
OLEDSDA21, SCL22, alimentación a 3V3.
DHT22La señal DATA debe coincidir con la definida en el firmware del aula y alimentarse a 3V3. Hay referencias con GPIO15 y código publicado con GPIO33; verifica cuál utilizas.
ServidorEn php.h, serverUrl debe contener la dirección de tu servidor. Para la placa, localhost no identifica al ordenador sino al propio ESP32.
HTTPSAdecua el protocolo y la comprobación de certificados del cliente a la configuración real del servidor.
BibliotecasEl material de clase combina WiFiManager, U8g2, DHTesp, HTTPClient y ArduinoJson; comprueba las dependencias del ejemplo que cargues.
{"accion":"guardarTemHum","temp":23.5,"hum":45.0}

Antes de consultar la gráfica, comprueba que el firmware lee el sensor correcto, usa el GPIO conectado y genera el formato que espera PHP.

Evidencias del trayecto de las medidas

MER / PRÁCTICA 03 · ESP32 + PHP

ESP32 · WiFiManager · OLED · DHT22 → PHP.

Cada diez segundos, el ESP32 transmite las dos magnitudes del DHT22 dentro de una petición HTTP POST con cuerpo JSON a php.php, donde se recibe el mensaje. El registro se limita a las diez muestras más recientes de json.json y esta página las muestra en directo.

EN DIRECTO

Últimas lecturas

TEMPERATURA--°C
HUMEDAD--% HR
ÚLTIMA LECTURA--esperando datos…

Comprobando json.json…

■ Temperatura (°C)   ■ Humedad (%)

HORATEMP.HUM.
Sin datos todavía
GRÁFICOS ANIMADOS

Visualización de los datos

Temperatura0 – 50 °C
050

-- °C

Humedad0 – 100 %
0100

-- % HR

Confort ambientalpunto de rocío
-- °C rocío

Esperando datos

Termómetro y depósito de humedadnivel actual
50°25°0° -- -- %
Mínimo · media · máximode las últimas lecturas
Temperatura--
0 °C25 °C50 °C
Humedad--
0 %50 %100 %

La extensión de la barra va del mínimo al máximo; la marca interior señala el promedio.

Evolución de la temperatura°C
Humedad por lectura% HR
FUNCIONAMIENTO

Cómo viajan los datos

01DHT22

El DHT22 aporta las dos magnitudes ambientales al controlador.

02ESP32 → POST

Cada 10 s envía {"accion":"guardarTemHum","temp":..,"hum":..} por WiFi.

03php.php

Después de validar el objeto, PHP incorpora la fecha de recepción y actualiza el registro de diez muestras en json.json.

04Esta página

Lee json.json cada cinco segundos para renovar indicadores, historial y representaciones.

CONFIGURACIÓN

URL en el código del ESP32

En la pestaña php.h del IDE, establece una URL que termine en el receptor de este proyecto:

// Servidor del profesor (hosting):
const char* serverUrl = "https://alumnos2026.unicarlos.es/ruben_delegido_munoz/MER/4_esp32_wifimanager_oled_dht22_php/php.php";
// Servidor Debian del ordenador:
//const char* serverUrl = "http://192.168.50.46/MER/4_esp32_wifimanager_oled_dht22_php/php.php";

El proceso PHP necesita permiso de escritura en la carpeta publicada en Debian para poder actualizar json.json:

sudo chmod -R 777 /var/www/html/MER/4_esp32_wifimanager_oled_dht22_php

Si al abrir php.php en el navegador sale {"exito":false,"mensaje":"Método no permitido"}, la respuesta es coherente: esa visita usa GET, mientras el receptor espera POST.

Módulo MER · Mantenimiento Electrónico

Continúa explorando

Continúa con otra actividad de radiocomunicación o consulta el mapa de asignaturas del taller.