Sisällysluettelo:

Raspberry Pi Sisäilman seuranta- ja säätöjärjestelmä: 6 vaihetta
Raspberry Pi Sisäilman seuranta- ja säätöjärjestelmä: 6 vaihetta

Video: Raspberry Pi Sisäilman seuranta- ja säätöjärjestelmä: 6 vaihetta

Video: Raspberry Pi Sisäilman seuranta- ja säätöjärjestelmä: 6 vaihetta
Video: Equipment Corner- OctoPrint configuration 2024, Marraskuu
Anonim
Raspberry Pi Sisäilman seuranta- ja ohjausjärjestelmä
Raspberry Pi Sisäilman seuranta- ja ohjausjärjestelmä
Raspberry Pi Sisäilman seuranta- ja ohjausjärjestelmä
Raspberry Pi Sisäilman seuranta- ja ohjausjärjestelmä

Ihmiset haluavat viihtyä kotonaan. Koska alueemme ilmasto ei ehkä sovi itsellemme, käytämme monia laitteita terveen sisäympäristön ylläpitämiseksi: lämmitin, ilmanjäähdytin, ilmankostutin, ilmankuivain, puhdistin jne. Nykyään on yleistä löytää joitakin laitteita, jotka on varustettu automaattisella tilassa, jotta voit tunnistaa ympäristön ja hallita itseäsi. Kuitenkin:

  • Monet heistä ovat ylihinnoiteltuja/ eivät rahan arvoisia.
  • Niiden sähköpiirit on helpompi rikkoa ja vaikeampi vaihtaa kuin perinteiset mekaaniset osat
  • Laitteiden on oltava valmistajan sovelluksen hallinnoimia. On tavallista, että talossasi on muutamia älykkäitä laitteita, ja jokaisella niistä on oma sovellus. Heidän ratkaisunsa on integroida sovellus alustoille, kuten Alexa, Google Assistant ja IFTTT, jotta meillä on "keskitetty" ohjain
  • Tärkeintä on, että valmistajilla on tietomme ja Google/Amazon/IFTTT/jne. Emme. Et ehkä välitä yksityisyydestä, mutta joskus me kaikki ehkä haluamme tarkastella makuuhuoneesi kosteuskuviota esimerkiksi päättääksemme milloin avata ikkunat.

Tässä opetusohjelmassa rakennan prototyypin suhteellisen edullisista Raspberry Pi -pohjaisista sisäilmastointilaitteista. RPi kommunikoi oheislaitteiden kanssa SPI/I2C/USB -liitännän kautta:

  • Ilmakehäanturia käytetään lämpötilan, kosteuden ja ilmanpaineen keräämiseen.
  • Erittäin tarkka ilmanlaatutunnistin tarjoaa ilmakehän hiukkas- (PM2.5- ja PM10) -tiedot, joita käytetään ilmanlaatuindeksin (AQI) laskemiseen

Ohjain käsittelee hankittuja tietoja ja käynnistää laitteen toimintoja lähettämällä pyynnöt IFTTT Webhook -automaatiopalvelulle, joka ohjaa tuettuja WiFi Smart -liittimiä.

Prototyyppi on rakennettu siten, että siihen voidaan helposti lisätä muita antureita, laitteita ja automaatiopalveluja.

Vaihe 1: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

Suositeltu laitteisto tämän rakentamiseen:

  1. Raspberry Pi (mikä tahansa versio), jossa on WiFi. Rakennan tämän RPi B+: lla. RPi ZeroW toimisi hienosti ja maksoi ~ 15 dollaria
  2. BME280 -anturi lämpötilalle, kosteudelle, ilmanpaineelle ~ 5 $
  3. A Nova SDS011 High Precision Laser PM2.5/PM10 ilmanlaadun tunnistusmoduuli ~ 25 $
  4. LED/LCD -näyttö. Käytin SSD1305 2,23 tuuman OLED -näyttöä ~ 15 $
  5. Jotkut WiFi/ZigBee/Z-Wave Smart -liitännät. 10-20 dollaria kappale
  6. Ilmanpuhdistin, ilmankostutin, ilmankuivain, lämmitin, jäähdytin jne. Mekaanisilla kytkimillä. Esimerkiksi käytin halpaa ilmanpuhdistinta tämän opetusohjelman tekemiseen

Yllä olevat kokonaiskustannukset ovat <100 dollaria, paljon vähemmän kuin esimerkiksi älykäs puhdistin, joka voisi helposti maksaa 200 dollaria.

Vaihe 2: Raspbery Pi: n kytkentä

Raspbery Pi: n kytkentä
Raspbery Pi: n kytkentä

Kytkentäkaavio osoittaa, kuinka RPi kytketään BME280 -anturilla I2C -liitännän avulla ja OLED -näyttö HAT SPI -liitännän avulla.

Waveshare OLED HAT voidaan kiinnittää GPIO: n päälle, mutta tarvitset GPIO -jakajan jakaaksesi sen muiden oheislaitteiden kanssa. Se voitaisiin konfiguroida käyttämään I2C: tä juottamalla takana olevat vastukset.

Lisätietoja SSD1305 OLED HATista löytyy täältä.

Sekä I2C- että SPI -rajapinnat on otettava käyttöön RPi: ssä seuraavilla tavoilla:

sudo raspi-config

Nova SDS011 -pölyanturi on kytketty RPi: hen USB-portin kautta (sarja-USB-sovittimella).

Vaihe 3: Tietojen kerääminen antureilta

Ilmakehän tiedot, jotka näyttävät melko yksinkertaisilta, kerätään BME280 -anturista python -komentosarjasta.

21. marraskuuta 20 19:19:25-INFO-kompensoitu lukema (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, aikaleima = 2020-11-21 19: 19: 25.604317, lämpötila = 20.956 ° C, paine = 1019.08 hPa, kosteus = 49.23 % rH)

Pölyanturin tiedot tarvitsevat hieman enemmän käsittelyä. Anturimoduuli imee joitakin ilmanäytteitä havaitakseen hiukkaset, joten sen pitäisi toimia jonkin aikaa (30 sekuntia) saadakseen luotettavia tuloksia. Havaintoni perusteella otan huomioon vain kolmen viimeisen näytteen keskiarvon. Prosessi on saatavilla tässä skriptissä.

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

21-marras-20 19:21:09- DEBUG- 1. PM2.5: 2.9, PM10: 6.0 21-marras-20 19:21:11- DEBUG- 2. PM2.5: 2.9, PM10: 6.0 21- 20. marraskuuta 19:21:13- VAHVISTUS- 3. PM2.5: 2.9, PM10: 6.3 21. marraskuuta 20:21:15- DEBUG- 4. PM2.5: 3.0, PM10: 6.2 21. marraskuuta- 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21. marras -20 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21. marraskuuta 20 19: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21. marras -20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21. marras -20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21. marraskuuta -20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21. marras -20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21. marras -20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21. marras -20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21. marras -20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Pölyanturi tarjoaa vain PM2.5- ja PM10-indeksit. AQI: n laskemiseksi tarvitsemme python-aqi-moduulin:

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

Tietojen kerääminen, näyttäminen ja laitteen ohjaus suoritetaan samanaikaisesti ja asynkronisesti. Tiedot tallennetaan paikalliseen tietokantaan. Meidän ei tarvitse käyttää niitä usein, jos ympäristö ei muutu liian nopeasti. Minulle 15 minuutin väliaika riittää. Lisäksi pölyanturimoduuli kerää pölyä sisälle, joten meidän ei pitäisi käyttää sitä liikaa puhdistustehtävän välttämiseksi.

Vaihe 4: Koti -automaatiopalvelun määrittäminen

Koti -automaatiopalvelun määrittäminen
Koti -automaatiopalvelun määrittäminen
Koti -automaatiopalvelun määrittäminen
Koti -automaatiopalvelun määrittäminen

Siellä on monia kodin automaatioalustoja, ja niiden pitäisi asentaa alusta, jota älykkäät pistorasiat tukevat. Jos pidät yksityisyydestä, sinun on otettava käyttöön oma järjestelmä. Muussa tapauksessa voit käyttää suosittuja alustoja, joita useimmat WiFi -älypistorasiat tukevat: Google Assistant, Alexa tai IFTTT. Yritä valita pistorasia -alusta, jossa on sovellusliittymä vuorovaikutukseen (Webhook on täydellinen tähän tarkoitukseen)

Käytän IFTTT: tä tässä opetusohjelmassa, koska sitä on erittäin helppo käyttää myös aloittelijoille. Huomaa kuitenkin, että: 1. on monia älykkäitä pistorasioita, jotka eivät tue IFTTT: tä, ja 2. kirjoittaessani tätä, IFTTT sallii sinun luoda vain 3 applettia (automaatiotehtävät) ilmaiseksi, mikä riittää vain yhdelle laite.

Nämä ovat vaiheet:

1. Luo IFTTT: ssä kaksi applettia laitteen kytkemiseksi päälle ja pois päältä Webhook -palvelun avulla. Yksityiskohdat löytyvät täältä.

2. Kopioi API -avain ja kopioi se python -komentosarjaan. Suosittelen säilyttämään sen erillisessä tiedostossa turvallisuussyistä.

3. Määritä ohjauslogiikka/parametrit pääskriptissä.

Vaihe 5: Tulokset

Tulokset
Tulokset
Tulokset
Tulokset
Tulokset
Tulokset
Tulokset
Tulokset

OK, nyt testataan järjestelmää.

OLED -näytössä näkyy nykyinen lämpötila-, kosteus- ja laskettu ilmanlaatuindeksi (AQI). Se näyttää myös vähimmäis- ja enimmäisarvon viimeisten 12 tunnin aikana.

AQI: n aikasarjatiedot muutamassa päivässä osoittavat jotain mielenkiintoista. Huomaatko AQI -kuvion nousut? Se tapahtui kahdesti päivässä, pieni huippu noin klo 12.00 ja korkein huippu on noin klo 19.00. No, arvasit sen, silloin teimme ruokaa, levittäen ympärille paljon hiukkasia. On mielenkiintoista nähdä, miten päivittäinen toiminta vaikuttaa sisäympäristöön.

Lisäksi luvun viimeinen nousu kesti paljon lyhyempi kuin edelliset. silloin lisäämme järjestelmään ilmanpuhdistimen. RPi -ilmastointilaite lähettää PURIFIER_ON -pyynnön, kun AQI> 50 ja PURIFIER_OFF, kun AQI <20. Näet IFTTT Webhook -liipaisimen tuolloin.

Vaihe 6: Johtopäätös

Se siitä!

Kerättyjä tietoja voidaan käyttää myös ilmanlämmittimien, jäähdyttimien, (de) ilmankostuttimien jne. Ohjaamiseen. Sinun tarvitsee vain ostaa lisää älykkäitä pistorasioita ja jokainen vanha laite tulee "älykkääksi".

Jos haluat hallita monia laitteita, sinun on ehkä harkittava huolellisesti, mitä kodin automaatiopalvelua haluat käyttää. Suosittelen lämpimästi avoimen lähdekoodin kodin automaatioalustan perustamista, mutta jos se on liian monimutkainen, on olemassa yksinkertaisempia ratkaisuja, kuten Google Assistant ja IFTTT Webhook, tai Zigbee-älykkäitä pistorasioita.

Tämän prototyypin täydellinen toteutus löytyy Github -arkistosta:

github.com/vuva/IndoorClimateControl

Pidä hauskaa !!!

Suositeltava: