Tabla de contenido:

Sistema de control y monitoreo del clima interior Raspberry Pi: 6 pasos
Sistema de control y monitoreo del clima interior Raspberry Pi: 6 pasos

Video: Sistema de control y monitoreo del clima interior Raspberry Pi: 6 pasos

Video: Sistema de control y monitoreo del clima interior Raspberry Pi: 6 pasos
Video: Como leer sensor DHT11 (Humedad y temperatura) con la raspberry pi (rpi) 2024, Mes de julio
Anonim
Sistema de control y monitoreo del clima interior Raspberry Pi
Sistema de control y monitoreo del clima interior Raspberry Pi
Sistema de control y monitoreo del clima interior Raspberry Pi
Sistema de control y monitoreo del clima interior Raspberry Pi

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

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

El hardware recomendado para construir esto:

  1. Una Raspberry Pi (cualquier versión) con WiFi. Construyo esto usando RPi B +. RPi ZeroW funcionaría bien y costaría ~ 15 $
  2. Un sensor BME280 para temperatura, humedad, presión de aire ~ 5 $
  3. 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 $
  4. Una pantalla LED / LCD. Usé la pantalla OLED SSD1305 de 2,23 pulgadas ~ 15 $
  5. Algunos enchufes inteligentes WiFi / ZigBee / Z-Wave. 10-20 $ cada uno
  6. 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

Cableado del Raspbery Pi
Cableado del 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

Configuración del servicio de automatización del hogar
Configuración del servicio de automatización del hogar
Configuración del servicio de automatización del hogar
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

Resultados
Resultados
Resultados
Resultados
Resultados
Resultados
Resultados
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: