Satura rādītājs:

Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma: 6 soļi
Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma: 6 soļi

Video: Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma: 6 soļi

Video: Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma: 6 soļi
Video: Kurus VELUX produktus var kontrolēt ar VELUX Active? 2024, Decembris
Anonim
Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma
Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma
Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma
Raspberry Pi iekštelpu klimata uzraudzības un kontroles sistēma

Cilvēki vēlas justies ērti savā mājā. Tā kā mūsu apkārtnes klimats var nebūt piemērots mums, mēs izmantojam daudzas ierīces, lai uzturētu veselīgu iekštelpu vidi: sildītāju, gaisa dzesētāju, mitrinātāju, sausinātāju, attīrītāju utt. Mūsdienās ir ierasts atrast dažas ierīces, kas aprīkotas ar automātisko režīmā, lai sajustu vidi un kontrolētu sevi. Tomēr:

  • Daudzi no tiem ir pārāk dārgi/ nav naudas vērti.
  • Viņu elektriskās ķēdes ir vieglāk salauzt un grūtāk nomainīt nekā parastās mehāniskās detaļas
  • Ierīces jāpārvalda ražotāja lietotnē. Mājās parasti ir dažas viedās ierīces, un katrai no tām ir sava lietotne. Viņu risinājums ir integrēt lietotni tādās platformās kā Alexa, Google palīgs un IFTTT, lai mums būtu "centralizēts" kontrolieris
  • Vissvarīgākais ir tas, ka ražotājiem ir mūsu dati, un Google/Amazon/IFTTT/etc ir mūsu dati. Mums nav. Jums, iespējams, nerūp privātums, bet dažreiz mēs visi varētu vēlēties apskatīt jūsu guļamistabas mitruma modeli, piemēram, lai izlemtu, kurā laikā atvērt logus.

Šajā apmācībā es izveidoju salīdzinoši zemu izmaksu iekštelpu klimata kontroliera Raspberry Pi bāzes prototipu. RPi sazinās ar perifērijas ierīcēm, izmantojot SPI/I2C/USB saskarnes:

  • Lai savāktu temperatūru, mitrumu un gaisa spiedienu, tiek izmantots atmosfēras sensors.
  • Augstas precizitātes gaisa kvalitātes sensors nodrošina atmosfēras daļiņu (PM2.5 un PM10) datus, ko izmanto, lai aprēķinātu gaisa kvalitātes indeksu (AQI)

Kontrolieris apstrādā iegūtos datus un aktivizē ierīces darbības, nosūtot pieprasījumus IFTTT Webhook automatizācijas pakalpojumam, kas kontrolē atbalstītos WiFi Smart spraudņus.

Prototips ir veidots tā, lai varētu viegli pievienot citus sensorus, ierīces un automatizācijas pakalpojumus.

1. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Ieteicamā aparatūra, lai to izveidotu:

  1. Raspberry Pi (jebkura versija) ar WiFi. Es to izveidoju, izmantojot RPi B+. RPi ZeroW darītu lieliski un maksātu ~ 15 USD
  2. BME280 sensors temperatūrai, mitrumam, gaisa spiedienam ~ 5 $
  3. A Nova SDS011 augstas precizitātes lāzers PM2.5/PM10 gaisa kvalitātes noteikšanas sensora modulis ~ 25 $
  4. LED/LCD displejs. Es izmantoju SSD1305 2,23 collu OLED ekrānu ~ 15 $
  5. Daži WiFi/ZigBee/Z-Wave viedie ligzdas. 10-20 USD par katru
  6. Gaisa attīrītājs, mitrinātājs, sausinātājs, sildītājs, dzesētājs utt. Ar mehāniskiem slēdžiem. Piemēram, šīs apmācības sagatavošanai es izmantoju lētu gaisa attīrītāju

Iepriekš minētās kopējās izmaksas ir <100 USD, kas ir daudz mazāk nekā, piemēram, viedais attīrītājs, kas varētu viegli maksāt 200 USD.

2. solis: Raspbery Pi savienošana

Raspbery Pi savienošana
Raspbery Pi savienošana

Shēmas shēma parāda, kā savienot RPi ar BME280 sensoru, izmantojot I2C saskarni, un OLED displeju HAT, izmantojot SPI saskarni.

Waveshare OLED HAT varētu piestiprināt virs GPIO, taču, lai to kopīgotu ar citām perifērijas ierīcēm, ir nepieciešams GPIO sadalītājs. To var konfigurēt, lai izmantotu I2C, lodējot rezistorus aizmugurē.

Plašāku informāciju par SSD1305 OLED CAT var atrast šeit.

Gan I2C, gan SPI saskarnes ir jāiespējo RPi ar:

sudo raspi-config

Putekļu sensors Nova SDS011 ir savienots ar RPi, izmantojot USB portu (ar seriālā USB adapteri).

3. darbība: datu vākšana no sensoriem

Atmosfēras dati, kas izskatās diezgan vienkārši, tiek savākti no BME280 sensora no python skripta.

21. novembris-20 19:19:25-INFO-kompensēta_lasīšana (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, laika zīmogs = 2020-11-21 19: 19: 25.604317, temperatūra = 20,956 ° C, spiediens = 1019,08 hPa, mitrums = 49,23 % rH)

Putekļu sensora dati ir jāapstrādā nedaudz vairāk. Sensora modulis iesūc dažus gaisa paraugus, lai noteiktu daļiņas, tāpēc tam vajadzētu darboties kādu laiku (30 sekundes), lai iegūtu ticamus rezultātus. No mana novērojuma es ņemu vērā tikai pēdējo 3 paraugu vidējo. Process ir pieejams šajā skriptā.

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

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

Putekļu sensors nodrošina tikai PM2.5 un PM10 indeksu. Lai aprēķinātu AQI, mums ir nepieciešams python-aqi modulis:

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

Datu vākšana, attēlošana un ierīces kontrole tiek veikta vienlaikus un asinhroni. Dati tiek saglabāti vietējā datu bāzē. Mums nav nepieciešams tos bieži palaist, ja vide nemainās pārāk ātri. Man pietiek ar 15 minūšu intervālu. Turklāt putekļu sensora modulī uzkrājas putekļi, tāpēc mums nevajadzētu tos pārmērīgi izmantot, lai izvairītos no tīrīšanas.

4. darbība. Mājas automatizācijas pakalpojuma iestatīšana

Mājas automatizācijas pakalpojuma iestatīšana
Mājas automatizācijas pakalpojuma iestatīšana
Mājas automatizācijas pakalpojuma iestatīšana
Mājas automatizācijas pakalpojuma iestatīšana

Ir daudz mājas automatizācijas platformu, un tām vajadzētu instalēt platformu, kuru atbalsta jūsu viedā kontaktligzda. Ja jums rūp privātums, jums vajadzētu izveidot savu sistēmu. Pretējā gadījumā varat izmantot populārās platformas, kuras atbalsta lielākā daļa WiFi viedo ligzdu: Google palīgs, Alexa vai IFTTT. Mēģiniet izvēlēties kontaktligzdas platformu ar API, ar kuru mijiedarboties (Webhook ir ideāls šim nolūkam)

Šajā apmācībā es izmantoju IFTTT, jo to ir ļoti viegli lietot pat iesācējiem. Bet ņemiet vērā, ka: 1. ir daudz viedo kontaktligzdu, kas neatbalsta IFTTT, un 2. brīdī, kad to rakstu, IFTTT ļauj bez maksas izveidot tikai 3 sīklietotnes (automatizācijas uzdevumus), ar ko pietiek tikai 1 ierīce.

Šie ir soļi:

1. Izmantojot Webhook pakalpojumu, IFTTT izveidojiet divas sīklietotnes ierīces ieslēgšanai un izslēgšanai. Sīkāka informācija atrodama šeit.

2. Kopējiet API atslēgu un nokopējiet to python skriptā. Es ieteiktu drošības apsvērumu dēļ to saglabāt atsevišķā failā.

3. Definējiet vadības loģiku/parametrus galvenajā skriptā.

5. darbība. Rezultāti

Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti
Rezultāti

Labi, tagad mēs pārbaudām sistēmu.

OLED displejs parāda pašreizējo temperatūru, mitrumu un aprēķināto gaisa kvalitātes indeksu (AQI). Tas arī parāda minimālo un maksimālo vērtību pēdējo 12 stundu laikā.

AQI laikrindu dati dažās dienās parāda kaut ko interesantu. Ievērojiet AQI modeļa pieaugumu? Tas notika divas reizes dienā, mazā virsotne ap pulksten 12:00 un augstākā virsotne ir ap pulksten 19:00. Nu, jūs uzminējāt, tas bija tad, kad gatavojām, apkārt izklīdinot daudz daļiņu. Ir interesanti redzēt, kā mūsu ikdienas aktivitātes ietekmē iekštelpu vidi.

Arī pēdējais skaitļa pieaugums ilga daudz īsāk nekā iepriekšējie. tas ir, kad mēs pievienojam sistēmā gaisa attīrītāju. RPi klimata kontrolieris nosūta PURIFIER_ON pieprasījumu, ja AQI> 50, un PURIFIER_OFF, ja AQI <20. Tajā laikā varat redzēt IFTTT Webhook aktivizētāju.

6. darbība. Secinājums

Tieši tā!

Savāktos datus var izmantot arī, lai kontrolētu gaisa sildītājus, dzesētājus, (de) mitrinātājus utt. Jums vienkārši jāpērk vairāk viedo kontaktligzdu, un katra vecā ierīce kļūs "gudra".

Ja vēlaties kontrolēt daudzas ierīces, iespējams, jums rūpīgi jāizvērtē, kuru mājas automatizācijas pakalpojumu vēlaties izmantot. Es ļoti ieteiktu izveidot atvērtā pirmkoda mājas automatizācijas platformu, taču, ja tā ir pārāk sarežģīta, ir pieejami vienkāršāki risinājumi, piemēram, Google palīgs un IFTTT Webhook, vai izmantot Zigbee viedās ligzdas.

Pilnu šī prototipa ieviešanu var atrast Github krātuvē:

github.com/vuva/IndoorClimateControl

Izklaidējieties !!!

Ieteicams: