Tartalomjegyzék:

Raspberry Pi beltéri klíma figyelő és szabályozó rendszer: 6 lépés
Raspberry Pi beltéri klíma figyelő és szabályozó rendszer: 6 lépés

Videó: Raspberry Pi beltéri klíma figyelő és szabályozó rendszer: 6 lépés

Videó: Raspberry Pi beltéri klíma figyelő és szabályozó rendszer: 6 lépés
Videó: Dual Screen Raspberry Pi #digifiz dash connected to new fuse and relay panel #digitaldash #openauto 2024, November
Anonim
Raspberry Pi beltéri klíma figyelő és szabályozó rendszer
Raspberry Pi beltéri klíma figyelő és szabályozó rendszer
Raspberry Pi beltéri klíma figyelő és szabályozó rendszer
Raspberry Pi beltéri klíma figyelő és szabályozó rendszer

Az emberek jól akarják érezni magukat a házukban. Mivel térségünk éghajlata nem megfelelő nekünk, sok készüléket használunk az egészséges beltéri környezet fenntartásához: fűtőtestet, léghűtőt, párásítót, párátlanítót, tisztítót stb. Manapság gyakori, hogy néhány olyan készüléket talál, amely mód a környezet érzékelésére és önmaguk irányítására. Azonban:

  • Sokuk túl drága/ nem éri meg a pénzt.
  • Az elektromos áramköröket könnyebb megszakítani és nehezebb cserélni, mint a hagyományos mechanikus alkatrészeket
  • A készülékeket a gyártó alkalmazásának kell kezelnie. Gyakori, hogy van néhány okos készülék a házban, és mindegyiknek megvan a saját alkalmazása. Megoldásuk az, hogy integrálják az alkalmazást olyan platformokra, mint az Alexa, a Google Assistant és az IFTTT, hogy "központosított" vezérlőnk legyen
  • A legfontosabb, hogy a gyártók rendelkeznek az adatainkkal, a Google/Amazon/IFTTT/etc pedig az adatainkkal. Mi nem. Lehet, hogy nem érdekli a magánélet, de néha mindannyian meg szeretnénk nézni például a hálószobája páratartalmát, hogy eldöntsük, mikor nyitjuk ki az ablakokat.

Ebben az oktatóanyagban egy viszonylag olcsó Raspberry Pi alapú beltéri klímaszabályozó prototípusát készítem el. Az RPi SPI/I2C/USB interfészeken keresztül kommunikál a perifériákkal:

  • A hőmérséklet, a páratartalom és a légnyomás összegyűjtésére légköri érzékelőt használnak.
  • A nagy pontosságú levegőminőség -érzékelő légköri részecskék (PM2.5 és PM10) adatokat szolgáltat a levegőminőség -index (AQI) kiszámításához

A vezérlő feldolgozza a megszerzett adatokat, és aktiválja az eszközműveleteket azáltal, hogy kéréseket küld az IFTTT Webhook automatizálási szolgáltatásnak, amely a támogatott WiFi Smart csatlakozókat vezérli.

A prototípus úgy van megépítve, hogy könnyen hozzá lehessen adni más érzékelőket, készülékeket és automatizálási szolgáltatásokat.

1. lépés: Hardver

Hardver
Hardver
Hardver
Hardver
Hardver
Hardver

Az építéshez ajánlott hardver:

  1. A Raspberry Pi (bármilyen verzió) WiFi -vel. Ezt RPi B+segítségével építem fel. Az RPi ZeroW remekül működne, és körülbelül 15 dollárba kerülne
  2. BME280 érzékelő hőmérséklet, páratartalom, légnyomás ~ 5 $
  3. A Nova SDS011 nagy pontosságú lézer PM2.5/PM10 levegőminőség -érzékelő modul ~ 25 $
  4. LED/LCD kijelző. Az SSD1305 2,23 hüvelykes OLED képernyőt használtam ~ 15 $
  5. Néhány WiFi/ZigBee/Z-Wave intelligens aljzat. Egyenként 10-20 dollár
  6. Légtisztító, párásító, párátlanító, fűtés, hűtő stb., Mechanikus kapcsolókkal. Például egy olcsó légtisztítót használtam az oktatóanyag elkészítéséhez

A fenti összköltség <100 USD, sokkal kevesebb, mint mondjuk egy intelligens tisztító, amely könnyen 200 dollárba kerülhet.

2. lépés: A Raspbery Pi bekötése

A Raspbery Pi bekötése
A Raspbery Pi bekötése

Az kapcsolási rajz bemutatja, hogyan kell bekötni az RPi -t a BME280 érzékelővel I2C interfészen keresztül és OLED kijelzővel a HAT SPI interfész használatával.

A Waveshare OLED HAT a GPIO tetejére rögzíthető, de szüksége van egy GPIO elosztóra, hogy megossza más perifériákkal. Az I2C használatára úgy konfigurálható, hogy a hátlapon lévő ellenállásokat forrasztjuk.

További információk az SSD1305 OLED kalapról itt találhatók.

Mind az I2C, mind az SPI interfészeket engedélyezni kell RPi -ben:

sudo raspi-config

A Nova SDS011 porérzékelő USB porton keresztül csatlakozik az RPi-hez (soros-USB adapterrel).

3. lépés: Adatok gyűjtése az érzékelőktől

A légköri adatokat, amelyek meglehetősen egyszerűnek tűnnek, a BME280 szenzorból gyűjtik a python szkriptből.

21. november 20. 19:19:25-INFO-kompenzált olvasás (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, időbélyeg = 2020-11-21 19: 19: 25.604317, hőmérséklet = 20.956 ° C, nyomás = 1019.08 hPa, páratartalom = 49.23 % relatív páratartalom)

A porérzékelő adatait egy kicsit tovább kell feldolgozni. Az érzékelő modul beszívja a levegőmintákat, hogy érzékelje a részecskéket, ezért működnie kell egy ideig (30 másodperc), hogy megbízható eredményeket kapjon. Megfigyelésem alapján csak az utolsó 3 minta átlagát veszem figyelembe. A folyamat ebben a szkriptben érhető el.

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. november 20. 19:21:11- DEBUG- 2. PM2.5: 2.9, PM10: 6.0 21- Nov-20 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.-november 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21. november 20. 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21. november 21. 19: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21. november 20. 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21. november 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. november 20. 19:21:30 - HIBAELHÁRÍTÁS - 11. PM2.5: 3.2, PM10: 6.9 21. nov. 20. 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21. november 21. 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 Nov. 20, 21:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

A porérzékelő csak a PM2.5 és PM10 indexeket tartalmazza. Az AQI kiszámításához szükségünk van a python-aqi modulra:

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

Az adatgyűjtés, megjelenítés és a készülék vezérlése párhuzamosan és aszinkron módon történik. Az adatokat egy helyi adatbázis tárolja. Nem kell gyakran futtatnunk őket, ha a környezet nem változik túl gyorsan. Számomra 15 perces intervallum elegendő. Továbbá a porérzékelő modul felhalmozza a port a belsejében, ezért ne használjuk túl, hogy elkerüljük a tisztítási feladatot.

4. lépés: Az otthoni automatizálási szolgáltatás beállítása

Az otthoni automatizálási szolgáltatás beállítása
Az otthoni automatizálási szolgáltatás beállítása
Az otthoni automatizálási szolgáltatás beállítása
Az otthoni automatizálási szolgáltatás beállítása

Sok otthoni automatizálási platform létezik, és telepítenie kell azt a platformot, amelyet az intelligens aljzat támogat. Ha az adatvédelemmel foglalkozik, akkor saját rendszert kell beállítania. Ellenkező esetben használhatja a népszerű platformokat, amelyeket a legtöbb WiFi intelligens aljzat támogat: Google Assistant, Alexa vagy IFTTT. Próbálja meg kiválasztani a socket platformot API -val, amellyel interakcióba léphet (a Webhook tökéletes erre a célra)

Az IFTTT -t használom ebben a bemutatóban, mert nagyon könnyű használni még kezdőknek is. De ne feledje, hogy: 1. sok okos aljzat nem támogatja az IFTTT -t, és 2. amikor ezt írom, az IFTTT csak 3 kisalkalmazás (automatizálási feladat) ingyenes létrehozását teszi lehetővé, ami csak 1 -hez elegendő készülék.

Ezek a lépések:

1. Hozzon létre két kisalkalmazást az IFTTT -ben a készülék be- és kikapcsolásához a Webhook szolgáltatás használatával. A részletek itt találhatók.

2. Másolja ki az API -kulcsot, és másolja a python -parancsfájlba. Javaslom, hogy biztonsági okokból külön fájlban tárolja.

3. Határozza meg a vezérlő logikát/paramétereket a fő szkriptben.

5. lépés: Eredmények

Eredmények
Eredmények
Eredmények
Eredmények
Eredmények
Eredmények
Eredmények
Eredmények

Rendben, most teszteljük a rendszert.

Az OLED kijelzőn megjelenik az aktuális hőmérséklet, páratartalom és kiszámított levegőminőségi index (AQI). Az utolsó 12 óra minimális és maximális értékét is megjeleníti.

Az AQI néhány napon belüli idősoros adatai érdekes dolgokat mutatnak. Észreveszi az AQI minta hullámzását? Ez naponta kétszer történt, a kis csúcs 12:00 körül, a magas csúcs pedig 19:00 körül van. Nos, sejtette, ekkor főztünk, és sok részecskét szórtunk körbe. Érdekes látni, hogy a napi tevékenységünk hogyan befolyásolja a beltéri környezetet.

Ezenkívül az ábra utolsó hullámzása sokkal rövidebb ideig tartott, mint az előzőek. ekkor adjuk hozzá a légtisztítót a rendszerhez. Az RPi klímaszabályozó PURIFIER_ON kérést küld, ha AQI> 50, és PURIFIER_OFF, ha AQI <20. Láthatja az IFTTT Webhook triggerjét abban az időben.

6. lépés: Következtetés

Ez az!

Az összegyűjtött adatok felhasználhatók a légmelegítők, hűtők, (de) párásítók stb. Vezérlésére is. Csak vásárolnia kell több okos aljzatot, és minden régi készülék "okos" lesz.

Ha sok készüléket szeretne irányítani, akkor alaposan meg kell fontolnia, hogy melyik otthoni automatizálási szolgáltatást kívánja használni. Erősen javaslom egy nyílt forráskódú otthoni automatizálási platform létrehozását, de ha túl bonyolult, vannak egyszerűbb megoldások, például a Google Assistant és az IFTTT Webhook, vagy a Zigbee intelligens aljzatok használata.

A prototípus teljes megvalósítása megtalálható a Github adattárban:

github.com/vuva/IndoorClimateControl

Érezd jól magad !!!

Ajánlott: