Tabla de contenido:
- Paso 1: hardware
- Paso 2: cableado de la Raspbery Pi
- Paso 3: recopilación de datos de los sensores
- Paso 4: Configuración del servicio de automatización del hogar
- Paso 5: resultados
- Paso 6: Conclusión
Video: Sistema de control y monitoreo del clima interior Raspberry Pi: 6 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
La gente quiere estar cómoda dentro de su casa. Como el clima de nuestra zona puede no ser adecuado para nosotros, utilizamos muchos electrodomésticos para mantener un ambiente interior saludable: calentador, enfriador de aire, humidificador, deshumidificador, purificador, etc. Hoy en día, es común encontrar algunos de los dispositivos equipados con auto- modo de sentir el entorno y controlarse a sí mismos. Sin embargo:
- Muchos de ellos son demasiado caros / no valen la pena.
- Sus circuitos eléctricos son más fáciles de romper y más difíciles de reemplazar que las piezas mecánicas convencionales.
- Los dispositivos deben ser administrados por la aplicación del fabricante. Es común tener algunos electrodomésticos inteligentes en su casa y cada uno de ellos tiene su propia aplicación. Su solución es integrar la aplicación en plataformas como Alexa, Google Assistant e IFTTT para que tengamos un controlador "centralizado".
- Lo más importante es que los fabricantes tienen nuestros datos y Google / Amazon / IFTTT / etc.tienen nuestros datos. Nosotros no Es posible que no le importe la privacidad, pero a veces es posible que todos deseemos observar el patrón de humedad de su dormitorio, por ejemplo, para decidir a qué hora abrir las ventanas.
En este tutorial, construyo un prototipo de un controlador de clima interior basado en Raspberry Pi de costo relativamente bajo. El RPi se comunica con los periféricos a través de interfaces SPI / I2C / USB:
- Se utiliza un sensor atmosférico para recopilar la temperatura, la humedad y la presión del aire.
- Un sensor de calidad del aire de alta precisión proporciona datos de partículas atmosféricas (PM2.5 y PM10) que se utilizan para calcular el índice de calidad del aire (AQI)
El controlador procesa los datos adquiridos y activa las acciones del dispositivo enviando solicitudes al servicio de automatización IFTTT Webhook que controla los enchufes WiFi Smart compatibles.
El prototipo está construido de manera que se puedan agregar fácilmente otros sensores, dispositivos y servicios de automatización.
Paso 1: hardware
El hardware recomendado para construir esto:
- Una Raspberry Pi (cualquier versión) con WiFi. Construyo esto usando RPi B +. RPi ZeroW funcionaría bien y costaría ~ 15 $
- Un sensor BME280 para temperatura, humedad, presión de aire ~ 5 $
- Un módulo de sensor de detección de calidad del aire PM2.5 / PM10 con láser de alta precisión Nova SDS011 ~ 25 $
- Una pantalla LED / LCD. Usé la pantalla OLED SSD1305 de 2,23 pulgadas ~ 15 $
- Algunos enchufes inteligentes WiFi / ZigBee / Z-Wave. 10-20 $ cada uno
- Purificador de aire, humidificador, deshumidificador, calentador, enfriador, etc. con interruptores mecánicos. Por ejemplo, usé un purificador de aire barato para hacer este tutorial.
El costo total anterior es <100 $, mucho menos que, digamos, un purificador inteligente que fácilmente podría costar 200 $.
Paso 2: cableado de la Raspbery Pi
El diagrama de circuito muestra cómo cablear el RPi con el sensor BME280 usando la interfaz I2C y la pantalla OLED HAT usando la interfaz SPI.
El Waveshare OLED HAT se puede conectar encima del GPIO, pero necesita un divisor GPIO para compartirlo con otros periféricos. Se puede configurar para usar I2C soldando las resistencias en la parte posterior.
Puede encontrar más información sobre SSD1305 OLED HAT aquí.
Las interfaces I2C y SPI deben habilitarse en RPi con:
sudo raspi-config
El sensor de polvo Nova SDS011 se conecta a RPi a través del puerto USB (con un adaptador USB serie).
Paso 3: recopilación de datos de los sensores
Los datos atmosféricos, que parecen bastante sencillos, se recopilan del sensor BME280 del script de Python.
21-Nov-20 19:19:25 - INFO - lectura_compensada (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, marca de tiempo = 2020-11-21 19: 19: 25.604317, temp = 20.956 ° C, presión = 1019.08 hPa, humedad = 49.23% rH)
Los datos del sensor de polvo necesitan un poco más de procesamiento. El módulo del sensor aspira algunas muestras de aire para detectar partículas, por lo que debería funcionar durante un tiempo (30 segundos) para obtener resultados fiables. Desde mi observación, solo considero el promedio de las últimas 3 muestras. El proceso está disponible en este script.
21-Nov-20 19:21:07 - DEPURACIÓN - 0. PM2.5: 2.8, PM10: 5.9
21-Nov-20 19:21:09 - DEPURACIÓN - 1. PM2.5: 2.9, PM10: 6.0 21-Nov-20 19:21:11 - DEPURACIÓN - 2. PM2.5: 2.9, PM10: 6.0 21- Nov-20 19:21:13 - DEPURACIÓN - 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15 - DEPURACIÓN - 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 20 19:21:17 - DEPURACIÓN - 5. PM2.5: 2.9, PM10: 6.4 21-Nov-20 19:21:19 - DEPURACIÓN - 6. PM2.5: 3.0, PM10: 6.6 21-Nov-20 19: 21: 21 - DEPURACIÓN - 7. PM2.5: 3.0, PM10: 6.8 21-Nov-20 19:21:23 - DEPURACIÓN - 8. PM2.5: 3.1, PM10: 7.0 21-Nov-20 19:21: 25 - DEPURACIÓN - 9. PM2.5: 3.2, PM10: 7.0 21-Nov-20 19:21:28 - DEPURACIÓN - 10. PM2.5: 3.2, PM10: 7.1 21-Nov-20 19:21:30 - DEPURACIÓN - 11. PM2.5: 3.2, PM10: 6.9 21-Nov-20 19:21:32 - DEPURACIÓN - 12. PM2.5: 3.3, PM10: 7.0 21-Nov-20 19:21:34 - DEPURACIÓN - 13. PM2.5: 3.3, PM10: 7.1 21-Nov-20 19:21:36 - DEPURACIÓN - 14. PM2.5: 3.3, PM10: 7.1
El sensor de polvo solo proporciona índice PM2.5 y PM10. Para calcular el AQI necesitamos el módulo python-aqi:
aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])
La recopilación, visualización y control de dispositivos se ejecutan de forma simultánea y asincrónica. Los datos se guardan en una base de datos local. No necesitamos ejecutarlos con frecuencia si el entorno no cambia demasiado rápido. Para mí, un intervalo de 15 minutos es suficiente. Además, el módulo sensor de polvo acumula polvo en su interior, por lo que no debemos abusar de él para evitar la tarea de limpieza.
Paso 4: Configuración del servicio de automatización del hogar
Hay muchas plataformas de automatización del hogar por ahí y debería instalar la plataforma que sea compatible con el enchufe inteligente que tiene. Si le preocupa la privacidad, debe configurar su propio sistema. De lo contrario, puede usar las plataformas populares que son compatibles con la mayoría de los enchufes inteligentes WiFi: Asistente de Google, Alexa o IFTTT. Intente seleccionar la plataforma de socket con una API para interactuar (Webhook es perfecto para este propósito)
Utilizo IFTTT en este tutorial porque es muy fácil de usar incluso para principiantes. Pero tenga en cuenta que: 1. Hay muchos sockets inteligentes que no son compatibles con IFTTT, y 2. En el momento en que escribo esto, IFTTT solo le permite crear 3 subprogramas (tareas de automatización) de forma gratuita, que solo es suficiente para 1 aparato.
Estos son los pasos:
1. Cree dos subprogramas en IFTTT, para encender y apagar el dispositivo, utilizando el servicio Webhook. Los detalles se pueden encontrar aquí.
2. Copie la clave API y cópiela en el script de Python. Sugeriría guardarlo en un archivo separado por razones de seguridad.
3. Defina la lógica / parámetros de control en el script principal.
Paso 5: resultados
Bien, ahora probamos el sistema.
La pantalla OLED muestra la temperatura actual, la humedad y el índice de calidad del aire (AQI) calculado. También muestra el valor mínimo y máximo en las últimas 12 horas.
Los datos de series de tiempo del AQI en unos días muestran algo interesante. ¿Observa los aumentos repentinos en el patrón de AQI? Ocurría dos veces al día, el pico pequeño alrededor de las 12:00 y el pico alto alrededor de las 19:00. Bueno, lo adivinaste, eso fue cuando cocinamos, esparciendo muchas partículas alrededor. Es interesante ver cómo nuestra actividad diaria afecta el ambiente interior.
Además, el último aumento en la cifra duró mucho más corto que los anteriores. ahí es cuando agregamos el purificador de aire en el sistema. El controlador de clima RPi envía la solicitud PURIFIER_ON cuando AQI> 50 y PURIFIER_OFF cuando AQI <20. Puede ver el desencadenador de webhook IFTTT en ese momento.
Paso 6: Conclusión
¡Eso es todo!
Los datos recopilados también se pueden utilizar para controlar calentadores de aire, refrigeradores, (des) humidificadores, etc. Solo necesita comprar más enchufes inteligentes y todos los electrodomésticos viejos se volverán "inteligentes".
Si desea controlar muchos electrodomésticos, es posible que deba considerar detenidamente qué servicio de automatización del hogar desea utilizar. Sugeriría encarecidamente configurar una plataforma de automatización del hogar de código abierto, pero si es demasiado complicado, existen soluciones más simples como Google Assistant e IFTTT Webhook, o el uso de enchufes inteligentes Zigbee.
La implementación completa de este prototipo se puede encontrar en el repositorio de Github:
github.com/vuva/IndoorClimateControl
Divertirse !!!
Recomendado:
Sistema inteligente de monitoreo distribuido del clima IoT usando NodeMCU: 11 pasos
Sistema inteligente distribuido de monitoreo del tiempo IoT usando NodeMCU: Todos ustedes pueden estar al tanto de la estación meteorológica tradicional; pero ¿alguna vez te has preguntado cómo funciona realmente? Dado que la estación meteorológica tradicional es costosa y voluminosa, la densidad de estas estaciones por unidad de área es muy inferior, lo que contribuye a
Sistema inteligente de monitoreo de la velocidad del viento y el clima basado en IOT: 8 pasos
Sistema inteligente de monitoreo de la velocidad del viento y el clima basado en IOT: desarrollado por Nikhil Chudasma, Dhanashri Mudliar y Ashita Raj Introducción La importancia del monitoreo del clima existe de muchas maneras. Se requiere monitorear los parámetros climáticos para sostener el desarrollo en agricultura, invernadero
Monitoreo del clima usando ESP32_DHT11_OLED_Thingspeak: 7 pasos
Monitoreo del clima usando ESP32_DHT11_OLED_Thingspeak: En este tutorial, construirá un monitor del clima que monitorea la temperatura y la humedad, usando un ESP32 y DHT11, se muestra en una pantalla OLED. Y se carga en ThingSpeak. El ESP32 es una poderosa herramienta IOT. Es un sistema de bajo costo-o
Sistema de monitoreo de clima interior basado en Raspberry Pi: 6 pasos
Sistema de monitoreo de clima interior basado en Raspberry Pi: lea este blog y cree su propio sistema para que pueda recibir alertas cuando su habitación esté demasiado seca o húmeda. ¿Qué es un sistema de monitoreo de clima interior y por qué necesitamos uno? proporcionar un vistazo rápido a las relaciones climáticas clave
Sistema de monitoreo del clima en el hogar IoT con soporte para aplicaciones de Android (Mercury Droid): 11 pasos
Sistema de monitoreo del clima en el hogar de IoT con soporte para aplicaciones de Android (Mercury Droid): Introducción Mercury Droid es un tipo de sistema integrado de IoT (Internet de las cosas) basado en la aplicación móvil de Android Mercury Droid. Que es capaz de medir & monitorear la actividad climática en el hogar. Es un sistema de monitoreo del clima doméstico muy económico