Talaan ng mga Nilalaman:
- Hakbang 1: Hardware
- Hakbang 2: Pag-kable sa Up ng Raspbery Pi
- Hakbang 3: Pagkolekta ng Data Mula sa Mga Sensor
- Hakbang 4: Pagse-set up ng Serbisyo sa Pag-aautomat ng Bahay
- Hakbang 5: Mga Resulta
- Hakbang 6: Konklusyon
Video: Raspberry Pi Indoor Climate Monitoring and Controlling System: 6 na Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
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
Ang inirekumendang hardware upang mabuo ito:
- 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 $
- Isang sensor ng BME280 para sa temperatura, halumigmig, presyon ng hangin ~ 5 $
- Isang Nova SDS011 Mataas na Precision Laser PM2.5 / PM10 air Module ng Deteksyon ng Kalidad ng hangin ~ 25 $
- Isang LED / LCD display. Ginamit ko ang SSD1305 2.23 inch OLED screen ~ 15 $
- Ilang WiFi / ZigBee / Z-Wave Smart Sockets. 10-20 $ bawat isa
- 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
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
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
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:
Arduino + Blynk Project Controlling Buzzer: 8 Hakbang
Arduino + Blynk Project Controlling Buzzer: Ginagamit ang Blynk upang gawing posible ang IoT sa isang napaka maginhawang paraan. Sa proyektong ito, hindi ako gumagamit ng anumang Bluetooth o Wifi module upang makagawa ng wireless na komunikasyon. Posible ito gamit ang Blynk application na makakatulong sa iyo na idisenyo ang iyong sariling aplikasyon sa
Fading / Controlling Led / brightness Paggamit ng Potentiometer (Variable Resistor) at Arduino Uno: 3 Mga Hakbang
Fading / Controlling Led / brightness Paggamit ng Potentiometer (Variable Resistor) at Arduino Uno: Ang Arduino analog input pin ay konektado sa output ng potentiometer. Kaya ang Arduino ADC (analog sa digital converter) na analog pin ay binabasa ang output boltahe ng potensyomiter. Ang pag-ikot ng potentiometer knob ay nag-iiba-iba ang output ng boltahe at Arduino
IOT: ESP 8266 Nodemcu Controlling Neopixel Ws2812 LED Strip Sa Internet gamit ang BLYNK App: 5 Hakbang
IOT: ESP 8266 Nodemcu Controlling Neopixel Ws2812 LED Strip Over the Internet Paggamit ng BLYNK App: Kamusta, sa mga itinuturo na ito ay gumawa ako ng ilaw gamit ang neopixel led strip na maaaring makontrol sa internet mula sa lahat sa buong mundo gamit ang BLYNK APP at nodemcu ay nagtatrabaho bilang utak ng proyektong ito, kaya't gawing ilaw ang iyong paligid
Hydroponic Greenhouse Monitoring and Control System: 5 Hakbang (na may Mga Larawan)
Hydroponic Greenhouse Monitoring and Control System: Sa itinuturo na ito, ipapakita ko sa iyo kung paano bumuo ng isang hydroponic greenhouse monitoring and control system. Ipapakita ko sa iyo ang mga sangkap na pinili, isang diagram ng mga kable kung paano itinayo ang circuit, at ang Arduino sketch na ginamit upang i-program ang Nakikita
Ang Computer IR Remote Controlling: 4 Hakbang
Ang Computer IR Remote Controlling: Bukod sa maraming iba pang mga layunin na ginagamit ko ang aking PC bilang sentro ng multimedia. May mga oras na nagpapahinga ako sa sofa na nakikinig ng musika o nanonood ng pelikula o TV at hindi ako nagugising na ayusin ang dami o mababago ang TV channel