
Chisme 125 del lince: estación meteorológica ESP32, los datos del Lince
Sierra Bermeja, primera hora de la tarde. El Lince de la Noche ha puesto la placa verde en el alféizar de la ventana y la mira con aire de meteorólogo.
—Voy a averiguar si hoy hace calor. Primero, un termómetro. Luego un higrómetro. Luego una veleta…
La Gata Montesa asoma por detrás de la maceta.
—Lince, esa placa ya tiene un sensor de temperatura y humedad, otro de temperatura y otro de luz. Lo que te falta no es otro sensor: es ver los datos.
—¿Y cómo los saco de la placa?
—Por el cable USB. La placa escribe, y una página web lee. Sin servidor, sin cuentas y sin enviar nada a ninguna parte.
Introducción: una estación meteorológica ESP32 con la shield de Acebott
En este chisme construimos una estación meteorológica ESP32 con la easy module shield de Acebott que conocimos en el chisme 124. Medimos temperatura, humedad y luz, y una página web las dibuja en gráficas en tiempo real y las guarda en un archivo CSV para analizarlas después.
Puedes ver la página funcionando antes de montar nada en el simulador de la estación: tiene un botón «Simular una placa» que genera datos inventados para probarla.
Por qué una estación meteorológica ESP32
Un sensor que solo enciende un LED no enseña mucho. Una estación meteorológica ESP32 que guarda datos durante horas, sí: permite comparar sensores, ver cómo cambia la temperatura a lo largo del día y detectar errores. Es el primer paso de la cadena sensor → dato → conjunto de datos → análisis → conclusión que defiende el proyecto AIDARAC.
Cómo funciona la estación meteorológica ESP32
La placa lee tres sensores de la shield:
- DHT11 (D4): temperatura y humedad relativa del aire. Es barato pero poco preciso: del orden de ±2 °C y ±5 % de humedad, y solo da un dato nuevo cada unos 2 segundos.
- LM35 (A2): sensor analógico de temperatura, con una incertidumbre típica de unos ±0,5 °C. Nos sirve para contrastar al DHT11.
- Sensor de luz (A1): devuelve un valor entre 0 y 4095. No es una medida en lux, solo un número que cambia con la luz.
Cada medida, la placa escribe por el USB cuatro líneas de texto: T:23 (temperatura DHT11), H:48 (humedad), B:22.6 (temperatura LM35) y L:1830 (luz). La página las recibe, junta las cuatro en una muestra y la dibuja.
¿Y por qué no Bluetooth?
Era la primera idea del Lince. Pero la ESP32 Plus, con ACECode, usa Bluetooth clásico, y las páginas web solo pueden hablar con Bluetooth de bajo consumo (BLE). Con el cable USB sí podemos: los navegadores modernos tienen una función llamada Web Serial (Web Serie) que deja a una página leer un puerto serie con permiso del usuario. Funciona en Chrome y Edge, y en nuestras pruebas también en Firefox.
Qué necesitamos para la estación meteorológica ESP32
- Placa ESP32 Plus de Acebott con la easy module shield encajada.
- Cable USB de datos.
- ACECode con la extensión «9 in 1 Easy Module Shield» (Añadir extensión, abajo a la izquierda).
- Un ordenador con Chrome, Edge o Firefox.
El programa de la estación meteorológica ESP32 en ACECode
Crea dos variables, temp y hum, y monta este programa:

