Obsah:

Systém monitorování a řízení vnitřního klimatu Raspberry Pi: 6 kroků
Systém monitorování a řízení vnitřního klimatu Raspberry Pi: 6 kroků

Video: Systém monitorování a řízení vnitřního klimatu Raspberry Pi: 6 kroků

Video: Systém monitorování a řízení vnitřního klimatu Raspberry Pi: 6 kroků
Video: Jak ovládat a sledovat tepelné čerpadlo s klimatizací, vlastní levné kutilské vytápění. 2024, Listopad
Anonim
Systém monitorování a řízení vnitřního klimatu Raspberry Pi
Systém monitorování a řízení vnitřního klimatu Raspberry Pi
Systém monitorování a řízení vnitřního klimatu Raspberry Pi
Systém monitorování a řízení vnitřního klimatu Raspberry Pi

Lidé chtějí mít ve svém domě pohodlí. Jelikož klima v naší oblasti nám nemusí vyhovovat, používáme k udržování zdravého vnitřního prostředí mnoho spotřebičů: topení, chladič vzduchu, zvlhčovač, odvlhčovač, čistička atd. V dnešní době je běžné najít některá zařízení vybavená automatickým režim vnímat prostředí a ovládat se. Nicméně:

  • Mnoho z nich je předražených/ nestojí za peníze.
  • Jejich elektrické obvody lze snáze rozbít a hůře vyměnit než běžné mechanické části
  • Zařízení musí být spravována aplikací výrobce. Je běžné, že máte ve svém domě několik chytrých spotřebičů a každý z nich má vlastní aplikaci. Jejich řešením je integrovat aplikaci do platforem, jako jsou Alexa, Google Assistant a IFTTT, abychom měli „centralizovaný“ovladač
  • A co je nejdůležitější, výrobci mají naše data a Google/Amazon/IFTTT/atd. Mají naše data. Nemáme. Možná vás nezajímá soukromí, ale někdy se možná všichni chceme podívat na vlhkost ve vaší ložnici, abychom se rozhodli, kdy otevřít okna.

V tomto tutoriálu stavím prototyp relativně levného Indoor Climate Controller na bázi Raspberry Pi. RPi komunikuje s periferiemi přes rozhraní SPI/I2C/USB:

  • K měření teploty, vlhkosti a tlaku vzduchu se používá atmosférický senzor.
  • Vysoce přesný senzor kvality vzduchu poskytuje data o atmosférických částicích (PM2,5 a PM10), která se používají k výpočtu indexu kvality ovzduší (AQI)

Řadič zpracovává získaná data a spouští akce zařízení odesíláním požadavků na automatizační službu IFTTT Webhook, která ovládá podporované inteligentní zásuvky WiFi.

Prototyp je postaven tak, aby bylo možné snadno přidat další senzory, zařízení a automatizační služby.

Krok 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Doporučený hardware k sestavení:

  1. Raspberry Pi (libovolná verze) s WiFi. Stavím to pomocí RPi B+. RPi ZeroW by fungoval dobře a stál ~ 15 $
  2. Senzor BME280 pro teplotu, vlhkost a tlak vzduchu ~ 5 $
  3. Modul senzoru detekce kvality vzduchu Nova SDS011 s vysokou přesností PM2,5/PM10 ~ 25 $
  4. LED/LCD displej. Použil jsem 2,23 palcový OLED displej SSD1305 ~ 15 $
  5. Některé chytré zásuvky WiFi/ZigBee/Z-Wave. 10-20 $ každý
  6. Čistička vzduchu, zvlhčovač, odvlhčovač, ohřívač, chladič atd. S mechanickými spínači. Například jsem na tento tutoriál použil levnou čističku vzduchu

Výše uvedené celkové náklady jsou <100 $, což je mnohem méně, než například inteligentní čistička, která by mohla snadno stát 200 $.

Krok 2: Zapojení Raspbery Pi

Zapojení Raspbery Pi
Zapojení Raspbery Pi

Schéma zapojení ukazuje, jak propojit RPi se snímačem BME280 pomocí rozhraní I2C a OLED displeje HAT pomocí rozhraní SPI.

Waveshare OLED HAT by mohl být připojen k horní části GPIO, ale ke sdílení s jinými periferiemi potřebujete rozdělovač GPIO. Mohlo by být nakonfigurováno pro použití I2C pájením odporů na zadní straně.

Další informace o SSD1305 OLED HAT naleznete zde.

V RPi je třeba povolit rozhraní I2C i SPI s:

sudo raspi-config

Senzor prachu Nova SDS011 je připojen k RPi přes USB port (s adaptérem Serial-USB).

Krok 3: Shromažďování dat ze senzorů

Atmosférická data, která vypadají docela jednoduše, jsou shromažďována ze senzoru BME280 ze skriptu pythonu.

21. listopadu 20:19:25-INFO-kompenzované čtení (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, časové razítko = 2020-11-21 19: 19: 25,604317, teplota = 20,956 ° C, tlak = 1019,08 hPa, vlhkost = 49,23 % rH)

Data senzoru prachu vyžadují trochu více zpracování. Senzorový modul nasává některé vzorky vzduchu, aby detekoval pevné částice, takže by měl chvíli běžet (30 s), aby měl spolehlivé výsledky. Ze svého pozorování považuji pouze průměr posledních 3 vzorků. Tento proces je k dispozici v tomto skriptu.

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

21. listopadu 20 19:21:09- DEBUG- 1. PM2.5: 2.9, PM10: 6.0 21. listopadu 20:21:11- DEBUG- 2. PM2.5: 2.9, PM10: 6.0 21- 20.listopadu 19:21:13- DEBUG- 3. PM2.5: 2.9, PM10: 6.3 21.-20.listopadu 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. listopadu -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21. listopadu -20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21. listopadu -20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21. listopadu -20 19:21:30 - DEBUG - 11. PM2.5: 3,2, PM10: 6,9 21 -listopad -20 19:21:32 - DEBUG - 12. PM2,5: 3,3, PM10: 7,0 21 -lis -20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21. listopadu -20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Prachový senzor poskytuje pouze index PM2,5 a PM10. K výpočtu AQI potřebujeme modul python-aqi:

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

Shromažďování, zobrazování a ovládání zařízení se provádí souběžně a asynchronně. Data jsou uložena v místní databázi. Pokud se prostředí příliš rychle nemění, nemusíme je spouštět často. Mně stačí 15minutový interval. Modul senzoru prachu navíc hromadí prach uvnitř, takže bychom jej neměli nadměrně používat, abychom se vyhnuli čištění.

Krok 4: Nastavení služby domácí automatizace

Nastavení služby domácí automatizace
Nastavení služby domácí automatizace
Nastavení služby domácí automatizace
Nastavení služby domácí automatizace

Existuje mnoho platforem pro domácí automatizaci a měla by nainstalovat platformu, kterou podporuje chytrá zásuvka, kterou máte. Pokud vám jde o soukromí, měli byste si nastavit vlastní systém. Jinak můžete použít oblíbené platformy, které podporuje většina chytrých zásuvek WiFi: Google Assistant, Alexa nebo IFTTT. Zkuste vybrat platformu soketu s rozhraním API, se kterým budete komunikovat (Webhook je pro tento účel ideální)

V tomto tutoriálu používám IFTTT, protože je velmi snadné jej použít i pro nováčky. Uvědomte si však, že: 1. existuje mnoho chytrých zásuvek, které nepodporují IFTTT, a 2. v době, kdy to píšu, vám IFTTT umožňuje pouze bezplatně vytvořit 3 applety (úkoly automatizace), což stačí pouze na 1 spotřebič.

Toto jsou kroky:

1. Vytvořte v IFTTT dva applety pro zapnutí a vypnutí zařízení pomocí služby Webhook. Podrobnosti najdete zde.

2. Zkopírujte klíč API a zkopírujte jej do skriptu pythonu. Z bezpečnostních důvodů bych doporučil ponechat jej v samostatném souboru.

3. Definujte řídicí logiku/parametry v hlavním skriptu.

Krok 5: Výsledky

Výsledek
Výsledek
Výsledek
Výsledek
Výsledek
Výsledek
Výsledek
Výsledek

Dobře, nyní testujeme systém.

OLED displej zobrazuje aktuální teplotu, vlhkost a vypočítaný index kvality vzduchu (AQI). Také zobrazuje minimální a maximální hodnotu za posledních 12 hodin.

Data časových řad AQI za několik dní ukazují něco zajímavého. Všimli jste si přepětí ve vzoru AQI? Stalo se to dvakrát denně, malý vrchol kolem 12:00 a vysoký vrchol je kolem 19:00. Uhodli jste, to bylo, když jsme vařili a šířili kolem sebe spoustu částic. Je zajímavé sledovat, jak naše každodenní aktivita ovlivňuje vnitřní prostředí.

Také poslední nárůst postavy trval mnohem kratší dobu než ty předchozí. tehdy přidáme do systému čističku vzduchu. Ovladač klimatizace RPi odesílá požadavek PURIFIER_ON při AQI> 50 a PURIFIER_OFF při AQI <20. V té době můžete vidět aktivační událost IFTTT Webhook.

Krok 6: Závěr

A je to!

Shromážděná data lze také použít k ovládání ohřívačů vzduchu, chladičů, (de) zvlhčovačů atd. Stačí si koupit více chytrých zásuvek a každý starý spotřebič se stane „chytrým“.

Pokud chcete ovládat mnoho spotřebičů, možná budete muset pečlivě zvážit, jakou službu domácí automatizace chcete použít. Velmi bych doporučil zřídit open-source platformu pro domácí automatizaci, ale pokud je to příliš komplikované, existují jednodušší řešení, jako je Google Assistant a IFTTT Webhook, nebo používání chytrých zásuvek Zigbee.

Úplnou implementaci tohoto prototypu najdete v úložišti Github:

github.com/vuva/IndoorClimateControl

Bavte se !!!

Doporučuje: