Sadržaj:

Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru: 6 koraka
Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru: 6 koraka

Video: Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru: 6 koraka

Video: Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru: 6 koraka
Video: CS50 2013 - Week 10, continued 2024, Studeni
Anonim
Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru
Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru
Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru
Raspberry Pi sustav za nadzor i kontrolu klime u zatvorenom prostoru

Ljudi žele biti ugodni u svojoj kući. Kako nam klima na našem području možda ne odgovara, koristimo mnoge aparate za održavanje zdravog unutarnjeg okoliša: grijač, hladnjak zraka, ovlaživač zraka, odvlaživač zraka, pročišćivač itd. U današnje vrijeme uobičajeno je pronaći neke od uređaja opremljenih automatskim način da osjete okoliš i kontroliraju se. Međutim:

  • Mnogi od njih su preskupi/ ne vrijede novca.
  • Njihove električne krugove lakše je prekinuti i teže ih je zamijeniti od konvencionalnih mehaničkih dijelova
  • Uređajima mora upravljati aplikacija proizvođača. Uobičajeno je da u kući imate nekoliko pametnih uređaja, a svaki od njih ima svoju aplikaciju. Njihovo je rješenje integrirati aplikaciju u platforme kao što su Alexa, Google Assistant i IFTTT tako da imamo "centralizirani" kontroler
  • Ono što je najvažnije, proizvođači imaju naše podatke, a Google/Amazon/IFTTT/itd. Naše podatke. Mi nemamo. Možda vam nije stalo do privatnosti, ali ponekad bismo svi mogli htjeti pogledati primjerice vlažnost vaše spavaće sobe, kako bismo odlučili u koje vrijeme otvoriti prozore.

U ovom vodiču izrađujem prototip relativno jeftinog sobnog klima uređaja zasnovanog na Raspberry Pi. RPi komunicira s perifernim uređajima putem SPI/I2C/USB sučelja:

  • Senzor atmosfere koristi se za prikupljanje temperature, vlažnosti i tlaka zraka.
  • Senzor kvalitete zraka visoke preciznosti pruža podatke o atmosferskim česticama (PM2,5 i PM10) koji se koriste za izračun indeksa kvalitete zraka (AQI)

Kontroler obrađuje prikupljene podatke i pokreće radnje uređaja slanjem zahtjeva službi za automatizaciju IFTTT Webhook koja kontrolira podržane WiFi Smart priključke.

Prototip je izgrađen na način da se lako mogu dodati drugi senzori, uređaji i usluge automatizacije.

Korak 1: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Preporučeni hardver za izgradnju ovog:

  1. Raspberry Pi (bilo koja verzija) s WiFi -jem. Ovo gradim pomoću RPi B+. RPi ZeroW bi bio sasvim u redu i koštao bi ~ 15 $
  2. BME280 senzor za temperaturu, vlažnost, tlak zraka ~ 5 USD
  3. Novi SDS011 laserski visokoprecizni laserski PM2.5/PM10 senzorski modul senzora za otkrivanje kvalitete zraka ~ 25 USD
  4. LED/LCD zaslon. Koristio sam SSD1305 2,23 inčni OLED ekran ~ 15 $
  5. Neke WiFi/ZigBee/Z-Wave pametne utičnice. 10-20 USD svaki
  6. Pročišćivač zraka, ovlaživač zraka, odvlaživač zraka, grijač, hladnjak itd. S mehaničkim prekidačima. Na primjer, za izradu ovog vodiča koristio sam jeftini pročišćivač zraka

Gore navedeni ukupni troškovi su <100 USD, mnogo manje od, recimo, pametnog pročišćivača koji bi lako mogao koštati 200 USD.

Korak 2: Ožičenje Raspbery Pi

Ožičenje Raspbery Pi
Ožičenje Raspbery Pi

Dijagram kruga prikazuje kako spojiti RPi sa senzorom BME280 koristeći I2C sučelje i OLED zaslon HAT pomoću SPI sučelja.

Waveshare OLED HAT mogao bi se priključiti na GPIO, ali potreban vam je GPIO razdjelnik za dijeljenje s drugim perifernim uređajima. Može se konfigurirati za upotrebu I2C lemljenjem otpornika na stražnjoj strani.

Dodatne informacije o SSD1305 OLED ŠEŠIRU možete pronaći ovdje.

I I2C i SPI sučelja moraju biti omogućena u RPi sa:

sudo raspi-config

Senzor prašine Nova SDS011 spojen je na RPi putem USB priključka (s serijskim USB adapterom).

Korak 3: Prikupljanje podataka sa senzora

Podaci o atmosferi, koji izgledaju vrlo jednostavno, prikupljaju se s BME280 senzora iz python skripte.

21. studenog 20 19:19:25-INFO-kompenzirano čitanje (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, vremenska oznaka = 2020-11-21 19: 19: 25,604317, temp = 20,956 ° C, tlak = 1019,08 hPa, vlažnost = 49,23 % rH)

Podaci senzora prašine trebaju malo više obrade. Senzorski modul usisava neke uzorke zraka radi otkrivanja čestica, pa bi trebao raditi neko vrijeme (30 sekundi) kako bi imao pouzdane rezultate. Iz mojih zapažanja uzimam u obzir samo prosjek posljednja 3 uzorka. Postupak je dostupan u ovoj skripti.

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

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

Senzor prašine daje samo indeks PM2.5 i PM10. Za izračun AQI potreban nam je python-aqi modul:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, podaci o prašini [0]), (aqi. POLLUTANT_PM10, podaci o prašini [1])])

Prikupljanje, prikaz i upravljanje uređajem izvode se istodobno i asinkrono. Podaci se spremaju u lokalnu bazu podataka. Ne moramo ih često pokretati ako se okruženje ne promijeni prebrzo. Za mene je dovoljno interval od 15 minuta. Nadalje, modul senzora za prašinu nakuplja prašinu unutra, pa ga ne bismo trebali pretjerano koristiti kako bismo izbjegli čišćenje.

Korak 4: Postavljanje usluge kućne automatizacije

Postavljanje usluge kućne automatizacije
Postavljanje usluge kućne automatizacije
Postavljanje usluge kućne automatizacije
Postavljanje usluge kućne automatizacije

Postoji mnogo platformi za kućnu automatizaciju koje bi trebale instalirati platformu koju podržava vaša pametna utičnica koju imate. Ako se brinete o privatnosti, trebali biste postaviti vlastiti sustav. Inače, možete koristiti popularne platforme koje podržava većina WiFi pametnih utičnica: Google pomoćnik, Alexa ili IFTTT. Pokušajte odabrati platformu utičnice s API -jem za interakciju (Webhook je savršen za ovu svrhu)

U ovom vodiču koristim IFTTT jer je vrlo jednostavan za korištenje čak i za početnike. Ali imajte na umu da: 1. postoji mnogo pametnih utičnica koje ne podržavaju IFTTT, i 2. u vrijeme dok ovo pišem, IFTTT vam omogućuje samo stvaranje 3 aplikacije (zadaci automatizacije) besplatno, što je dovoljno samo za 1 aparatom.

Ovo su koraci:

1. Izradite dva appleta u IFTTT -u za uključivanje i isključivanje uređaja pomoću usluge Webhook. Pojedinosti se mogu pronaći ovdje.

2. Kopirajte API ključ i kopirajte ga u skriptu python. Predlažem da se to sačuva u zasebnoj datoteci iz sigurnosnih razloga.

3. Definirajte upravljačku logiku/parametre u glavnom skriptu.

Korak 5: Rezultati

Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati

U redu, sada testiramo sustav.

OLED zaslon prikazuje trenutnu temperaturu, vlažnost i izračunati indeks kvalitete zraka (AQI). Također prikazuje minimalnu i maksimalnu vrijednost u posljednjih 12 sati.

Podaci o vremenskim serijama AQI-a u nekoliko dana pokazuju nešto zanimljivo. Primjećujete li skokove u AQI uzorku? To se događalo dva puta dnevno, mali vrh oko 12:00, a visoki vrh oko 19:00. Pa, pogodili ste, to je bilo kad smo kuhali, raznoseći puno čestica oko sebe. Zanimljivo je vidjeti kako naše dnevne aktivnosti utječu na unutarnje okruženje.

Također, posljednji skok brojke trajao je mnogo kraće od prethodnih. tada u sustav dodajemo pročišćivač zraka. RPi kontroler klime šalje zahtjev PURIFIER_ON kada je AQI> 50 i PURIFIER_OFF kada je AQI <20. Tada možete vidjeti pokretač IFTTT Webhook.

Korak 6: Zaključak

To je to!

Prikupljeni podaci mogu se koristiti i za upravljanje grijačima zraka, hladnjacima, (de) ovlaživačima zraka itd. Samo trebate kupiti više pametnih utičnica i svaki će stari uređaj postati "pametan".

Ako želite kontrolirati mnoge uređaje, možda ćete morati dobro razmisliti koju uslugu kućne automatizacije želite koristiti. Toplo bih predložio postavljanje platforme za kućnu automatizaciju otvorenog koda, ali ako je previše komplicirano, postoje jednostavnija rješenja poput Google asistenta i IFTTT Webhooka ili korištenje pametnih utičnica Zigbee.

Potpuna implementacija ovog prototipa može se pronaći u spremištu Github:

github.com/vuva/IndoorClimateControl

Zabavi se !!!

Preporučeni: