====== Proyecto: Sistema de Monitoreo de Sensores y Análisis de Datos ====== **Objetivo**: Crear un sistema de monitoreo de sensores que recopile datos ambientales (temperatura y humedad) usando un STM32F103, transmitir los datos a una PC Pentium que procese y almacene la información en una base de datos, y luego analice estos datos usando técnicas de data science y machine learning. El sistema reproducirá un sonido cada hora, indicando si la temperatura ha subido o bajado, y utilizará un control PID para gestionar un ventilador o motor eléctrico. ===== Componentes del Proyecto ===== * **STM32F103**: * **Función**: Recopilar datos de sensores de temperatura y humedad. * **Interfaz**: Comunicación UART con la PC Pentium. * **Control PID y PWM**: Controlar un ventilador o motor eléctrico con una rueda perforada y un sensor óptico para medir la velocidad. * **PC Pentium (Socket 7, P54C)**: * **Función**: Recibir datos del STM32F103 a través de la UART. * **Tarea en C**: Procesar los datos recibidos y generar señales MIDI usando el sintetizador MIDI de la placa de sonido ESS (ESS 1868). * **Audio**: Reproducir un sonido cada hora, indicando si la temperatura ha subido o bajado. * **Conexión Web**: Enviar los datos procesados a un servidor web usando métodos POST. * **Servidor Web**: * **Función**: Recibir los datos enviados por la PC Pentium y almacenarlos en una base de datos MariaDB. * **API REST**: Desarrollar una API que permita la recepción de los datos. * **MariaDB**: * **Función**: Almacenar los datos de los sensores para su posterior análisis. * **Análisis de Datos**: * **Herramientas**: Usar scipy y otros algoritmos de machine learning para analizar los datos recopilados. * **Objetivo**: Encontrar patrones y realizar predicciones basadas en los datos ambientales. ===== Pasos del Proyecto ===== - **Configuración del STM32F103**: * Programar el microcontrolador para leer los datos de los sensores y enviarlos a través de UART. * Implementar el control PID para manejar el ventilador o motor eléctrico usando PWM. * Usar un sensor óptico para medir la velocidad de la rueda perforada. - **Desarrollo en la PC Pentium**: * Escribir un programa en C para recibir los datos a través de UART, procesarlos y generar señales MIDI. * Implementar la funcionalidad para reproducir un sonido cada hora usando el sintetizador MIDI de la placa de sonido ESS. * **Sonido de Campana**: Si la temperatura actual es superior a la de la hora pasada, reproducir un sonido de campana alta. Si es inferior, reproducir un sonido de campana baja. * Enviar los datos procesados al servidor web mediante métodos POST. - **Configuración del Servidor Web y MariaDB**: * Configurar un servidor web (puede ser un servidor ligero como Flask o Django). * Desarrollar una API REST para recibir los datos y almacenarlos en MariaDB. - **Implementación del Análisis de Datos**: * Usar Python, scipy, y otros algoritmos de machine learning para analizar los datos almacenados en MariaDB. * Visualizar los resultados y encontrar patrones significativos. Este proyecto no solo te permitirá trabajar con varias tecnologías, sino que también te dará la oportunidad de implementar controladores, interfaces de comunicación, análisis de datos y generación de sonido, creando un sistema integral y multifuncional.