Obsah:

Systém monitorovania a riadenia vnútornej klímy Raspberry Pi: 6 krokov
Systém monitorovania a riadenia vnútornej klímy Raspberry Pi: 6 krokov

Video: Systém monitorovania a riadenia vnútornej klímy Raspberry Pi: 6 krokov

Video: Systém monitorovania a riadenia vnútornej klímy Raspberry Pi: 6 krokov
Video: Высокая плотность 2022 2024, November
Anonim
Systém monitorovania a riadenia vnútornej klímy Raspberry Pi
Systém monitorovania a riadenia vnútornej klímy Raspberry Pi
Systém monitorovania a riadenia vnútornej klímy Raspberry Pi
Systém monitorovania a riadenia vnútornej klímy Raspberry Pi

Ľudia chcú mať vo svojom dome pohodlie. Pretože klíma v našej oblasti nám nemusí vyhovovať, používame na udržanie zdravého vnútorného prostredia mnoho spotrebičov: ohrievač, chladič vzduchu, zvlhčovač, odvlhčovač, čistička atď. V dnešnej dobe je bežné nájsť niektoré zariadenia vybavené automatickým režim vnímať prostredie a ovládať sa. Avšak:

  • Mnoho z nich je predražených/ nestojí za peniaze.
  • Ich elektrické obvody sa dajú ľahšie zlomiť a ťažšie vymeniť ako konvenčné mechanické časti
  • Spotrebiče musia byť spravované aplikáciou výrobcu. Je bežné, že máte doma niekoľko inteligentných spotrebičov a každý z nich má svoju vlastnú aplikáciu. Ich riešením je integrovať aplikáciu do platforiem, ako sú Alexa, Google Assistant a IFTTT, aby sme mali „centralizovaný“ovládač
  • Najdôležitejšie je, že výrobcovia majú naše údaje a Google/Amazon/IFTTT/atď. Majú naše údaje. My nie Možno vám nezáleží na súkromí, ale niekedy by sme sa všetci chceli pozrieť na vzor vlhkosti vašej spálne, aby ste sa rozhodli, kedy otvoríte okná.

V tomto návode staviam prototyp relatívne lacného vnútorného regulátora klímy na báze Raspberry Pi. RPi komunikuje s perifériami prostredníctvom rozhraní SPI/I2C/USB:

  • Na meranie teploty, vlhkosti a tlaku vzduchu sa používa atmosférický senzor.
  • Vysoko presný snímač kvality vzduchu poskytuje údaje o atmosférických časticiach (PM2,5 a PM10) používané na výpočet indexu kvality ovzdušia (AQI)

Ovládač spracováva získané údaje a spúšťa akcie zariadenia odoslaním požiadaviek na automatizačnú službu IFTTT Webhook, ktorá ovláda podporované inteligentné zásuvky WiFi.

Prototyp je zostavený tak, aby bolo možné ľahko pridať ďalšie senzory, zariadenia a automatizačné služby.

Krok 1: Hardvér

Hardvér
Hardvér
Hardvér
Hardvér
Hardvér
Hardvér

Odporúčaný hardvér na jeho zostavenie:

  1. Raspberry Pi (ľubovoľná verzia) s WiFi. Staviam to pomocou RPi B+. RPi ZeroW by fungoval dobre a stál ~ 15 dolárov
  2. Senzor BME280 na teplotu, vlhkosť a tlak vzduchu ~ 5 $
  3. Modul senzora detekcie kvality vzduchu Nova SDS011 s vysokou presnosťou PM2,5/PM10 ~ 25 $
  4. LED/LCD displej. Použil som 2,23 palcovú OLED obrazovku SSD1305 ~ 15 $
  5. Niektoré inteligentné zásuvky WiFi/ZigBee/Z-Wave. Každý po 10-20 dolárov
  6. Čistička vzduchu, zvlhčovač, odvlhčovač, ohrievač, chladič atď. S mechanickými spínačmi. Na tento tutoriál som napríklad použil lacnú čističku vzduchu

Vyššie uvedené celkové náklady sú <100 $, čo je oveľa menej, ako napríklad inteligentná čistička, ktorá by mohla ľahko stáť 200 $.

Krok 2: Zapojenie Raspbery Pi

Zapojenie Raspbery Pi
Zapojenie Raspbery Pi

Schéma zapojenia ukazuje, ako prepojiť RPi so snímačom BME280 pomocou rozhrania I2C a OLED displeja HAT pomocou rozhrania SPI.

Waveshare OLED HAT je možné pripevniť na vrch GPIO, ale na jeho zdieľanie s inými perifériami potrebujete rozdeľovač GPIO. Mohlo by byť nakonfigurované tak, aby používalo I2C spájkovaním odporov na zadnej strane.

Ďalšie informácie o SSD1305 OLED HAT nájdete tu.

Rozhranie I2C aj SPI je potrebné povoliť v RPi pomocou:

sudo raspi-config

Senzor prachu Nova SDS011 je pripojený k RPi prostredníctvom USB portu (pomocou adaptéra Serial-USB).

Krok 3: Zhromažďovanie údajov zo senzorov

Atmosférické údaje, ktoré vyzerajú celkom jednoducho, sa zbierajú zo senzora BME280 zo skriptu python.

21. novembra 20:19:25-INFO-kompenzované_čítanie (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, časová pečiatka = 2020-11-21 19: 19: 25,604317, teplota = 20,956 ° C, tlak = 1019,08 hPa, vlhkosť = 49,23 % relatívnej vlhkosti)

Údaje senzora prachu vyžadujú trochu viac spracovania. Senzorový modul nasáva niektoré vzorky vzduchu na detekciu tuhých častíc, takže by mal chvíľu bežať (30 s), aby mal spoľahlivé výsledky. Z môjho pozorovania považujem iba priemer posledných 3 vzoriek. Tento proces je k dispozícii v tomto skripte.

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

21. novembra 20:21:09- DEBUG- 1. PM2.5: 2,9, PM10: 6,0 21. novembra 20:21:11- DEBUG- 2. PM2,5: 2,9, PM10: 6,0 21- 20. novembra 19:21:13- DEBUG- 3. PM2.5: 2,9, PM10: 6,3 21. novembra-20 19:21:15- DEBUG- 4. PM2,5: 3,0, PM10: 6,2 21. novembra- 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. novembra -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21. novembra -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. novembra 20:21:36 - DEBUG - 14. PM2,5: 3,3, PM10: 7,1

Senzor prachu poskytuje iba index PM2,5 a PM10. Na výpočet AQI potrebujeme modul python-aqi:

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

Zhromažďovanie, zobrazovanie a ovládanie zariadení sa vykonáva súbežne a asynchrónne. Údaje sú uložené v lokálnej databáze. Ak sa prostredie nezmení príliš rýchlo, nepotrebujeme ich často spúšťať. Mne stačí 15 minútový interval. Modul senzora prachu navyše hromadí vo vnútri prach, takže by sme ho nemali nadmerne používať, aby sme sa vyhli čisteniu.

Krok 4: Nastavenie služby automatizácie domácnosti

Nastavenie služby automatizácie domácnosti
Nastavenie služby automatizácie domácnosti
Nastavenie služby automatizácie domácnosti
Nastavenie služby automatizácie domácnosti

Existuje mnoho platforiem pre domácu automatizáciu a mali by ste nainštalovať platformu, ktorú podporuje inteligentná zásuvka, ktorú máte. Ak vám ide o súkromie, mali by ste si nastaviť vlastný systém. V opačnom prípade môžete použiť obľúbené platformy, ktoré podporuje väčšina inteligentných zásuviek WiFi: Google Assistant, Alexa alebo IFTTT. Skúste vybrať platformu soketu s rozhraním API, s ktorým budete interagovať (Webhook je na tento účel ideálny)

V tomto návode používam IFTTT, pretože je veľmi ľahko použiteľný aj pre nováčikov. Uvedomte si však, že: 1. existuje veľa inteligentných zásuviek, ktoré nepodporujú IFTTT, a 2. v čase, keď to píšem, vám IFTTT umožňuje bezplatne vytvárať iba 3 applety (úlohy automatizácie), čo stačí iba na 1 spotrebič.

Toto sú kroky:

1. Vytvorte v IFTTT dva aplety na zapínanie a vypínanie zariadenia pomocou služby Webhook. Podrobnosti nájdete tu.

2. Skopírujte kľúč API a skopírujte ho do skriptu python. Z bezpečnostných dôvodov by som odporučil uložiť ho do samostatného súboru.

3. Definujte riadiacu logiku/parametre v hlavnom skripte.

Krok 5: Výsledky

Výsledky
Výsledky
Výsledky
Výsledky
Výsledky
Výsledky
Výsledky
Výsledky

Dobre, teraz testujeme systém.

OLED displej zobrazuje aktuálnu teplotu, vlhkosť a vypočítaný index kvality vzduchu (AQI). Tiež zobrazuje minimálnu a maximálnu hodnotu za posledných 12 hodín.

Údaje časových radov AQI za niekoľko dní ukazujú niečo zaujímavé. Všimli ste si nárasty vo vzore AQI? Stalo sa to dvakrát denne, malý vrchol okolo 12:00 a vysoký vrchol okolo 19:00. Uhádli ste, to bolo, keď sme varili a rozhádzali veľa pevných častíc. Je zaujímavé sledovať, ako naša každodenná činnosť ovplyvňuje vnútorné prostredie.

Tiež posledný nárast postavy trval oveľa kratšie ako predchádzajúce. vtedy do systému pridáme čističku vzduchu. Regulátor klimatizácie RPi odosiela požiadavku PURIFIER_ON pri AQI> 50 a PURIFIER_OFF pri AQI <20. V tom čase môžete vidieť spúšťač IFTTT Webhook.

Krok 6: Záver

To je všetko!

Zhromaždené údaje je možné použiť aj na ovládanie ohrievačov vzduchu, chladičov, (de) zvlhčovačov atď. Stačí si kúpiť viac inteligentných zásuviek a každý starý spotrebič sa stane „inteligentným“.

Ak chcete ovládať mnoho spotrebičov, možno budete musieť starostlivo zvážiť, ktorú službu automatizácie domácnosti chcete používať. Dôrazne by som odporučil zriadenie platformy pre domácu automatizáciu s otvoreným zdrojovým kódom, ale ak je to príliš komplikované, existujú jednoduchšie riešenia, ako napríklad Google Assistant a IFTTT Webhook, alebo používanie inteligentných zásuviek Zigbee.

Úplnú implementáciu tohto prototypu nájdete v úložisku Github:

github.com/vuva/IndoorClimateControl

Bavte sa !!!

Odporúča: