Cuprins:
- Pasul 1: Hardware
- Pasul 2: Cablarea Raspbery Pi
- Pasul 3: Colectarea datelor de la senzori
- Pasul 4: Configurarea serviciului de automatizare la domiciliu
- Pasul 5: Rezultate
- Pasul 6: Concluzie
Video: Sistem de monitorizare și control al climatului interior Raspberry Pi: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Oamenii vor să se simtă confortabil în interiorul casei lor. Deoarece climatul din zona noastră s-ar putea să nu se potrivească cu noi înșine, folosim multe aparate pentru a menține un mediu interior sănătos: încălzitor, răcitor de aer, umidificator, dezumidificator, purificator etc. În zilele noastre, este obișnuit să găsim unele dintre dispozitivele echipate cu auto- modul de a simți mediul și de a se controla. In orice caz:
- Multe dintre ele sunt supraevaluate / nu merită banii.
- Circuitele lor electrice sunt mai ușor de rupt și mai greu de înlocuit decât piesele mecanice convenționale
- Aparatele trebuie să fie gestionate de aplicația producătorului. Este obișnuit să aveți câteva aparate inteligente în casa dvs. și fiecare dintre ele are propria aplicație. Soluția lor este integrarea aplicației în platforme precum Alexa, Google Assistant și IFTTT, astfel încât să avem un controler „centralizat”
- Cel mai important, producătorii au datele noastre, iar Google / Amazon / IFTTT / etc au datele noastre. Noi nu. S-ar putea să nu vă pese de confidențialitate, dar uneori este posibil să ne dorim cu toții să ne uităm la modelul de umiditate al dormitorului dvs., de exemplu, pentru a decide la ce oră să deschideți ferestrele.
În acest tutorial, construiesc un prototip al unui controler de climatizare interior bazat pe Raspberry Pi, cu un cost relativ scăzut. RPi comunică cu perifericele prin interfețe SPI / I2C / USB:
- Un senzor atmosferic este utilizat pentru a colecta temperatura, umiditatea și presiunea aerului.
- Un senzor de înaltă precizie a calității aerului oferă date de particule atmosferice (PM2.5 și PM10) utilizate pentru calcularea indicelui calității aerului (AQI)
Controlorul procesează datele dobândite și declanșează acțiunile dispozitivului prin trimiterea de cereri către serviciul de automatizare IFTTT Webhook care controlează mufele inteligente WiFi acceptate.
Prototipul este construit astfel încât să puteți adăuga cu ușurință alți senzori, aparate și servicii de automatizare.
Pasul 1: Hardware
Hardware-ul recomandat pentru a construi acest lucru:
- Un Raspberry Pi (orice versiune) cu WiFi. Am construit acest lucru folosind RPi B +. RPi ZeroW ar merge bine și ar costa ~ 15 $
- Un senzor BME280 pentru temperatură, umiditate, presiunea aerului ~ 5 $
- A Nova SDS011 Laser de înaltă precizie PM2.5 / PM10 Modul senzor de detectare a calității aerului ~ 25 $
- Un afișaj LED / LCD. Am folosit ecranul OLED SSD1305 de 2,23 inch ~ 15 $
- Unele prize inteligente WiFi / ZigBee / Z-Wave. 10-20 $ fiecare
- Purificator de aer, umidificator, dezumidificator, încălzitor, răcitor etc. cu comutatoare mecanice. De exemplu, am folosit un purificator de aer ieftin pentru a face acest tutorial
Costul total de mai sus este <100 $, mult mai mic decât, să zicem, un purificator inteligent care ar putea costa cu ușurință 200 $.
Pasul 2: Cablarea Raspbery Pi
Diagrama circuitului arată cum să conectați RPi cu senzorul BME280 utilizând interfața I2C și afișajul OLED HAT utilizând interfața SPI.
Waveshare OLED HAT ar putea fi atașat deasupra GPIO, dar aveți nevoie de un splitter GPIO pentru al partaja cu alte periferice. Ar putea fi configurat pentru a utiliza I2C prin lipirea rezistențelor din spate.
Informații suplimentare despre SSD1305 OLED HAT pot fi găsite aici.
Ambele interfețe I2C și SPI trebuie să fie activate în RPi cu:
sudo raspi-config
Senzorul Nova SDS011 Dust este conectat la RPi prin portul USB (cu un adaptor Serial-USB).
Pasul 3: Colectarea datelor de la senzori
Datele atmosferice, care arată destul de simplu, sunt colectate de la senzorul BME280 din scriptul python.
21-Nov-20 19:19:25 - INFO - citire_compensată (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, timestamp = 2020-11-21 19: 19: 25.604317, temp = 20.956 ° C, presiune = 1019.08 hPa, umiditate = 49.23% rH)
Datele senzorului de praf necesită ceva mai multă procesare. Modulul senzor aspiră unele probe de aer pentru a detecta particulele, deci ar trebui să funcționeze o perioadă (30 de ani) pentru a avea rezultate fiabile. Din observația mea, iau în considerare doar media ultimelor 3 probe. Procesul este disponibil în acest script.
21-Nov-20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9
21-Nov-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- 20 noiembrie 19:21:13 - DEBUG - 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15 - DEBUG - 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 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-Nov-20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21-Nov-20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21-Nov-20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21-Nov-20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1
Senzorul de praf oferă doar indicii PM2.5 și PM10. Pentru a calcula AQI avem nevoie de modulul python-aqi:
aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])
Colectarea datelor, afișarea și controlul dispozitivelor sunt executate simultan și asincron. Datele sunt salvate într-o bază de date locală. Nu este nevoie să le rulăm frecvent dacă mediul nu se schimbă prea repede. Pentru mine este suficient un interval de 15 minute. Mai mult, modulul senzorului de praf acumulează praf în interior, deci nu ar trebui să-l folosim în exces pentru a evita sarcina de curățare.
Pasul 4: Configurarea serviciului de automatizare la domiciliu
Există multe platforme de automatizare pentru acasă și ar trebui să instaleze platforma care este acceptată de socket-ul inteligent pe care îl aveți. Dacă vă preocupă confidențialitatea, ar trebui să vă configurați propriul sistem. În caz contrar, puteți utiliza platformele populare care sunt acceptate de majoritatea prizelor inteligente WiFi: Asistent Google, Alexa sau IFTTT. Încercați să selectați platforma socket cu un API pentru a interacționa (Webhook este perfect în acest scop)
Folosesc IFTTT în acest tutorial, deoarece este foarte ușor de utilizat chiar și pentru începători. Dar rețineți că: 1. există multe prize inteligente care nu acceptă IFTTT și 2. La momentul în care scriu acest lucru, IFTTT vă permite să creați 3 applet-uri (sarcini de automatizare) gratuit, ceea ce este suficient doar pentru 1 aparat.
Iată pașii:
1. Creați două applet-uri în IFTTT, pentru pornirea și oprirea aparatului, utilizând serviciul Webhook. Detaliile pot fi găsite aici.
2. Copiați cheia API și copiați-o în scriptul python. Aș sugera păstrarea acestuia într-un fișier separat din motive de securitate.
3. Definiți logica / parametrii de control în scriptul principal.
Pasul 5: Rezultate
OK, acum testăm sistemul.
Afișajul OLED arată temperatura, umiditatea și indicele calității aerului (AQI) curent. De asemenea, afișează valoarea minimă și maximă în ultimele 12 ore.
Datele din seria AQI din câteva zile arată ceva interesant. Observați creșterile în modelul AQI? S-a întâmplat de două ori pe zi, vârful mic în jurul orei 12:00 și vârful cel mare este în jurul orei 19:00. Ei bine, ați ghicit, atunci am gătit, răspândind o mulțime de particule în jur. Este interesant să vedem cum activitatea noastră zilnică afectează mediul interior.
De asemenea, ultima creștere a cifrei a durat mult mai scurt decât cele precedente. atunci adăugăm purificatorul de aer în sistem. Controlerul climatic RPi trimite cererea PURIFIER_ON când AQI> 50 și PURIFIER_OFF când AQI <20. Puteți vedea declanșatorul IFTTT Webhook în acel moment.
Pasul 6: Concluzie
Asta e!
Datele colectate pot fi folosite și pentru a controla încălzitoarele de aer, răcitoarele, (de) umidificatoarele etc. Trebuie doar să cumpărați mai multe prize inteligente și fiecare aparat vechi va deveni „inteligent”.
Dacă doriți să controlați multe aparate, poate fi necesar să vă gândiți cu atenție ce serviciu de automatizare a locuinței doriți să utilizați. Aș sugera foarte mult să configurați o platformă de automatizare a casei open-source, dar dacă este prea complicat, există soluții mai simple, cum ar fi Google Assistant și IFTTT Webhook, sau utilizarea prizelor inteligente Zigbee.
Implementarea completă a acestui prototip poate fi găsită în depozitul Github:
github.com/vuva/IndoorClimateControl
A se distra !!!
Recomandat:
Sistem de monitorizare a vremii folosind senzorul Raspberry Pi3 și DHT11: 4 pași
Sistem de monitorizare a vremii folosind senzorul Raspberry Pi3 și DHT11: În acest tutorial, vă voi arăta cum să conectați DHT11 la Raspberry Pi și să afișez citirile de umiditate și temperatură pe un LCD. Senzorul de temperatură și umiditate DHT11 este un mic modul frumos care asigură temperatura și umiditatea digitale
Sistem automat de grădină construit pe Raspberry Pi pentru exterior sau interior - MudPi: 16 pași (cu imagini)
Sistem automat de grădină construit pe Raspberry Pi pentru exterior sau interior - MudPi: Îți place grădinăritul, dar nu găsești timpul pentru a-l întreține? Poate aveți câteva plante de apartament care sunt puțin însetate sau caută o modalitate de a vă automatiza hidroponia? În acest proiect vom rezolva aceste probleme și vom învăța elementele de bază ale
Sistem de monitorizare și control al umidității solului bazat pe IoT folosind NodeMCU: 6 pași
Sistem de monitorizare și control al umidității solului bazat pe IoT folosind NodeMCU: În acest tutorial vom implementa un sistem de monitorizare și control al umidității solului bazat pe IoT utilizând modulul WiFi ESP8266 adică NodeMCU. Componente necesare pentru acest proiect: modulul ESP8266 WiFi - Amazon (334 / - INR) Modul de releu - Amazon (130 / - INR
Sistem de monitorizare și control al serii hidroponice: 5 pași (cu imagini)
Sistem de monitorizare și control al serii hidroponice: În acest instructiv, vă voi arăta cum să construiți un sistem de monitorizare și control al serelor hidroponice. Vă voi arăta componentele alese, o schemă de cablare a modului în care a fost construit circuitul și schița Arduino folosită pentru a programa Seeed
Un sistem simplu de monitorizare și control al turbidității pentru microalge: 4 pași
Un sistem simplu de monitorizare și control al turbidității pentru microalge: Să spunem doar că te-ai plictisit de eșantionarea apei pentru a măsura turbiditatea, un termen brut care indică orice particule mici, suspendate din apă, care reduce intensitatea luminii fie cu o cale de lumină în creștere, fie cu o particulă mai mare concentrare sau ambele