Kazalo:

Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi: 6 korakov
Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi: 6 korakov

Video: Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi: 6 korakov

Video: Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi: 6 korakov
Video: The Choice is Ours (2016) Official Full Version 2024, Julij
Anonim
Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi
Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi
Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi
Sistem za spremljanje in nadzor podnebja v zaprtih prostorih Raspberry Pi

Ljudje želijo biti v svojem domu udobni. Ker nam podnebje na našem območju morda ne ustreza, za vzdrževanje zdravega notranjega okolja uporabljamo številne aparate: grelec, hladilnik zraka, vlažilec zraka, razvlaževalec zraka, čistilnik itd. Danes je običajno najti nekatere naprave, opremljene z način, da zaznavajo okolje in se nadzorujejo. Vendar:

  • Mnogi od njih so predragi/ niso vredni denarja.
  • Njihova električna vezja je lažje prekiniti in jih težje zamenjati kot običajne mehanske dele
  • Naprave mora upravljati aplikacija proizvajalca. Običajno je v hiši nekaj pametnih aparatov in vsak ima svojo aplikacijo. Njihova rešitev je, da aplikacijo vključijo v platforme, kot so Alexa, Google Assistant in IFTTT, tako da imamo "centraliziran" krmilnik
  • Najpomembneje je, da imajo proizvajalci naše podatke, Google/Amazon/IFTTT/itd pa naše podatke. Mi ne. Morda vam ni vseeno za zasebnost, včasih pa si bomo morda vsi želeli ogledati vzorec vlažnosti v vaši spalnici, da se odločimo, kdaj odpreti okna.

V tej vadnici izdelam prototip relativno poceni notranjega klimatskega krmilnika na osnovi Raspberry Pi. RPi komunicira z zunanjimi napravami prek vmesnikov SPI/I2C/USB:

  • Atmosferski senzor se uporablja za zbiranje temperature, vlažnosti in zračnega tlaka.
  • Visoko natančen senzor kakovosti zraka zagotavlja podatke o atmosferskih delcih (PM2,5 in PM10), ki se uporabljajo za izračun indeksa kakovosti zraka (AQI)

Krmilnik obdeluje pridobljene podatke in sproži dejanja naprave s pošiljanjem zahtev na storitev avtomatizacije IFTTT Webhook, ki nadzoruje podprte vtičnike WiFi Smart.

Prototip je zgrajen tako, da je mogoče enostavno dodati druge senzorje, naprave in storitve avtomatizacije.

1. korak: Strojna oprema

Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema
Strojna oprema

Priporočena strojna oprema za izdelavo tega:

  1. Raspberry Pi (katera koli različica) z WiFi. To gradim z uporabo RPi B+. RPi ZeroW bi bil v redu in bi stal ~ 15 $
  2. Senzor BME280 za temperaturo, vlažnost, zračni tlak ~ 5 $
  3. Laserski senzor za zaznavanje kakovosti zraka PM SDS SDS SDS Nova SDS011 ~ 25 $
  4. LED/LCD zaslon. Uporabil sem 2,23 -palčni OLED zaslon SSD1305 ~ 15 $
  5. Nekaj pametnih vtičnic WiFi/ZigBee/Z-Wave. 10-20 USD vsak
  6. Čistilec zraka, vlažilec zraka, razvlaževalec zraka, grelec, hladilnik itd. Z mehanskimi stikali. Na primer, za to vadnico sem uporabil poceni čistilec zraka

Zgornji skupni stroški so <100 $, veliko manj kot, recimo, pameten čistilnik, ki bi zlahka stal 200 $.

2. korak: Ožičenje Raspbery Pi

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

Shema vezja prikazuje, kako povezati RPi s senzorjem BME280 z vmesnikom I2C in OLED prikazom HAT z vmesnikom SPI.

Klobuk Waveshare OLED HAT je lahko pritrjen na GPIO, vendar potrebujete razdelilnik GPIO, da ga delite z drugimi zunanjimi napravami. Lahko bi bilo konfigurirano za uporabo I2C s spajkanjem uporov na zadnji strani.

Dodatne informacije o SSD1305 OLED HAT lahko najdete tukaj.

Oba vmesnika I2C in SPI morata biti omogočena v RPi z:

sudo raspi-config

Senzor prahu Nova SDS011 je priključen na RPi prek vrat USB (z vmesnikom Serial-USB).

3. korak: zbiranje podatkov iz senzorjev

Atmosferski podatki, ki so videti precej preprosti, se zbirajo iz senzorja BME280 iz skripta python.

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

Podatki senzorja prahu potrebujejo malo več obdelave. Senzorski modul sesa nekaj vzorcev zraka za zaznavanje delcev, zato bi moral delovati nekaj časa (30 sekund), da bi dobili zanesljive rezultate. Iz mojega opazovanja upoštevam le povprečje zadnjih treh vzorcev. Postopek je na voljo v tem skriptu.

21. november 20 19:21:07 - DEBUG - 0. PM2,5: 2,8, PM10: 5,9

21. november 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. nov. 19:21:13- DEBUG- 3. PM2.5: 2.9, PM10: 6.3 21.-20.-20. 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. -20. -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21. -20. -20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21. november 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21. november 20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21. november 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21. november 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

Senzor za prah zagotavlja le indeks PM2.5 in PM10. Za izračun AQI potrebujemo modul python-aqi:

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

Zbiranje, prikazovanje in upravljanje naprav se izvajajo istočasno in asinhrono. Podatki se shranijo v lokalno bazo podatkov. Če se okolje ne spreminja prehitro, nam jih ni treba pogosto izvajati. Zame je dovolj 15 -minutni interval. Poleg tega modul senzorja za prah v notranjosti nabira prah, zato ga ne smemo preveč uporabljati, da se izognemo čiščenju.

4. korak: Nastavitev storitve avtomatizacije doma

Nastavitev storitve avtomatizacije doma
Nastavitev storitve avtomatizacije doma
Nastavitev storitve avtomatizacije doma
Nastavitev storitve avtomatizacije doma

Obstaja veliko platform za avtomatizacijo doma in bi morali namestiti platformo, ki jo podpira pametna vtičnica, ki jo imate. Če vas skrbi zasebnost, morate vzpostaviti lasten sistem. V nasprotnem primeru lahko uporabite priljubljene platforme, ki jih podpira večina pametnih vtičnic WiFi: Google Assistant, Alexa ali IFTTT. Poskusite izbrati platformo vtičnice z API -jem za interakcijo (Webhook je kot nalašč za ta namen)

V tej vadnici uporabljam IFTTT, ker je zelo enostaven za uporabo tudi za začetnike. Toda zavedajte se, da: 1. obstaja veliko pametnih vtičnic, ki ne podpirajo IFTTT, in 2. v času, ko to pišem, vam IFTTT omogoča, da brezplačno ustvarite samo 3 programčke (naloge avtomatizacije), kar zadošča le za 1 aparatom.

To so koraki:

1. V programu IFTTT ustvarite dva programčka za vklop in izklop naprave s storitvijo Webhook. Podrobnosti najdete tukaj.

2. Kopirajte ključ API in ga kopirajte v skript python. Predlagam, da se iz varnostnih razlogov shrani v ločeni datoteki.

3. Določite krmilno logiko/parametre v glavnem skriptu.

5. korak: Rezultati

Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati
Rezultati

V redu, zdaj testiramo sistem.

Zaslon OLED prikazuje trenutno temperaturo, vlažnost in izračunani indeks kakovosti zraka (AQI). Prikazuje tudi najmanjšo in največjo vrednost v zadnjih 12 urah.

Podatki časovnega niza AQI v nekaj dneh kažejo nekaj zanimivega. Opazite sunke v vzorcu AQI? To se je zgodilo dvakrat na dan, majhen vrh okoli 12:00 in visok vrh okoli 19:00. No, uganili ste, takrat smo kuhali in razmetavali veliko trdnih delcev naokoli. Zanimivo je videti, kako naše vsakodnevne dejavnosti vplivajo na notranje okolje.

Prav tako je zadnji porast številke trajal precej krajše od prejšnjih. takrat v sistem dodamo čistilec zraka. Klimatski krmilnik RPi pošlje zahtevo PURIFIER_ON pri AQI> 50 in PURIFIER_OFF pri AQI <20. Takrat lahko vidite sprožilec IFTTT Webhook.

6. korak: Zaključek

To je to!

Zbrane podatke lahko uporabite tudi za krmiljenje grelnikov zraka, hladilnikov, (de) vlažilnikov itd. Samo kupiti morate več pametnih vtičnic in vsak stari aparat bo postal "pameten".

Če želite upravljati veliko naprav, boste morda morali dobro premisliti, katero storitev avtomatizacije doma želite uporabiti. Zelo priporočam, da vzpostavite odprtokodno platformo za avtomatizacijo doma, če pa je preveč zapletena, obstajajo enostavnejše rešitve, kot sta Google Assistant in IFTTT Webhook, ali pa uporabite pametne vtičnice Zigbee.

Celotno izvedbo tega prototipa najdete v skladišču Github:

github.com/vuva/IndoorClimateControl

Zabavaj se !!!

Priporočena: