INHOUDSOPGAWE:

Raspberry Pi -monitor- en beheerstelsel vir binneklimaat: 6 stappe
Raspberry Pi -monitor- en beheerstelsel vir binneklimaat: 6 stappe

Video: Raspberry Pi -monitor- en beheerstelsel vir binneklimaat: 6 stappe

Video: Raspberry Pi -monitor- en beheerstelsel vir binneklimaat: 6 stappe
Video: Сборка органов управления системой отопления, вентиляции и кондиционирования! #шорты 2024, November
Anonim
Raspberry Pi -monitor- en beheerstelsel vir binneklimaat
Raspberry Pi -monitor- en beheerstelsel vir binneklimaat
Raspberry Pi -stelsel vir monitering en beheer van binneklimaat
Raspberry Pi -stelsel vir monitering en beheer van binneklimaat

Mense wil gemaklik voel in hul huis. Aangesien die klimaat in ons omgewing moontlik nie by ons pas nie, gebruik ons baie toestelle om 'n gesonde binnenshuise omgewing te handhaaf: verwarmer, lugverkoeler, lugbevochtiger, ontvochtiger, suiweraar, ens. manier om die omgewing te voel en hulself te beheer. Maar:

  • Baie van hulle is te duur/ nie die geld werd nie.
  • Hulle elektriese stroombane is makliker om te breek en moeiliker om te vervang as konvensionele meganiese onderdele
  • Die toestelle moet bestuur word deur die vervaardiger se app. Dit is algemeen dat 'n paar slim toestelle in u huis is, en elkeen het sy eie app. Hulle oplossing is om die app op platforms soos Alexa, Google Assistant en IFTTT te integreer sodat ons 'n 'gesentraliseerde' beheerder het
  • Die belangrikste is dat die vervaardigers ons data het, en Google/Amazon/IFTTT/etc het ons data. Ons doen nie. U gee miskien nie om vir privaatheid nie, maar soms wil ons almal byvoorbeeld kyk na die humiditeitspatroon van u slaapkamer, om te besluit op watter tydstip u die vensters moet oopmaak.

In hierdie tutoriaal bou ek 'n prototipe van 'n relatief goedkoop Raspberry Pi-gebaseerde binneklimaatbeheerder. Die RPi kommunikeer met die randapparatuur via SPI/I2C/USB -koppelvlakke:

  • 'N Atmosferiese sensor word gebruik om temperatuur, humiditeit en lugdruk te versamel.
  • 'N Luggehalte -sensor met 'n hoë presisie verskaf data van atmosferiese deeltjies (PM2.5 en PM10) wat gebruik word om die lugkwaliteitindeks (AQI) te bereken

Die beheerder verwerk data en aktiveer toestelaksies deur versoeke na die IFTTT Webhook -outomatiseringsdiens te stuur wat ondersteunde WiFi Smart -proppe beheer.

Die prototipe is so gebou dat u maklik ander sensors, toestelle en outomatiseringsdienste kan byvoeg.

Stap 1: Hardeware

Hardeware
Hardeware
Hardeware
Hardeware
Hardeware
Hardeware

Die aanbevole hardeware om dit te bou:

  1. 'N Framboos Pi (enige weergawe) met WiFi. Ek bou dit met behulp van RPi B+. RPi ZeroW sou goed doen en ongeveer $ 15 kos
  2. 'N BME280 -sensor vir temperatuur, humiditeit, lugdruk ~ 5 $
  3. 'N Nova SDS011 hoë -presisie laser PM2.5/PM10 module vir die opsporing van luggehalte sensor ~ 25 $
  4. 'N LED/LCD -skerm. Ek het die SSD1305 2,23 duim OLED -skerm ~ 15 $ gebruik
  5. Sommige WiFi/ZigBee/Z-Wave slimaansluitings. 10-20 dollar elk
  6. Lugreiniger, bevochtiger, ontvochtiger, verwarmer, koeler, ens. Met meganiese skakelaars. Ek het byvoorbeeld 'n goedkoop lugreiniger gebruik om hierdie handleiding te maak

Bogenoemde totale koste is <100 $, baie minder as byvoorbeeld 'n slim reiniger wat maklik 200 $ kan kos.

Stap 2: Verbind die Raspbery Pi

Bedrading van die Raspbery Pi
Bedrading van die Raspbery Pi

Die stroombaan -diagram toon hoe om die RPi met die BME280 -sensor met 'n I2C -koppelvlak en 'n OLED -skermhoed met 'n SPI -koppelvlak te bedraad.

Die Waveshare OLED -hoed kan bo -op die GPIO aangeheg word, maar u benodig 'n GPIO -splitter om dit met ander randapparatuur te deel. Dit kan gekonfigureer word om I2C te gebruik deur die weerstande aan die agterkant te soldeer.

Meer inligting oor die SSD1305 OLED -hoed kan hier gevind word.

Beide I2C- en SPI -koppelvlakke moet in RPi geaktiveer word met:

sudo raspi-config

Die Nova SDS011 stofsensor is via 'n USB-poort aan RPi gekoppel (met 'n seriële USB-adapter).

Stap 3: Versamel data van die sensors

Die atmosferiese data, wat redelik eenvoudig lyk, word versamel vanaf die BME280 -sensor uit die luislang.

21-Nov-20 19:19:25-INFO-compensated_reading (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, tydstempel = 2020-11-21 19: 19: 25.604317, temp = 20.956 ° C, druk = 1019.08 hPa, humiditeit = 49.23 % rH)

Die data van die stofsensor benodig 'n bietjie meer verwerking. Die sensormodule suig 'n paar lugmonsters in om deeltjies op te spoor, so dit behoort 'n rukkie (30s) te loop om betroubare resultate te kry. Uit my waarneming neem ek slegs die gemiddelde van die laaste 3 monsters in ag. Die proses is beskikbaar in hierdie skrif.

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

21-Nov-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- 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-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 -Nov -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21 -Nov -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 -Nov -20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Die stofsensor verskaf slegs PM2.5 en PM10 indeks. Om AQI te bereken, benodig ons die python-aqi module:

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

Data -insameling, vertoon en toestellebeheer word gelyktydig en asynchroon uitgevoer. Data word in 'n plaaslike databasis gestoor. Ons hoef dit nie gereeld uit te voer as die omgewing nie te vinnig verander nie. Vir my is 15 minute interval tyd genoeg. Verder versamel die stofsensormodule stof binne -in, sodat ons dit nie te veel moet gebruik om die skoonmaaktaak te vermy nie.

Stap 4: Die oprigting van tuisautomatiseringsdiens

Die oprigting van tuisautomatiseringsdiens
Die oprigting van tuisautomatiseringsdiens
Die oprigting van tuisautomatiseringsdiens
Die oprigting van tuisautomatiseringsdiens

Daar is baie tuisautomatiseringsplatforms wat die platform moet installeer wat ondersteun word deur die slimaansluiting wat u het. As u privaatheid aangaan, moet u u eie stelsel opstel. Andersins kan u die gewilde platforms gebruik wat deur die meeste WiFi -slimkaste ondersteun word: Google Assistant, Alexa of IFTTT. Probeer die socket -platform kies met 'n API om mee te werk (Webhook is ideaal vir hierdie doel)

Ek gebruik IFTTT in hierdie handleiding, want dit is baie maklik om te gebruik, selfs vir nuwelinge. Maar wees bewus daarvan dat: 1. daar baie slim -voetstukke is wat nie IFTTT ondersteun nie, en 2. Op die oomblik dat ek dit skryf, kan u met IFTTT slegs 3 applets (outomatiseringstake) gratis maak, wat slegs genoeg is vir 1 toestel.

Dit is die stappe:

1. Skep twee applets in IFTTT om die toestel aan en uit te skakel met behulp van Webhook -diens. Die besonderhede kan hier gevind word.

2. Kopieer die API -sleutel en kopieer dit na die python -script. Ek beveel aan dat u dit in 'n aparte lêer hou om veiligheidsredes.

3. Definieer die kontrolelogika/parameters in die hoofskrif.

Stap 5: Resultate

Resultate
Resultate
Resultate
Resultate
Resultate
Resultate
Resultate
Resultate

OK, nou toets ons die stelsel.

Die OLED -skerm toon die huidige temperatuur, humiditeit en berekende luggehalte -indeks (AQI). Dit wys ook die minimum en maksimum waarde van die afgelope 12 uur.

Die tydreeksdata van die AQI oor 'n paar dae toon iets interessants. Let op die oplewing in die AQI -patroon? Dit het twee keer per dag gebeur, die klein piek omstreeks 12:00 en die hoogtepunt is ongeveer 19:00. Wel, jy het al geraai, dit was toe ons kook en baie deeltjies versprei het. Dit is interessant om te sien hoe ons daaglikse aktiwiteite die binnenshuise omgewing beïnvloed.

Die laaste styging in die syfer het ook baie korter geduur as die vorige. dit is wanneer ons die lugreiniger by die stelsel voeg. Die RPi -klimaatbeheerder stuur PURIFIER_ON -versoek wanneer AQI> 50 en PURIFIER_OFF wanneer AQI <20. U kan die IFTTT Webhook -sneller op daardie tydstip sien.

Stap 6: Gevolgtrekking

Dis dit!

Die versamelde data kan ook gebruik word om lugverwarmers, verkoelers, (de) bevochtigers, ens. Te beheer. U hoef net meer slim voetstukke te koop, en elke ou toestel word 'slim'.

As u baie toestelle wil beheer, moet u moontlik deeglik oorweeg watter tuisautomatiseringsdiens u wil gebruik. Ek beveel sterk aan dat u 'n open-source tuisautomatiseringsplatform instel, maar as dit te ingewikkeld is, is daar eenvoudiger oplossings, soos Google Assistant en IFTTT Webhook, of die gebruik van Zigbee-slimkaste.

Die volledige implementering van hierdie prototipe kan gevind word in die Github -bewaarplek:

github.com/vuva/IndoorClimateControl

Hê pret !!!

Aanbeveel: