Talaan ng mga Nilalaman:

Raspberry Pi Indoor Climate Monitoring and Controlling System: 6 na Hakbang
Raspberry Pi Indoor Climate Monitoring and Controlling System: 6 na Hakbang

Video: Raspberry Pi Indoor Climate Monitoring and Controlling System: 6 na Hakbang

Video: Raspberry Pi Indoor Climate Monitoring and Controlling System: 6 na Hakbang
Video: Big Tree Tech - SKR 3EZ - EZ2209 Sensorless homing and Cooling Fan 2024, Nobyembre
Anonim
Raspberry Pi Indoor Climate Monitoring at Controlling System
Raspberry Pi Indoor Climate Monitoring at Controlling System
Raspberry Pi Indoor Climate Monitoring at Controlling System
Raspberry Pi Indoor Climate Monitoring at Controlling System

Ang mga tao ay nais na maging komportable sa loob ng kanilang bahay. Tulad ng klima sa aming lugar na maaaring hindi akma sa ating sarili, gumagamit kami ng maraming mga kagamitan upang mapanatili ang isang malusog na panloob na kapaligiran: pampainit, air cooler, humidifier, dehumidifier, purifier, atbp. Sa panahon ngayon, karaniwang makahanap ng ilan sa mga aparato na nilagyan ng auto- mode upang maunawaan ang kapaligiran at makontrol ang kanilang sarili. Gayunpaman:

  • Marami sa kanila ang sobrang presyo / hindi nagkakahalaga ng pera.
  • Ang kanilang mga de-koryenteng circuit ay mas madaling masira at mas mahirap palitan kaysa sa maginoo na mga bahagi ng mekanikal
  • Dapat pamahalaan ang mga appliances ng app ng gumawa. Karaniwan na magkaroon ng ilang mga matalinong kagamitan sa iyong bahay at ang bawat isa sa kanila ay mayroong sariling app. Ang kanilang solusyon ay upang isama ang app sa mga platform tulad ng Alexa, Google Assistant, at IFTTT upang mayroon kaming isang "sentralisadong" controller
  • Pinakamahalaga, ang mga tagagawa ay mayroong aming data, at ang Google / Amazon / IFTTT / atbp ay mayroong aming data. Hindi namin. Maaaring hindi mo alintana ang privacy, ngunit kung minsan lahat tayo ay maaaring tumingin sa pattern ng halumigmig ng iyong silid-tulugan, halimbawa, upang magpasya kung aling oras upang buksan ang mga bintana.

Sa tutorial na ito, bumubuo ako ng isang prototype ng isang medyo mababang gastos na Raspberry Pi-based Indoor Climate Controller. Nakikipag-usap ang RPi sa mga peripheral sa pamamagitan ng mga interface ng SPI / I2C / USB:

  • Ginagamit ang isang atmospheric sensor upang mangolekta ng temperatura, kahalumigmigan, at presyon ng hangin.
  • Ang isang mataas na katumpakan na sensor ng Kalidad ng Hangin ay nagbibigay ng data ng atmospheric particulate matter (PM2.5 at PM10) na ginamit upang makalkula ang Air Quality Index (AQI)

Pinoproseso ng tagakontrol ang nakuha na data at nagpapalitaw ng mga pagkilos ng aparato sa pamamagitan ng pagpapadala ng mga kahilingan sa serbisyo ng automation ng IFTTT Webhook na kumokontrol sa mga suportadong WiFi Smart plugs.

Ang prototype ay itinayo sa isang paraan upang ang isa ay madaling makapagdagdag ng iba pang mga sensor, appliances, at mga serbisyo sa awtomatiko.

Hakbang 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

Ang inirekumendang hardware upang mabuo ito:

  1. Isang Raspberry Pi (anumang bersyon) na may WiFi. Binubuo ko ito gamit ang RPi B +. Ang RPi ZeroW ay gagawa ng mabuti at nagkakahalaga ng ~ 15 $
  2. Isang sensor ng BME280 para sa temperatura, halumigmig, presyon ng hangin ~ 5 $
  3. Isang Nova SDS011 Mataas na Precision Laser PM2.5 / PM10 air Module ng Deteksyon ng Kalidad ng hangin ~ 25 $
  4. Isang LED / LCD display. Ginamit ko ang SSD1305 2.23 inch OLED screen ~ 15 $
  5. Ilang WiFi / ZigBee / Z-Wave Smart Sockets. 10-20 $ bawat isa
  6. Air purifier, humidifier, dehumidifier, heater, cooler, atbp na may mechanical switch. Halimbawa, gumamit ako ng isang murang air purifier upang gawin ang tutorial na ito

Ang kabuuang halaga sa itaas ay <100 $, mas mababa kaysa sa, sabihin nating, isang matalinong paglilinis na madaling gastos ng 200 $.

Hakbang 2: Pag-kable sa Up ng Raspbery Pi

Pagkabit ng Raspbery Pi
Pagkabit ng Raspbery Pi

Ipinapakita ng circuit diagram kung paano i-wire ang RPi gamit ang sensor ng BME280 gamit ang I2C interface at OLED display HAT gamit ang SPI interface.

Ang Waveshare OLED HAT ay maaaring naka-attach sa tuktok ng GPIO, ngunit kailangan mo ng isang GPIO splitter upang ibahagi ito sa iba pang mga peripheral. Maaari itong mai-configure upang magamit ang I2C sa pamamagitan ng paghihinang ng mga resistors sa likuran.

Ang karagdagang impormasyon tungkol sa SSD1305 OLED HAT ay matatagpuan dito.

Ang parehong mga interface ng I2C at SPI ay kailangang paganahin sa RPi na may:

sudo raspi-config

Ang sensor ng Nova SDS011 Dust ay konektado sa RPi sa pamamagitan ng USB port (na may isang Serial-USB adapter).

Hakbang 3: Pagkolekta ng Data Mula sa Mga Sensor

Ang data sa atmospera, na mukhang deretso, ay nakolekta mula sa sensor ng BME280 mula sa script ng sawa.

21-Nob-20 19:19:25 - INFO - bayad sa_reading (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, timestamp = 2020-11-21 19: 19: 25.604317, temp = 20.956 ° C, pressure = 1019.08 hPa, halumigmig = 49.23% mek)

Ang data ng Dust sensor ay nangangailangan ng kaunting pagproseso. Ang module ng sensor ay sumuso sa ilang mga sample ng hangin upang makita ang maliit na butil, kaya't dapat itong tumakbo nang ilang sandali (30s) upang magkaroon ng maaasahang mga resulta. Mula sa aking pagmamasid, isinasaalang-alang ko lamang ang average ng huling 3 mga sample. Magagamit ang proseso sa script na ito.

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

21-Nob-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- Nob-20 19:21:13 - DEBUG - 3. PM2.5: 2.9, PM10: 6.3 21-Nob-20 19:21:15 - DEBUG - 4. PM2.5: 3.0, PM10: 6.2 21-Nob- 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-Nob-20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21-Nob-20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21-Nob-20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21-Nob-20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

Nagbibigay lamang ang dust sensor ng PM2.5 at PM10 index. Upang makalkula ang AQI kailangan namin ang module ng python-aqi:

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

Ang pagkolekta ng data, pagpapakita, at pagkontrol sa appliance ay naisakatuparan nang sabay-sabay at hindi magkakasabay. Ang data ay nai-save sa isang lokal na database. Hindi namin kailangang patakbuhin ang mga ito nang madalas kung hindi masyadong nagbabago ang kapaligiran. Para sa akin, sapat na ang 15 minutong agwat ng agwat. Bukod dito, ang module ng dust sensor ay naipon ng alikabok sa loob, kaya't hindi natin ito dapat labis na magamit upang maiwasan ang gawain sa paglilinis.

Hakbang 4: Pagse-set up ng Serbisyo sa Pag-aautomat ng Bahay

Pagse-set up ng Serbisyo sa Awtomatiko sa Bahay
Pagse-set up ng Serbisyo sa Awtomatiko sa Bahay
Pagse-set up ng Serbisyo sa Awtomatiko sa Bahay
Pagse-set up ng Serbisyo sa Awtomatiko sa Bahay

Maraming platform sa automation ng Home doon at dapat na mai-install ang platform na sinusuportahan ng smart socket na mayroon ka. Kung may kinalaman sa privacy, dapat mong i-set up ang iyong sariling system. Kung hindi man, maaari mong gamitin ang mga sikat na platform na sinusuportahan ng karamihan sa mga smart socket ng WiFi: Google Assistant, Alexa, o IFTTT. Subukang piliin ang socket platform na may isang API na makikipag-ugnay (Ang Webhook ay perpekto para sa hangaring ito)

Gumagamit ako ng IFTTT sa tutorial na ito dahil napakadaling gamitin kahit para sa mga baguhan. Ngunit magkaroon ng kamalayan na: 1. maraming mga matalinong socket na hindi sumusuporta sa IFTTT, at 2. Sa oras na isinulat ko ito, pinapayagan ka lamang ng IFTTT na lumikha ng 3 applet (mga gawain sa awtomatiko) nang libre, na sapat lamang para sa 1 appliance

Ito ang mga hakbang:

1. Lumikha ng dalawang applet sa IFTTT, para sa pag-on at pag-off ng appliance, gamit ang serbisyo ng Webhook. Ang mga detalye ay matatagpuan dito.

2. Kopyahin ang API key at kopyahin ito sa script ng sawa. Iminumungkahi kong itago ito sa isang hiwalay na file para sa mga kadahilanang pangseguridad.

3. Tukuyin ang control logic / parameter sa pangunahing script.

Hakbang 5: Mga Resulta

Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta
Mga Resulta

OK, ngayon sinubukan namin ang system.

Ipinapakita ng ipinakitang OLED ang kasalukuyang Temp, Humidity, at kinakalkula na Air Quality Index (AQI). Ipinapakita rin nito ang minimum at maximum na halaga sa huling 12 oras.

Ang data-serye ng data ng AQI sa loob ng ilang araw ay nagpapakita ng isang bagay na kawili-wili. Pansinin ang mga pagtaas sa pattern ng AQI? Nangyari ito dalawang beses sa isang araw, ang maliit na rurok bandang alas-12: 00 at ang mataas na rurok ay bandang 19:00. Kaya, nahulaan mo ito, iyon ay kapag nagluluto kami, kumakalat ng maraming mga maliit na butil sa paligid. Nakatutuwang makita kung paano nakakaapekto ang aming pang-araw-araw na aktibidad sa panloob na kapaligiran.

Gayundin, ang huling paggulong sa pigura ay tumagal ng mas maikli kaysa sa mga nauna. na kapag idinagdag namin ang air purifier sa system. Nagpadala ang tagontrol ng RPi ng klima ng PURIFIER_ON kahilingan kapag AQI> 50 at PURIFIER_OFF kapag AQI <20. Maaari mong makita ang IFTTT Webhook gatilyo sa oras na iyon.

Hakbang 6: Konklusyon

Ayan yun!

Maaari ding magamit ang nakolektang data upang makontrol ang mga air heater, cooler, (de) humidifiers, atbp. Kailangan mo lamang bumili ng mas maraming matalinong socket at ang bawat lumang kasangkapan ay magiging "matalinong".

Kung nais mong kontrolin ang maraming mga appliances, maaaring kailangan mong isaalang-alang nang mabuti kung aling serbisyo sa pag-aautomat ang gusto mong gamitin. Iminumungkahi ko ang pag-set up ng isang open-source platform ng automation ng bahay, ngunit kung masyadong kumplikado, may mga mas simpleng solusyon tulad ng Google Assistant at IFTTT Webhook, o paggamit ng mga smart socket ng Zigbee.

Ang buong pagpapatupad ng prototype na ito ay matatagpuan sa repository ng Github:

github.com/vuva/IndoorClimateControl

Magsaya ka !!!

Inirerekumendang: