Turinys:
- 1 žingsnis: Aparatūra
- 2 žingsnis: „Raspbery Pi“prijungimas
- 3 veiksmas: duomenų rinkimas iš jutiklių
- 4 veiksmas: namų automatizavimo paslaugos nustatymas
- 5 žingsnis: Rezultatai
- 6 žingsnis: Išvada
Video: „Raspberry Pi“patalpų klimato stebėjimo ir kontrolės sistema: 6 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Žmonės nori jaustis patogiai savo namuose. Kadangi mūsų regiono klimatas gali netikti mums, mes naudojame daug prietaisų, kad palaikytume sveiką patalpų aplinką: šildytuvą, oro aušintuvą, drėkintuvą, sausintuvą, valytuvą ir tt. Šiais laikais įprasta rasti kai kuriuos įrenginius su režimu pajusti aplinką ir valdyti save. Tačiau:
- Daugelis jų yra per brangūs/ neverti pinigų.
- Jų elektros grandines lengviau sulaužyti ir sunkiau pakeisti nei įprastas mechanines dalis
- Prietaisus turi valdyti gamintojo programa. Įprasta, kad jūsų namuose yra keletas išmaniųjų prietaisų ir kiekvienas iš jų turi savo programą. Jų sprendimas yra integruoti programą į tokias platformas kaip „Alexa“, „Google Assistant“ir IFTTT, kad turėtume „centralizuotą“valdiklį.
- Svarbiausia, kad gamintojai turi mūsų duomenis, o „Google“/„Amazon“/IFTTT/etc - mūsų duomenis. Mes ne. Galbūt jums nerūpi privatumas, bet kartais mes visi norėtume pažvelgti į jūsų miegamojo drėgmės modelį, pavyzdžiui, kad nuspręstume, kada atidaryti langus.
Šioje pamokoje aš sukuriu santykinai pigių „Raspberry Pi“pagrįstų patalpų klimato valdiklių prototipą. RPi bendrauja su išoriniais įrenginiais per SPI/I2C/USB sąsajas:
- Atmosferos jutiklis naudojamas temperatūrai, drėgmei ir oro slėgiui surinkti.
- Didelio tikslumo oro kokybės jutiklis pateikia atmosferos kietųjų dalelių (PM2.5 ir PM10) duomenis, naudojamus oro kokybės indeksui (AQI) apskaičiuoti
Valdiklis apdoroja gautus duomenis ir suaktyvina įrenginio veiksmus siunčiant užklausas IFTTT „Webhook“automatizavimo tarnybai, kuri valdo palaikomus „WiFi Smart“kištukus.
Prototipas sukurtas taip, kad būtų galima lengvai pridėti kitų jutiklių, prietaisų ir automatikos paslaugų.
1 žingsnis: Aparatūra
Rekomenduojama aparatūra šiam kūrimui:
- „Raspberry Pi“(bet kokia versija) su „WiFi“. Aš tai kuriu naudodamas RPi B+. „RPi ZeroW“puikiai tiktų ir kainuotų ~ 15 USD
- BME280 jutiklis, skirtas temperatūrai, drėgmei, oro slėgiui ~ 5 $
- A Nova SDS011 didelio tikslumo lazerio PM2.5/PM10 oro kokybės aptikimo jutiklio modulis ~ 25 $
- LED/LCD ekranas. Aš naudoju SSD1305 2,23 colio OLED ekraną ~ 15 $
- Kai kurie „WiFi“/„ZigBee“/„Z-Wave“išmanieji lizdai. 10-20 USD už kiekvieną
- Oro valytuvas, drėkintuvas, sausintuvas, šildytuvas, aušintuvas ir kt. Su mechaniniais jungikliais. Pavyzdžiui, šiai pamokai parengti naudojau pigų oro valytuvą
Aukščiau nurodytos bendros išlaidos yra <100 USD, daug mažesnės nei, tarkime, išmanusis valytuvas, kuris gali lengvai kainuoti 200 USD.
2 žingsnis: „Raspbery Pi“prijungimas
Grandinės schema parodo, kaip prijungti RPi su BME280 jutikliu naudojant I2C sąsają ir OLED ekraną HAT naudojant SPI sąsają.
„Waveshare“OLED skrybėlę galima pritvirtinti prie GPIO, tačiau norint ją bendrinti su kitais išoriniais įrenginiais, reikia GPIO skirstytuvo. Jis gali būti sukonfigūruotas naudoti I2C, lituojant galinėje pusėje esančius rezistorius.
Daugiau informacijos apie SSD1305 OLED HAT rasite čia.
Tiek I2C, tiek SPI sąsajos turi būti įjungtos RPi naudojant:
sudo raspi-config
„Nova SDS011“dulkių jutiklis prijungtas prie RPi per USB prievadą (naudojant serijinį USB adapterį).
3 veiksmas: duomenų rinkimas iš jutiklių
Atmosferos duomenys, kurie atrodo gana paprasti, renkami iš BME280 jutiklio iš „python“scenarijaus.
21 lapkričio 20 d. 19:19:25-INFORMACIJA-kompensuojamas skaitymas (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, laiko žyma = 2020-11-21 19: 19: 25.604317, temperatūra = 20.956 ° C, slėgis = 1019.08 hPa, drėgmė = 49.23 % rH)
Dulkių jutiklio duomenis reikia šiek tiek daugiau apdoroti. Jutiklio modulis įsiurbia kai kuriuos oro mėginius, kad aptiktų kietųjų dalelių, todėl jis turėtų veikti kurį laiką (30 sekundžių), kad būtų gauti patikimi rezultatai. Remdamasis savo pastebėjimu, atsižvelgiu tik į paskutinių 3 mėginių vidurkį. Procesas pasiekiamas šiame scenarijuje.
Lapkričio 21 d., 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9
21 lapkričio 20 d. 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- Lapkričio 20 d. 19:21:13- DEBUG- 3. PM2.5: 2.9, PM10: 6.3 21-lap-20 19:21:15- DEBUG- 4. PM2.5: 3.0, PM10: 6.2 lapkričio 21 d. 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21 lapkričio 20 d. 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21 lapkritis 21: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21 lapkričio 20 d. 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 Lapkričio 21 d. 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 Lapkričio 21 d. 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 Lapkričio 21 d. 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 Lapkričio 21 d. 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 Lapkričio 21 d. 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 Lapkričio 21 d. 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1
Dulkių jutiklis pateikia tik PM2.5 ir PM10 indeksus. Norėdami apskaičiuoti AQI, mums reikia python-aqi modulio:
aqi_index = aqi.to_aqi ([((aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])
Duomenų rinkimas, rodymas ir prietaiso valdymas vykdomi vienu metu ir asinchroniškai. Duomenys išsaugomi vietinėje duomenų bazėje. Mums nereikia jų dažnai paleisti, jei aplinka nesikeičia per greitai. Man pakanka 15 minučių intervalo. Be to, dulkių jutiklio modulis kaupia dulkes viduje, todėl neturėtume jų per daug naudoti, kad išvengtume valymo užduoties.
4 veiksmas: namų automatizavimo paslaugos nustatymas
Yra daug namų automatizavimo platformų, todėl turėtumėte įdiegti platformą, kurią palaiko jūsų turimas išmanusis lizdas. Jei jums rūpi privatumas, turėtumėte sukurti savo sistemą. Priešingu atveju galite naudoti populiarias platformas, kurias palaiko dauguma „WiFi“išmaniųjų lizdų: „Google Assistant“, „Alexa“arba IFTTT. Pabandykite pasirinkti lizdo platformą su API, su kuria galėtumėte bendrauti („Webhook“puikiai tinka šiam tikslui)
Šioje pamokoje naudoju IFTTT, nes ją labai lengva naudoti net pradedantiesiems. Tačiau atminkite, kad: 1. yra daug išmaniųjų lizdų, kurie nepalaiko IFTTT, ir 2. tuo metu, kai rašau tai, IFTTT leidžia nemokamai sukurti tik 3 programėles (automatizavimo užduotis), kurių užtenka tik 1 prietaisas.
Tai yra šie veiksmai:
1. Naudodami „Webhook“paslaugą, IFTTT sukurkite dvi programėles, skirtas įjungti ir išjungti prietaisą. Išsamią informaciją rasite čia.
2. Nukopijuokite API raktą ir nukopijuokite jį į „python“scenarijų. Saugumo sumetimais siūlyčiau jį laikyti atskirame faile.
3. Apibrėžkite valdymo logiką/parametrus pagrindiniame scenarijuje.
5 žingsnis: Rezultatai
Gerai, dabar mes išbandome sistemą.
OLED ekrane rodoma dabartinė temperatūra, drėgmė ir apskaičiuotas oro kokybės indeksas (AQI). Taip pat rodoma minimali ir maksimali vertė per pastarąsias 12 valandų.
AQI laiko eilučių duomenys per kelias dienas rodo kažką įdomaus. Ar pastebėjote AQI modelio šuolius? Tai atsitiko du kartus per dieną, maža smailė apie 12:00, o aukščiausia - apie 19:00. Na, jūs atspėjote, kad tada mes gaminame maistą, paskleisdami aplinkui daug kietųjų dalelių. Įdomu pamatyti, kaip mūsų kasdienė veikla veikia patalpų aplinką.
Be to, paskutinis figūros šuolis truko daug trumpiau nei ankstesni. tada į sistemą pridedame oro valytuvą. RPi klimato reguliatorius siunčia PURIFIER_ON užklausą, kai AQI> 50, ir PURIFIER_OFF, kai AQI <20. Tuo metu galite pamatyti IFTTT „Webhook“aktyviklį.
6 žingsnis: Išvada
Viskas!
Surinkti duomenys taip pat gali būti naudojami oro šildytuvams, aušintuvams, (de) drėkintuvams ir pan. Valdyti. Jums tereikia nusipirkti daugiau išmaniųjų lizdų ir kiekvienas senas prietaisas taps „protingas“.
Jei norite valdyti daugelį prietaisų, gali tekti gerai apsvarstyti, kuria namų automatikos paslauga norite naudotis. Aš labai siūlyčiau sukurti atviro kodo namų automatizavimo platformą, tačiau jei tai per daug sudėtinga, yra paprastesnių sprendimų, tokių kaip „Google Assistant“ir „IFTTT Webhook“, arba naudojant išmaniuosius „Zigbee“lizdus.
Visą šio prototipo įgyvendinimą galite rasti „Github“saugykloje:
github.com/vuva/IndoorClimateControl
Pasilinksmink !!!
Rekomenduojamas:
Grybų klimato dėžutė: 7 žingsniai (su nuotraukomis)
Grybų klimato dėžutė: Sveiki! Aš sukūriau klimato dėžę grybams auginti. Jis gali reguliuoti temperatūrą ir drėgmę. Šildymas arba aušinimas veikia su peltier elementu. Oro drėgmė padidinama naudojant ultragarsinį purkštuvą. Aš sukūriau viską modulinį
Temperatūros pokyčių grafikas nuo klimato kaitos „Python“: 6 žingsniai
Temperatūros pokyčių grafikas pagal Python klimato kaitą: Klimato kaita yra didelė problema. Ir dabar daugelis žmonių nežino, kiek jis pakilo. Šioje instrukcijoje mes grafikuosime klimato temperatūros pokyčius dėl klimato kaitos. Norėdami gauti apgaulės lapą, galite peržiūrėti žemiau esantį „python“failą
„Raspberry Pi“pagrįsta patalpų klimato stebėjimo sistema: 6 žingsniai
„Raspberry Pi“pagrįsta patalpų klimato stebėjimo sistema: perskaitykite šį tinklaraštį ir sukurkite savo sistemą, kad galėtumėte gauti įspėjimus, kai jūsų kambarys yra per sausas ar drėgnas. Kas yra patalpų klimato stebėjimo sistema ir kodėl mums jos reikia? greitai pažvelgti į svarbiausias klimato sąlygas
Paprasta drumstumo stebėjimo ir kontrolės sistema dumbliams: 4 žingsniai
Paprasta drumstumo stebėsenos ir kontrolės sistema dumbliams: Tarkime, kad jums nuobodu imti vandens mėginius drumstumui matuoti - tai bendras terminas, nurodantis visas mažas, suspenduotas daleles vandenyje, o tai sumažina šviesos intensyvumą didėjant šviesos keliui arba didesnei dalelei koncentracija arba abu
„Arduino“klimato monitorius: 5 žingsniai (su nuotraukomis)
„Arduino“klimato monitorius: Taigi, gyvendamas mieste, kuriame yra didelės sąskaitos už elektrą, norėjau sumažinti kasmet išleidžiamas sumas, bet tikrai nenoriu gyventi nepatogiai šiltoje ar šaltoje patalpoje. Aš taip pat turėjau tikrą aistrą pasyviam namų klimato dizainui ir padariau bi