Indholdsfortegnelse:
- Trin 1: Hardware
- Trin 2: Tilslutning af Raspbery Pi
- Trin 3: Indsamling af data fra sensorerne
- Trin 4: Opsætning af hjemmeautomatiseringstjeneste
- Trin 5: Resultater
- Trin 6: Konklusion
Video: Raspberry Pi indeklimaovervågnings- og kontrolsystem: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:25
Folk vil have det godt inde i deres hus. Da klimaet i vores område måske ikke passer til os selv, bruger vi mange apparater til at opretholde et sundt indendørs miljø: varmeapparat, luftkøler, befugter, affugter, renser osv. I dag er det almindeligt at finde nogle af apparaterne udstyret med auto- tilstand til at mærke miljøet og kontrollere sig selv. Imidlertid:
- Mange af dem er overpris/ ikke pengene værd.
- Deres elektriske kredsløb er lettere at bryde og sværere at udskifte end konventionelle mekaniske dele
- Apparaterne skal administreres af producentens app. Det er almindeligt at have et par smarte apparater i dit hus, og hver af dem har sin egen app. Deres løsning er at integrere appen i platforme som Alexa, Google Assistant og IFTTT, så vi har en "centraliseret" controller
- Vigtigst er det, at producenterne har vores data, og Google/Amazon/IFTTT/etc har vores data. Det gør vi ikke. Du er måske ligeglad med privatlivets fred, men nogle gange vil vi alle måske se på fugtighedsmønsteret i dit soveværelse, for eksempel at beslutte, hvornår vinduerne skal åbnes.
I denne vejledning bygger jeg en prototype af en relativt billig Raspberry Pi-baseret indeklimastyring. RPi kommunikerer med periferienheder via SPI/I2C/USB -interfaces:
- En atmosfærisk sensor bruges til at indsamle temperatur, fugtighed og lufttryk.
- En luftkvalitetssensor med høj præcision leverer data fra atmosfæriske partikler (PM2.5 og PM10), der bruges til at beregne luftkvalitetsindeks (AQI)
Controlleren behandler erhvervede data og udløser enhedshandlinger ved at sende anmodninger til IFTTT Webhook -automatiseringstjenesten, som styrer understøttede WiFi Smart -stik.
Prototypen er bygget på en måde, så man let kan tilføje andre sensorer, apparater og automatiseringstjenester.
Trin 1: Hardware
Den anbefalede hardware til at bygge dette:
- En Raspberry Pi (enhver version) med WiFi. Jeg bygger dette ved hjælp af RPi B+. RPi ZeroW ville klare sig fint og koste ~ 15 $
- En BME280 -sensor til temperatur, fugtighed, lufttryk ~ 5 $
- Et Nova SDS011 High Precision Laser PM2.5/PM10 luftkvalitetsdetektionssensormodul ~ 25 $
- En LED/LCD -skærm. Jeg brugte SSD1305 2,23 tommer OLED -skærmen ~ 15 $
- Nogle WiFi/ZigBee/Z-Wave Smart Sockets. 10-20 $ hver
- Luftrenser, luftfugter, affugter, varmelegeme, kølere osv. Med mekaniske kontakter. For eksempel brugte jeg en billig luftrenser til at lave denne vejledning
Ovenstående samlede pris er <100 $, meget mindre end for eksempel en smart renser, der let kan koste 200 $.
Trin 2: Tilslutning af Raspbery Pi
Kredsløbsdiagrammet viser, hvordan man tilslutter RPi'en med BME280 -sensoren ved hjælp af I2C -interface og OLED -display HAT ved hjælp af SPI -interface.
Waveshare OLED HAT kunne fastgøres oven på GPIO, men du skal bruge en GPIO -splitter for at dele den med andre eksterne enheder. Det kunne konfigureres til at bruge I2C ved at lodde modstandene på bagsiden.
Yderligere oplysninger om SSD1305 OLED HAT findes her.
Både I2C- og SPI -grænseflader skal aktiveres i RPi med:
sudo raspi-config
Nova SDS011 støvsensor er forbundet til RPi via USB-port (med en seriel-USB-adapter).
Trin 3: Indsamling af data fra sensorerne
De atmosfæriske data, der ser ganske ligetil ud, indsamles fra BME280 -sensoren fra python -scriptet.
21-nov-20 19:19:25-INFO-compensated_reading (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, tidsstempel = 2020-11-21 19: 19: 25.604317, temp = 20.956 ° C, tryk = 1019.08 hPa, luftfugtighed = 49.23 % rH)
Støvfølerens data har brug for lidt mere behandling. Sensormodulet suger nogle luftprøver ind for at detektere partikler, så det bør køre et stykke tid (30s) for at få pålidelige resultater. Fra min observation overvejer jeg kun gennemsnittet af de sidste 3 prøver. Processen er tilgængelig i dette 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- Nov-20 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
Støvføler giver kun PM2.5 og PM10 indeks. For at beregne AQI har vi brug for python-aqi modulet:
aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])
Dataindsamling, visning og apparatstyring udføres samtidigt og asynkront. Data gemmes i en lokal database. Vi behøver ikke at køre dem ofte, hvis miljøet ikke ændres for hurtigt. For mig er 15 min interval tid nok. Desuden akkumulerer støvsensormodulet støv indeni, så vi bør ikke bruge det for meget for at undgå rengøringsopgaven.
Trin 4: Opsætning af hjemmeautomatiseringstjeneste
Der er mange hjemmeautomatiseringsplatforme derude og bør installere den platform, der understøttes af den smarte stikdåse, du har. Hvis du angår privatliv, skal du oprette dit eget system. Ellers kan du bruge de populære platforme, der understøttes af de fleste WiFi -smarte sockets: Google Assistant, Alexa eller IFTTT. Prøv at vælge socket -platformen med en API at interagere med (Webhook er perfekt til dette formål)
Jeg bruger IFTTT i denne vejledning, fordi den er meget let at bruge selv for nybegyndere. Men vær opmærksom på, at: 1. der er mange smarte stikkontakter, der ikke understøtter IFTTT, og 2. På det tidspunkt, jeg skriver dette, giver IFTTT dig kun mulighed for at oprette 3 applets (automatiseringsopgaver) gratis, hvilket kun er nok til 1 apparat.
Dette er trinene:
1. Opret to applets i IFTTT til at tænde og slukke for apparatet ved hjælp af Webhook -service. Detaljerne kan findes her.
2. Kopier API -nøglen, og kopier den til python -scriptet. Jeg vil foreslå at gemme den i en separat fil af sikkerhedsmæssige årsager.
3. Definer kontrollogikken/parametrene i hovedscriptet.
Trin 5: Resultater
OK, nu tester vi systemet.
OLED -displayet viser den aktuelle temperatur, luftfugtighed og det beregnede luftkvalitetsindeks (AQI). Det viser også minimums- og maksimumværdien i de sidste 12 timer.
Tidsseriedataene for AQI om et par dage viser noget interessant. Læg mærke til stigningerne i AQI -mønster? Det skete to gange om dagen, den lille top omkring kl. 12.00 og højtoppen er omkring kl. 19.00. Nå, du gættede det, det var da vi lavede mad og spredte meget partikler rundt. Det er interessant at se, hvordan vores daglige aktivitet påvirker indeklimaet.
Den sidste stigning i tallet varede også meget kortere end de foregående. det er, når vi tilføjer luftrenser i systemet. RPi klimastyringen sender PURIFIER_ON anmodning når AQI> 50 og PURIFIER_OFF når AQI <20. Du kan se IFTTT Webhook -udløseren på det tidspunkt.
Trin 6: Konklusion
Det er det!
De indsamlede data kan også bruges til at styre luftvarmere, kølere, (de) befugtere osv. Du skal bare købe flere smarte stikkontakter, og hvert gammelt apparat bliver "smart".
Hvis du vil styre mange apparater, skal du muligvis nøje overveje, hvilken hjemmeautomatiseringstjeneste du vil bruge. Jeg vil meget anbefale at oprette en open-source hjemmeautomatiseringsplatform, men hvis det er for kompliceret, er der enklere løsninger som f.eks. Google Assistant og IFTTT Webhook eller brug af Zigbee smart-sockets.
Den fulde implementering af denne prototype findes i Github -depotet:
github.com/vuva/IndoorClimateControl
Hav det sjovt !!!
Anbefalede:
Lav et Smart Home -kontrolsystem på STONE HMI Disp: 23 trin
Lav et Smart Home Control System på STONE HMI Disp: Projekt introduktion Følgende vejledning viser dig, hvordan du bruger STONE STVC050WT-01 berøringsskærmsmodul til at lave et simpelt kontrolsystem til husholdningsapparater
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
IoT -baseret jordfugtighedsovervågnings- og kontrolsystem ved hjælp af NodeMCU: 6 trin
IoT-baseret jordovervågnings- og kontrolsystem til jord ved hjælp af NodeMCU: I denne vejledning skal vi implementere et IoT-baseret jordfugtighedsovervågnings- og kontrolsystem ved hjælp af ESP8266 WiFi-modul, dvs. NodeMCU.Komponenter påkrævet til dette projekt: ESP8266 WiFi-modul- Amazon (334/- INR) Relæmodul- Amazon (130/- INR
Hydroponisk drivhusovervågnings- og kontrolsystem: 5 trin (med billeder)
Hydroponisk drivhusovervågnings- og kontrolsystem: I denne instruktive vil jeg vise dig, hvordan du konstruerer et hydroponisk drivhusovervågnings- og kontrolsystem. Jeg vil vise dig de valgte komponenter, et ledningsdiagram over, hvordan kredsløbet blev konstrueret, og Arduino -skitsen, der blev brugt til at programmere Seeed
En enkel turbiditetsmonitor og kontrolsystem til mikroalger: 4 trin
En simpel turbiditetsmonitor og kontrolsystem til mikroalger: Lad os bare sige, at du keder dig med prøvetagning af vand for at måle turbiditet, en bruttoterm, der angiver små, suspenderede partikler i vand, hvilket reducerer lysintensiteten enten med en stigende lysvej eller en højere partikel koncentration eller begge dele