Desde hace un tiempo he venido desarrollando diferentes estaciones meteorológicas como parte de mi pasión por la meteorología, el IoT y la radioafición. En este artículo quiero compartir cómo he construido estaciones climáticas tanto con Raspberry Pi como con ESP32, utilizando sensores como el BMP280, integrando MicroPython, consultando datos de servicios meteorológicos vía API, y hasta transmitiendo información vía APRS (Automatic Packet Reporting System).
Mi primer enfoque fue crear una estación meteorológica basada en una Raspberry Pi, usando MicroPython para mayor control sobre los sensores y comunicaciones. A diferencia de otros lenguajes, MicroPython permite un desarrollo más directo y liviano, ideal para sistemas embebidos.
Uso de sensores de temperatura, humedad y presión como el DHT22 y BMP280.
Integración de pantallas LCD para mostrar datos locales.
Almacenamiento local en archivos .csv o en base de datos SQLite.
Consulta a APIs de servicios meteorológicos como OpenWeatherMap o WeatherAPI para comparar los datos locales con los obtenidos por internet.
Interfaz en línea de comandos con menú en Python para consultar el clima actual, comparar con sensores locales o enviar a servicios externos.
Este sistema permite a otros usuarios configurar fácilmente su estación simplemente editando sus datos como el nombre del lugar o el API Key, sin modificar el código base.
Este es mi desarrollo para raspeberry pi (pronto estara disponible en GitHub)
Como siguiente paso, decidí miniaturizar el proyecto usando un ESP32, ideal por su bajo consumo, conectividad WiFi y compatibilidad con MicroPython. Este desarrollo fue más orientado a una solución remota y autónoma.
Sensor BMP280 para medir presión atmosférica, temperatura y altitud.
Envío periódico de datos a un servidor web o API personal.
Posibilidad de mostrar información en displays OLED mediante I2C.
Compatible con energía solar para operación prolongada en exteriores.
Además, usando MicroPython pude mantener el firmware limpio y fácilmente actualizable por OTA (Over-The-Air), lo que lo hace ideal para estaciones ubicadas en lugares remotos.
Como radioaficionado con el indicativo HK4DAP, no podía dejar de integrar estos proyectos con APRS, un sistema perfecto para enviar telemetría meteorológica a través de radio.
Los datos del sensor BMP280 se formatean en paquetes APRS.
Transmisión usando módulos LoRa o radios conectados a Raspberry Pi o ESP32.
Posibilidad de subir datos a redes como aprs.fi para consulta en tiempo real.
También estoy explorando el uso de Raspberry Pi con un TNC (como Direwolf) para integrar estaciones WX que puedan operar en modos digitales.
Este es mi desarrollo para ESP32 con el sensor BMP280 en este caso es auto sustentable con panel solar y batería, esta es la estación HK4DAP-11 la pueden ver en funcionamiento aquí: https://aprs.fi/#!call=a%2FHK4DAP-11&timerange=3600&tail=3600 (también estará disponible en GitHub)
Estos proyectos han sido una excelente forma de unir varias áreas que me apasionan: la meteorología, la programación, el hardware libre y la radioafición. Seguiré mejorando las estaciones, incluyendo más sensores (como anemómetros o pluviómetros), interfaces web y compatibilidad con MQTT o Home Assistant.
Si te interesa replicar alguno de estos proyectos o colaborar, puedes encontrar el código fuente, diagramas y documentación en mi repositorio de GitHub (enlace pendiente de agregar).