- Inicio del programa y inicialización del módulo 9 en 1, justo después.
- Por siempre: dar a
tempel valor obtener valor del sensor DHT11 de temperatura y humedad con el desplegable en «temperatura», y lo mismo parahumcon «humedad». - Cuatro bloques Serial 115200 imprimir con un unir:
T:+temp,H:+hum,B:+ obtener valor del sensor de temperatura LM35 yL:+ obtener valor del sensor de luz. - Esperar 2 segundos: el DHT11 no admite lecturas más rápidas.
El 115200 es la velocidad de la comunicación (baudios). Debe coincidir en la placa y en la página: no lo cambies. La línea de la luz (L:) va la última porque la página guarda una muestra al recibirla.
Cómo subir el programa de la estación meteorológica ESP32 y conectar la página, paso a paso
Este es el punto donde más fallos hay, porque un puerto USB solo lo puede usar un programa a la vez. Sigue el orden:
A. Subir el programa
- Pon el interruptor del puerto serie de la shield en OFF y el potenciómetro del todo a la izquierda.
- Conecta la placa al ordenador por USB.
- En ACECode, elige Modo de carga, la placa ESP32 y su puerto COM, y pulsa subir.
B. Leer los datos en la página
- Cierra ACECode (o desconecta su puerto y su monitor serie). Si sigue abierto, tendrá el puerto ocupado y la página no podrá conectarse.
- Abre la página de la estación y pulsa «Conectar placa (USB)».
- En la ventana del navegador elige «CP2102 USB to UART Bridge Controller (COMxx)», que es el puerto de la ESP32. Ignora los «Dispositivo periférico Bluetooth» y similares: son puertos virtuales del ordenador.
- Pulsa Conectar. En unos segundos aparecerán los valores. Si ves «vinculado» junto al puerto, solo significa que el navegador recuerda que ya diste permiso a esa placa.
C. Volver a subir un programa
Pulsa antes «Desconectar» en la página y cierra la pestaña. Si no, ACECode no podrá abrir el puerto para subir.

Si algo falla
- «No se pudo abrir el puerto»: otro programa (ACECode, un monitor serie) lo tiene ocupado. Ciérralo y reintenta.
- «El puerto ya estaba abierto»: recarga la página (F5) y conecta de nuevo.
- No llegan datos: comprueba que el programa está subido, que el baudio es 115200 y que el cable USB es de datos.
- «Línea no reconocida»: revisa que las etiquetas sean T:, H:, B: y L: con los dos puntos.
- Un valor vacío en el DHT11: a veces el sensor falla en una lectura. La página la deja en blanco y sigue.
Qué mide realmente la estación meteorológica ESP32
Una medida no es una verdad. El DHT11 y el LM35 miden la temperatura con métodos distintos y casi nunca darán el mismo número: la página calcula la diferencia entre ambos. El sensor de luz da un valor relativo, no una unidad física. Y los tres están encima de una placa que se calienta ligeramente al funcionar, lo que puede subir un poco la temperatura medida. Medir no significa medir bien.
Para la estación meteorológica ESP32 en el aula
- ¿Qué variable mide cada sensor y en qué unidades? ¿Cuál no tiene unidad física?
- Tapa el sensor de luz con la mano y luego acércale una linterna: ¿el valor sube o baja? Anota el sentido.
- Sopla sobre el DHT11: ¿cómo cambia la humedad y cuánto tarda en volver al valor anterior?
- Compara DHT11 y LM35 durante 10 minutos: ¿cuál es la diferencia media? ¿Sería razonable que fuese cero?
- Deja la estación una mañana en el aula y otra en el patio (a la sombra) y compara los CSV.
- ¿Qué hipótesis podrías formular a partir de los datos y qué datos más te harían falta?
Retos con la estación meteorológica ESP32
- Reto 1: haz que funcione la estación y veas las cuatro medidas en la página.
- Reto 2: cambia el tiempo de espera a 5 segundos y compara las gráficas.
- Reto 3: añade un aviso con el LED rojo si la temperatura pasa de 30 °C.
- Reto 4: guarda un CSV de 24 horas con la placa alimentada por un cargador.
- Reto 5: abre el CSV en una hoja de cálculo y dibuja temperatura frente a hora.
- Reto 6: convierte el valor de luz en un porcentaje y calíbralo con una linterna y una caja oscura.
- Reto 7: pon dos estaciones en sitios distintos del instituto y compara sus datos: es una pequeña investigación de ciencia ciudadana.
Qué hemos aprendido de la estación meteorológica ESP32
Hemos montado una estación meteorológica ESP32 con tres sensores de la shield de Acebott, la hemos conectado a una página por USB con Web Serial y hemos aprendido a repartir bien el puerto entre ACECode y el navegador. Lo más importante: tener datos guardados abre la puerta a analizarlos, compararlos y dudar de ellos.
Etiqueta:acebott, acecode, AIDARAC, dht11, esp32, Estación meteorológica, ies monterroso, LM35, montesteam, web serial

