ESP32 + DHT22: Estación meteorológica casera
Mide temperatura y humedad y consúltalas desde cualquier dispositivo por Wi-Fi
Después de la cámara de vigilancia con ESP32-CAM, toca un proyecto igual de práctico pero mucho más sencillo de montar: una estación meteorológica casera. Con un ESP32 y un sensor DHT22 (unos pocos euros), podrás medir la temperatura y la humedad de tu salón, tu terraza o tu invernadero, y consultarlas desde el móvil sin salir de casa. Es además el primer paso hacia proyectos de domótica más avanzados que veremos más adelante con Home Assistant.
🌡️ ¿Por qué el DHT22 y no el DHT11?
Ambos sensores miden temperatura y humedad, pero el DHT22 es notablemente más preciso (±0,5°C frente a ±2°C del DHT11) y tiene un rango de medición más amplio, lo que lo hace más fiable para un proyecto que quieras dejar funcionando de forma permanente. El DHT11 es válido si solo quieres aprender y el presupuesto es muy ajustado, pero para uso real recomendamos el DHT22.
Materiales necesarios
- Placa ESP32 (cualquier modelo, incluida la DevKit básica).
- Sensor DHT22 (o su versión en módulo con resistencia pull-up ya incorporada, más cómoda de conectar).
- Cables de conexión (jumpers macho-hembra si usas el sensor en módulo).
- Resistencia de 10kΩ (solo necesaria si usas el sensor DHT22 "pelado", sin módulo).
Paso 1: Conexión del sensor
- DHT22 VCC → ESP32 3.3V
- DHT22 GND → ESP32 GND
- DHT22 DATA → ESP32 GPIO4
Paso 2: Instalar las librerías necesarias
Desde el Gestor de Librerías del IDE de Arduino (menú Herramientas → Gestionar Bibliotecas), instala "DHT sensor library" de Adafruit y su dependencia "Adafruit Unified Sensor". Ambas son necesarias para poder leer los datos del sensor correctamente.
Paso 3: Código para leer y publicar los datos
El código combina la lectura del sensor con un pequeño servidor web propio (igual que hicimos en la entrada de encender un LED por Wi-Fi), de forma que cualquier dispositivo de tu red pueda consultar la temperatura y humedad actuales simplemente visitando la IP del ESP32 desde el navegador. El sensor se lee cada pocos segundos y los valores se muestran en una página web sencilla generada por el propio ESP32.
⚠️ Da tiempo al sensor entre lecturas
El DHT22 necesita al menos 2 segundos entre una lectura y la siguiente para funcionar correctamente. Si intentas leerlo con más frecuencia, obtendrás valores erróneos (a menudo "nan"). Usa siempre un temporizador no bloqueante con millis(), como vimos en la entrada sobre temporizadores, en lugar de un delay() largo que bloquearía el resto del programa.
Paso 4: Consultar tu estación desde cualquier dispositivo
Con el código subido, abre el Monitor Serie para ver la IP asignada al ESP32, y desde cualquier móvil u ordenador de tu red, visita esa dirección en el navegador. Verás la temperatura y humedad actualizadas en tiempo real, sin necesidad de ninguna app adicional.
🛒 Materiales para este proyecto
| COMPONENTE | DESCRIPCIÓN | ENLACE |
|---|---|---|
| ESP32 DevKit V1 | Placa base para este proyecto. | VER EN AMAZON |
| Kit de sensores (incluye DHT) | Kit variado con sensor de temperatura/humedad y otros básicos. | VER EN AMAZON |
Conclusión
Con esto ya tienes tu propia estación meteorológica funcionando, consultable desde cualquier punto de tu red. Es un proyecto sencillo pero con mucho recorrido: se puede ampliar guardando un historial de datos, añadiendo un sensor de luz, o integrándolo más adelante con Home Assistant para tener todo tu ecosistema de sensores en un único panel.
¿Dónde colocarías tú tu estación meteorológica?
Cuéntanos en los comentarios si la usarías en tu terraza, invernadero o incluso dentro de la nevera.
Comentarios
Publicar un comentario