Taula de continguts:

Sistema de control i control del clima interior Raspberry Pi: 6 passos
Sistema de control i control del clima interior Raspberry Pi: 6 passos

Vídeo: Sistema de control i control del clima interior Raspberry Pi: 6 passos

Vídeo: Sistema de control i control del clima interior Raspberry Pi: 6 passos
Vídeo: Мини ПК на Intel N100 - AC8-N, мощная безвентиляторная платформа, установка Home Assistant OS 2024, De novembre
Anonim
Sistema de control i control del clima interior Raspberry Pi
Sistema de control i control del clima interior Raspberry Pi
Sistema de control i control del clima interior Raspberry Pi
Sistema de control i control del clima interior Raspberry Pi

La gent vol estar còmoda dins de casa seva. Com que el clima de la nostra zona potser no s’adequa a nosaltres mateixos, fem servir molts electrodomèstics per mantenir un entorn interior saludable: escalfador, refrigerador d’aire, humidificador, deshumidificador, purificador, etc. Avui en dia és habitual trobar alguns dels dispositius equipats amb mode per detectar l’entorn i controlar-se. Malgrat això:

  • Molts d’ells tenen un preu excessiu / no valen la pena.
  • Els seus circuits elèctrics són més fàcils de trencar i de substituir que les peces mecàniques convencionals
  • Els aparells han de ser gestionats per l'aplicació del fabricant. És habitual tenir alguns electrodomèstics intel·ligents a casa i cadascun d’ells té la seva pròpia aplicació. La seva solució és integrar l'aplicació a plataformes com Alexa, Google Assistant i IFTTT perquè tinguem un controlador "centralitzat"
  • El més important, els fabricants tenen les nostres dades i Google / Amazon / IFTTT / etc., les nostres dades. No ho fem. És possible que no us preocupi la privadesa, però de vegades és possible que tots vulgueu mirar el patró d’humitat del vostre dormitori, per exemple, per decidir a quina hora obrir les finestres.

En aquest tutorial, construeixo un prototip d’un controlador de clima interior basat en Raspberry Pi, relativament baix. El RPi es comunica amb els perifèrics mitjançant interfícies SPI / I2C / USB:

  • Un sensor atmosfèric s’utilitza per recollir la temperatura, la humitat i la pressió de l’aire.
  • Un sensor de qualitat de l'aire d'alta precisió proporciona dades de partícules atmosfèriques (PM2,5 i PM10) utilitzades per calcular l'índex de qualitat de l'aire (AQI)

El controlador processa les dades adquirides i desencadena les accions del dispositiu enviant sol·licituds al servei d’automatització IFTTT Webhook que controla els endolls Smart WiFi compatibles.

El prototip està construït de manera que es poden afegir fàcilment altres sensors, electrodomèstics i serveis d'automatització.

Pas 1: maquinari

Maquinari
Maquinari
Maquinari
Maquinari
Maquinari
Maquinari

El maquinari recomanat per construir-ho:

  1. Un Raspberry Pi (qualsevol versió) amb WiFi. La construeixo amb RPi B +. RPi ZeroW funcionaria bé i costaria ~ 15 $
  2. Un sensor BME280 per a la temperatura, la humitat i la pressió de l'aire ~ 5 $
  3. Un mòdul de sensor de detecció de qualitat d’aire PM2.5 / PM10 amb làser d’alta precisió Nova SDS011 ~ 25 $
  4. Una pantalla LED / LCD. He utilitzat la pantalla OLED SSD1305 de 2,23 polzades ~ 15 $
  5. Alguns endolls intel·ligents WiFi / ZigBee / Z-Wave. 10-20 $ cadascun
  6. Purificador d'aire, humidificador, deshumidificador, escalfador, refrigerador, etc. amb interruptors mecànics. Per exemple, he fet servir un purificador d’aire barat per fer aquest tutorial

El cost total anterior és <100 $, molt menys que, per exemple, un purificador intel·ligent que podria costar fàcilment 200 $.

Pas 2: connectar el Raspbery Pi

Cablatge del Raspbery Pi
Cablatge del Raspbery Pi

El diagrama del circuit mostra com connectar el RPi amb el sensor BME280 mitjançant la interfície I2C i la pantalla OLED HAT mitjançant la interfície SPI.

El Waveshare OLED HAT es podria connectar a la part superior del GPIO, però necessiteu un divisor GPIO per compartir-lo amb altres perifèrics. Es podria configurar per utilitzar I2C soldant les resistències de la part posterior.

Podeu trobar més informació sobre el SSD1305 OLED HAT aquí.

Tant les interfícies I2C com SPI han d’estar habilitades a RPi amb:

sudo raspi-config

El sensor Nova SDS011 Dust està connectat a RPi mitjançant un port USB (amb un adaptador USB-serial).

Pas 3: recopilació de dades dels sensors

Les dades atmosfèriques, que semblen bastant senzilles, es recopilen del sensor BME280 de l’escriptura python.

21-Nov-20 19:19:25 - INFO - lectura_compensada (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, marca de temps = 2020-11-21 19: 19: 25.604317, temperatura = 20.956 ° C, pressió = 1019,08 hPa, humitat = 49,23% rH)

Les dades del sensor de pols necessiten una mica més de processament. El mòdul sensor aspira algunes mostres d’aire per detectar partícules, de manera que hauria de funcionar una estona (30 s) per obtenir resultats fiables. Segons la meva observació, només considero la mitjana de les darreres 3 mostres. El procés està disponible en aquest script.

21-Nov-20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

21-Nov-20 19:21:09 - DEBUG - 1. PM2.5: 2.9, PM10: 6.0 21-Nov-20 19:21:11 - DEBUG - 2. PM2.5: 2.9, PM10: 6.0 21- 20 de novembre 19:21:13 - DEBUG - 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15 - DEBUG - 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21-Nov-20 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21-Nov-20 19: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21-Nov-20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21-Nov-20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21-Nov-20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21-Nov-20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21-Nov-20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21-Nov-20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21-Nov-20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

El sensor de pols només proporciona índex PM2.5 i PM10. Per calcular l’AQI necessitem el mòdul python-aqi:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])

La recopilació de dades, la visualització i el control de l’aparell s’executen de manera simultània i asíncrona. Les dades es guarden en una base de dades local. No cal que els executem amb freqüència si l’entorn no canvia massa ràpidament. Per a mi, el temps d’interval de 15 minuts és suficient. A més, el mòdul del sensor de pols acumula pols al seu interior, de manera que no hauríem d’utilitzar-lo en excés per evitar la tasca de neteja.

Pas 4: Configuració del servei domòtic

Configuració del servei de domòtica
Configuració del servei de domòtica
Configuració del servei de domòtica
Configuració del servei de domòtica

Hi ha moltes plataformes domòtiques que haurien d’instal·lar la plataforma compatible amb el sòcol intel·ligent que teniu. Si us preocupa la privadesa, heu de configurar el vostre propi sistema. En cas contrari, podeu utilitzar les populars plataformes compatibles amb la majoria de preses intel·ligents WiFi: Google Assistant, Alexa o IFTTT. Proveu de seleccionar la plataforma de sòcol amb una API per interactuar (Webhook és perfecte per a aquest propòsit)

Utilitzo IFTTT en aquest tutorial perquè és molt fàcil d’utilitzar fins i tot per a principiants. Però tingueu en compte que: 1. hi ha molts connectors intel·ligents que no admeten IFTTT i 2. En el moment d’escriure això, IFTTT només us permet crear 3 miniaplicacions (tasques d’automatització) de forma gratuïta, cosa que només és suficient per a 1 electrodomèstic.

Aquests són els passos següents:

1. Creeu dos applets a IFTTT, per activar i apagar l'aplicació, mitjançant el servei Webhook. Els detalls es poden trobar aquí.

2. Copieu la clau API i copieu-la a l'script python. Per motius de seguretat, us suggeriria conservar-lo en un fitxer separat.

3. Definiu la lògica / paràmetres de control a l'script principal.

Pas 5: Resultats

Resultats
Resultats
Resultats
Resultats
Resultats
Resultats
Resultats
Resultats

D'acord, ara provem el sistema.

La pantalla OLED mostra la temperatura actual, la humitat i l’índex de qualitat de l’aire (AQI) calculat. També mostra el valor mínim i màxim en les darreres 12 hores.

Les dades de la sèrie temporal de l’AQI en pocs dies mostren quelcom interessant. Noteu les pujades del patró AQI? Va passar dues vegades al dia, el petit pic cap a les 12:00 i el pic màxim al voltant de les 19:00. Bé, ho heu endevinat, va ser llavors quan cuinem, escampant una gran quantitat de partícules al voltant. És interessant veure com afecta la nostra activitat diària al medi interior.

A més, la darrera pujada de la xifra va durar molt menys que les anteriors. és llavors quan afegim el purificador d’aire al sistema. El controlador de clima RPi envia una sol·licitud PURIFIER_ON quan AQI> 50 i PURIFIER_OFF quan AQI <20. Podeu veure el disparador IFTTT Webhook en aquell moment.

Pas 6: Conclusió

Això és!

Les dades recopilades també es poden utilitzar per controlar escalfadors d’aire, refrigeradors, (des) humidificadors, etc.

Si voleu controlar molts electrodomèstics, és possible que hàgiu de considerar acuradament quin servei domòtic voleu utilitzar. Jo suggeriria encaridament configurar una plataforma domòtica de codi obert, però si és massa complicat, hi ha solucions més senzilles, com ara Google Assistant i IFTTT Webhook, o utilitzar sockets intel·ligents Zigbee.

La implementació completa d’aquest prototip es pot trobar al dipòsit de Github:

github.com/vuva/IndoorClimateControl

Diverteix-te !!!

Recomanat: