El diseño se articula en capas de hardware y software para una gestión eficiente.
Arquitectura de Hardware por Capas
- Capa de Percepción: Un microcontrolador STM32 (ej. STM32F103C8T6 o STM32F407) actúa como cerebro, integrando sensores ambientales como DHT22/BH1750 (temperatura/humedad), LDR (luz) y PIR (movimiento), además de detectores de humo para la recopilación de datos.
- Capa de Transmisión:
- Comunicación Corto Alcance: Módulos como ESP8266 (Wi-Fi), HC-05 (Bluetooth) o LoRa (ej. E22) facilitan la interconexión local.
- Comunicación con la Nube: El protocolo MQTT se utiliza para enviar datos y recibir comandos remotos a través de plataformas como EMQX o servicios en la nube de IoT.
- Capa de Actuación: Módulos de relé controlan electrodomésticos (luces, climatización), drivers de motor operan persianas y zumbadores activan alarmas.
Arquitectura de Software
- Drivers de Bajo Nivel: La librería HAL de STM32 se encarga de la interfaz con sensores (I2C, UART, ADC) y módulos de comunicación.
- Middleware: FreeRTOS gestiona múltiples tareas concurrentes, como la adquisición de datos, la comunicación y la lógica de control.
- Capa de Aplicación:
- Control Local: Pantallas OLED muestran datos en tiempo real, y la interacción se realiza mediante botones o comandos de voz.
- Servicios en la Nube: Suscripción y publicación de temas MQTT permiten la monitorización y control remoto.
Monitorización Ambiental
- Integración de Sensores:
- Temperatura y Humedad: DHT22 (precisión ±0.5℃, ±2%RH).
- Luminosidad: BH1750 (interfaz I2C, precisión ±20%).
- Gases: MQ-2 (detección de humo mediante muestreo ADC).
- Preprocesamiento de Datos: Se aplica filtrado de Kalman para reducir el ruido y detección de anomalías (ej. picos en la concentración de humo).
Control de Dispositivos
- Control de Relés: Aislamiento galvánico con optoacopladores para proteger el MCU. Soporte para modulación PWM para control de brillo o velocidad (ej. ventilador 0-3000 RPM).
- Accionamiento de Motores de Persianas: Uso de módulos como el L298N para controlar motores paso a paso y ajustar el ángulo de apertura/cierre.
Interacción con el Usuario
- Interfaz Local: Pantalla OLED de 0.96" (driver SSD1306) para visualización. Teclado matricial 4x4 para configuración de umbrales.
- Control Remoto:
- Aplicación Móvil: Desarrollada con UniApp, permite ver datos en vivo y activar modos preconfigurados (ej. "Modo Hogar" enciende luces).
- Comandos de Voz: Módulo ASRPRO interpreta comandos de voz (ej. "subir brillo"), con filtrado de palabra de activación.
Escenarios Inteligentes
- Lógica Basada en Umbrales: Activación de ventilador si la temperatura supera 30℃; encendido de LEDs si la luz es inferior a 50 lux.
- Tareas Programadas: Cierre automático de persianas a las 7:00 y encendido de iluminación del salón a las 19:00.
| Componente | Modelo/Especificación | Función |
|---|---|---|
| Microcontrolador Principal | STM32F103C8T6 (72MHz, 64KB Flash) | Controlador central, interfaz para sensores y comunicaciones. |
| Módulo Wi-Fi | ESP8266-01S (802.11 b/g/n) | Transmisión de datos a la nube (comandos AT o SDK). |
| Módulo LoRa | E22-400M30S (470MHz, 30dBm) | Comunicación de largo alcance (1-3km). |
| Sensores | DHT22 (T/H), BH1750 (Luz) | Monitorización ambiental de alta precisión. |
| Actuadores | Relé (5V/10A), Motor Paso a Paso | Control de encendido/apagado y movimiento. |
Consideraciones Clave del Circuito:
- Gestión de Energía: Alimentación de 3.3V para el STM32 mediante LDO. Suministro de energía a sensores a través del bus para minimizar interferencias.
- Aislamiento de Señal: Uso de optoacopladores (ej. PC817) en el control de relés para proteger el MCU de la fuerza contraelectromotriz.
- Medidas Anti-Interferencia: Filtros con perlas de ferrita en líneas de señal críticas y conexión a tierra única para planos digitales y analógicos.
Configuración del Entorno
- STM32CubeMX: Configuración del árbol de reloj (HSE+PLL) y periféricos (I2C, UART, ADC).
- Keil MDK: Creación del proyecto, integración de librerías HAL y FreeRTOS.
Implementación del Código Central
-
Drivers de Sensores: ```c
// Lectura de Temperatura/Humedad con DHT22 (Librería HAL) DHT22_StatusTypeDef status = DHT22_Read_Data(&temperature, &humidity); if(status == DHT22_OK) { printf("Temp: %.1f°C, Hum: %.1f%%\r\n", temperature, humidity); }
-
Comunicación MQTT: ```c
// Publicación de datos en plataforma IoT de Alibaba Cloud MQTT_Publish("home/sensor/temperature", "{"temp":%.1f}", temperature);
-
Procesamiento de Comandos de Voz: ```c
// Manejo de comandos del módulo ASRPRO if(strcmp(received_cmd, "open_light") == 0) { HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET); }
Integración con Plataformas en la Nube
- Alibaba Cloud IoT: Creación de productos y dispositivos, definición del modelo de cosas (temperatura, humedad, estado de interruptor).
- Visualización de Datos: Uso de DataV para crear paneles interactivos que muestren datos ambientales y estados de dispositivos en tiempo real.
Diseño de Bajo Consumo
- Modos de Reposo: Utilización del modo Stop (< 2μA) en inactividad, con despertadores programados por RTC.
- Muestreo Dinámico: Reducción de la frecuencia de muestreo de sensores durante períodos de baja actividad (ej. de 1Hz a 0.1Hz).
Mejora de la Fiabilidad
- Temporizador Watchdog: Previene bloqueos del programa mediante reinicios automáticos.
- Redundancia de Datos: Verificación cruzada de sensores (ej. DHT22 y DS18B20).
Expansión de Funcionalidades
- Predicción de Escenarios con IA: Entrenamiento de modelos con datos históricos para predecir comportamientos del usuario (ej. pre-activación del aire acondicionado).
- Integración de Seguridad: Cierre automático de válvulas de gas en caso de detección de humo y envío de alertas al móvil.
Pruebas Funcionales
- Monitorización Ambiental: Comparación con instrumentos profesionales (ej. medidor de T/H Fluke), manteniendo un error < 2%.
- Latencia de Control: Respuesta local a comandos < 100ms; respuesta remota < 500ms.
Esquemas de Despliegue
- Escenarios Domésticos: Una pasarela cubre 100m², con nodos distribuidos por habitación.
- Viviendas Grandes: Múltiples pasarelas formando una red (malla LoRa + backhaul 4G), permitiendo control interregional.
| Solución | Costo (por nodo) | Alcance Comunicación | Escenario Típico |
|---|---|---|---|
| Wi-Fi | €8-12 | 50-100 metros | Apartamentos pequeños. |
| LoRa | €5-8 | 1-3 kilómetros | Viviendas grandes / Fábricas. |
| Bluetooth Mesh | €6-10 | 30-50 metros | Múltiples habitaciones interconectadas. |
Este sistema proporciona una solución de control de hogar inteligente de bajo costo y alta fiabilidad basada en STM32, con capacidades de gestión local y remota.