An open API service indexing awesome lists of open source software.

https://github.com/cristianvellio/proyecto_clima

🌤️ The Meteorological Station project is an IoT system designed to monitor and record real-time weather conditions. It uses a Supabase database to store data and an interactive frontend for visualization. It combines simulation, integration, and web development to offer a modern and scalable solution.
https://github.com/cristianvellio/proyecto_clima

axios esp32 fastapi micropython postgres python react supabase vite wokwi

Last synced: 5 months ago
JSON representation

🌤️ The Meteorological Station project is an IoT system designed to monitor and record real-time weather conditions. It uses a Supabase database to store data and an interactive frontend for visualization. It combines simulation, integration, and web development to offer a modern and scalable solution.

Awesome Lists containing this project

README

          

Proyecto Estación Meteorológica 🌤️


Estacion_Meteorologica
Wokwi

Introducción

El proyecto **Estación Meteorológica** es un sistema IoT diseñado para monitorear y visualizar datos ambientales en tiempo real. Este proyecto consta de tres etapas principales:

1. **Simulación del hardware en Wokwi**: Configuración inicial y validación del ESP32 y los sensores.
2. **Integración con Supabase**: Escalado hacia una base de datos en la nube para almacenamiento y gestión de datos.
3. **Desarrollo del Frontend**: Implementación de una interfaz web para la visualización interactiva de los datos recopilados.

Este enfoque escalonado asegura la validación de cada componente antes de su integración, permitiendo un desarrollo robusto y eficiente del sistema.
Puedes visitar nuestro proyecto [aqui](https://proyecto-clima-azure.vercel.app/)

---

Etapa Inicial: Desarrollo en Wokwi

La primera etapa del proyecto se llevó a cabo en [Wokwi](https://wokwi.com/), una plataforma en línea para simular proyectos con microcontroladores. En esta fase se realizó:

- **Configuración del ESP32**: Programación inicial para leer datos de sensores, con MicroPython.
- **Implementación de Sensores**: Integración de un sensor DHTT para la temperatura y la humedad.
- **Simulación de datos**: Pruebas de lecturas y envíos de datos simulados.
- **Conexión simulada a una red Wi-Fi**: Preparación para la comunicación con la base de datos en etapas posteriores.

Puedes explorar la simulación en detalle [aquí](https://wokwi.com/projects/416590054597285889).

Esta etapa fue crucial para validar el diseño inicial del sistema y garantizar que los componentes funcionen correctamente antes de avanzar hacia la integración con una base de datos real.

---

Backend

El backend del proyecto conecta el ESP32 con una base de datos **PostgreSQL** en **Supabase**, donde se almacenan todos los registros ambientales enviados desde el microcontrolador. Esta capa intermedia garantiza una comunicación fluida y segura entre el hardware y los datos en la nube.

### **Funcionalidades**

1. **Conexión ESP32 a Supabase**:
- Los datos ambientales (temperatura, humedad) se envían al servidor mediante HTTP.
- Uso de autenticación por claves API para asegurar la integridad de los datos.

2. **Gestión de la Base de Datos**:
- Almacenamiento estructurado y consultas rápidas mediante PostgreSQL.
- Funcionalidades CRUD para la gestión de registros.

3. **Optimización de la Transferencia de Datos**:
- Implementación de intervalos de envío configurables desde el ESP32 para optimizar el uso de red y recursos.

Puedes visitar el deploy del Backend [aquí](https://clima-backend-plpg.vercel.app/api/data).

### **Dependencias del Backend**
- **[PostgreSQL](https://www.postgresql.org/):** Motor de base de datos utilizado en Supabase.
- **[Supabase](https://supabase.com/):** Plataforma backend para autenticación y almacenamiento.
- **[FastAPI Framework](https://fastapi.tiangolo.com/):** Para la creacion y manejo ApiREST.

---

Frontend

El frontend está diseñado para ofrecer una experiencia intuitiva y moderna, permitiendo a los usuarios visualizar datos en tiempo real a través de gráficos y dashboards dinámicos.

### **Funcionalidades**

1. **Visualización en Tiempo Real**:
- Representación gráfica de los datos ambientales utilizando **chart.js** y **react-chartjs-2**.

2. **Interfaz Intuitiva**:
- Componentes modulares y diseño responsivo con **TailwindCSS**.
- Panel principal con métricas clave y tendencias históricas.

3. **Interacción con la Base de Datos**:
- Recuperación de registros directamente desde Supabase mediante **Axios**.
- Actualización automática de gráficos.

Puedes visitar el deploy del Frontend [aquí](https://proyecto-clima-azure.vercel.app/).

### **Dependencias del Frontend**
- **[React](https://reactjs.org/):** Biblioteca principal para la interfaz.
- **[React Router](https://reactrouter.com/):** Manejo de rutas.
- **[Axios](https://axios-http.com/):** Comunicación con el backend.
- **[Chart.js](https://www.chartjs.org/):** Visualización de datos.
- **[TailwindCSS](https://tailwindcss.com/):** Diseño responsivo y moderno.

---

Comunicación del Sistema 🔄

1. **Microcontrolador ESP32**:
- Recolecta datos de los sensores y los envía a Supabase mediante solicitudes HTTP.
- Configuración de autenticación y claves API para acceso seguro.

2. **Base de Datos en Supabase**:
- Almacena los datos enviados por el ESP32.
- Proporciona endpoints para acceder y gestionar los registros desde el frontend.

3. **Frontend**:
- Consulta los datos desde Supabase y los representa en gráficos interactivos.
- Gráficos dinámicas basadas en los datos más recientes.

- Microcontrolador: [Wokwi](https://wokwi.com/)
- Backend: [Vercel](https://vercel.com/)
- Frontend: [Vercel](https://vercel.com/)

---

Aplicaciones del Proyecto 🌍

El proyecto tiene múltiples aplicaciones en diferentes campos, como:
- **Monitoreo Ambiental**: Supervisión de condiciones climáticas en tiempo real.
- **Agricultura Inteligente**: Control de humedad y calidad del aire en invernaderos.
- **Ciudades Inteligentes**: Integración en redes urbanas para monitoreo de calidad del aire.
- **Educación y Experimentación**: Base para estudios relacionados con IoT y análisis de datos.

---