Innehållsförteckning:
- Steg 1: Hårdvara
- Steg 2: Anslut Raspbery Pi
- Steg 3: Samla in data från sensorerna
- Steg 4: Konfigurera hemautomationstjänst
- Steg 5: Resultat
- Steg 6: Slutsats
Video: Raspberry Pi övervaknings- och kontrollsystem för inomhusklimat: 6 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:36
Människor vill vara bekväma i sitt hus. Eftersom klimatet i vårt område kanske inte passar oss, använder vi många apparater för att upprätthålla en hälsosam inomhusmiljö: värmare, luftkylare, luftfuktare, avfuktare, renare etc. Numera är det vanligt att hitta några av enheterna utrustade med automatisk läge för att känna av miljön och kontrollera sig själva. Dock:
- Många av dem är för dyra/ inte värda pengarna.
- Deras elektriska kretsar är lättare att bryta och svårare att byta ut än konventionella mekaniska delar
- Apparaterna måste hanteras av tillverkarens app. Det är vanligt att ha några smarta apparater i ditt hus och var och en har sin egen app. Deras lösning är att integrera appen i plattformar som Alexa, Google Assistant och IFTTT så att vi har en "centraliserad" controller
- Viktigast av allt, tillverkarna har vår data, och Google/Amazon/IFTTT/etc har våra data. Det gör vi inte. Du kanske inte bryr dig om integritet, men ibland kanske vi alla vill titta på fuktmönstret i ditt sovrum, till exempel för att bestämma vid vilken tidpunkt fönstren ska öppnas.
I denna handledning bygger jag en prototyp av en relativt billig Raspberry Pi-baserad inomhusklimatkontroller. RPi kommunicerar med kringutrustning via SPI/I2C/USB -gränssnitt:
- En atmosfärisk sensor används för att samla temperatur, luftfuktighet och lufttryck.
- En högprecisions luftkvalitetssensor ger data från atmosfäriska partiklar (PM2.5 och PM10) som används för att beräkna luftkvalitetsindex (AQI)
Kontrollenheten behandlar inhämtad data och utlöser enhetsåtgärder genom att skicka förfrågningar till IFTTT Webhook -automationstjänsten som styr WiFi Smart -pluggar som stöds.
Prototypen är byggd på ett sätt så att man enkelt kan lägga till andra sensorer, apparater och automatiseringstjänster.
Steg 1: Hårdvara
Den rekommenderade hårdvaran för att bygga detta:
- En Raspberry Pi (vilken version som helst) med WiFi. Jag bygger detta med RPi B+. RPi ZeroW skulle klara sig bra och kosta ~ 15 $
- En BME280 -sensor för temperatur, luftfuktighet, lufttryck ~ 5 $
- En Nova SDS011 högprecisionslaser PM2.5/PM10 luftkvalitetsdetekteringssensormodul ~ 25 $
- En LED/LCD -display. Jag använde SSD1305 2,23 tums OLED -skärmen ~ 15 $
- Några WiFi/ZigBee/Z-Wave Smart-uttag. 10-20 $ styck
- Luftrenare, luftfuktare, avfuktare, värmare, kylare etc. med mekaniska omkopplare. Till exempel använde jag en billig luftrenare för att göra denna handledning
Ovanstående totalkostnad är <100 $, mycket mindre än, säg, en smart renare som lätt kan kosta 200 $.
Steg 2: Anslut Raspbery Pi
Kretsschemat visar hur man kopplar RPi med BME280 -sensorn med I2C -gränssnitt och OLED -display HAT med SPI -gränssnitt.
Waveshare OLED HAT kan fästas ovanpå GPIO, men du behöver en GPIO -splitter för att dela den med andra kringutrustning. Det kan konfigureras att använda I2C genom att löda motstånden på baksidan.
Mer information om SSD1305 OLED HAT finns här.
Både I2C- och SPI -gränssnitt måste aktiveras i RPi med:
sudo raspi-config
Nova SDS011 Dammsensor är ansluten till RPi via USB-port (med en Serial-USB-adapter).
Steg 3: Samla in data från sensorerna
Atmosfärdatan, som ser ganska enkel ut, samlas in från BME280 -sensorn från python -skriptet.
21-nov-20 19:19:25-INFO-compensated_reading (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, tidsstämpel = 2020-11-21 19: 19: 25.604317, temp = 20.956 ° C, tryck = 1019.08 hPa, luftfuktighet = 49.23 % rH)
Dammsensordata behöver lite mer bearbetning. Sensormodulen suger in några luftprover för att detektera partiklar, så det bör gå ett tag (30s) för att få tillförlitliga resultat. Från min observation beaktar jag bara genomsnittet av de tre senaste proverna. Processen är tillgänglig i detta skript.
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
Dammsensorn tillhandahåller endast PM2.5 och PM10 index. För att beräkna AQI behöver vi python-aqi-modulen:
aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])
Datainsamling, visning och apparatstyrning utförs samtidigt och asynkront. Data sparas i en lokal databas. Vi behöver inte köra dem ofta om miljön inte förändras för snabbt. För mig räcker 15 min intervalltid. Dessutom samlar dammsensormodulen upp damm inuti, så vi bör inte överanvända den för att undvika rengöringsuppgiften.
Steg 4: Konfigurera hemautomationstjänst
Det finns många hemautomatiseringsplattformar där ute och bör installera plattformen som stöds av det smarta uttaget du har. Om du rör integritet bör du skapa ditt eget system. Annars kan du använda de populära plattformarna som stöds av de flesta WiFi -smarta uttag: Google Assistant, Alexa eller IFTTT. Försök att välja uttaget plattform med ett API att interagera med (Webhook är perfekt för detta ändamål)
Jag använder IFTTT i den här självstudien eftersom den är väldigt lätt att använda även för nybörjare. Men var medveten om att: 1. det finns många smarta uttag som inte stöder IFTTT, och 2. Vid den tidpunkt då jag skriver detta tillåter IFTTT bara att skapa 3 applets (automatiseringsuppgifter) gratis, vilket bara räcker för 1 apparat.
Detta är stegen:
1. Skapa två appletar i IFTTT för att slå på och stänga av apparaten med hjälp av Webhook -tjänsten. Detaljerna hittar du här.
2. Kopiera API -nyckeln och kopiera den till python -skriptet. Av säkerhetsskäl föreslår jag att du håller den i en separat fil.
3. Definiera styrlogiken/parametrarna i huvudskriptet.
Steg 5: Resultat
OK, nu testar vi systemet.
OLED -displayen visar aktuell temperatur, luftfuktighet och beräknat luftkvalitetsindex (AQI). Det visar också lägsta och högsta värde under de senaste 12 timmarna.
Tidsseriedata för AQI om några dagar visar något intressant. Lägg märke till överspänningarna i AQI -mönstret? Det hände två gånger om dagen, den lilla toppen runt 12.00 och högtoppen är cirka 19.00. Tja, du gissade det, det var när vi lagade mat och sprider mycket partiklar runt. Det är intressant att se hur vår dagliga aktivitet påverkar inomhusmiljön.
Den sista ökningen i figuren varade också mycket kortare än de föregående. det är då vi lägger till luftrenaren i systemet. RPi -klimatkontrollen skickar PURIFIER_ON -begäran när AQI> 50 och PURIFIER_OFF när AQI <20. Du kan se IFTTT Webhook -utlösaren vid den tiden.
Steg 6: Slutsats
Det är allt!
Den insamlade informationen kan också användas för att styra luftvärmare, kylare, (av) luftfuktare etc. Du behöver bara köpa fler smarta uttag och varje gammal apparat blir "smart".
Om du vill styra många apparater kan du behöva noga överväga vilken hemautomationstjänst du vill använda. Jag skulle starkt föreslå att du installerar en plattform för hemautomatisering med öppen källkod, men om det är för komplicerat finns det enklare lösningar som Google Assistant och IFTTT Webhook, eller att använda Zigbee smarta uttag.
Den fullständiga implementeringen av denna prototyp finns i Github -förvaret:
github.com/vuva/IndoorClimateControl
Ha så kul !!!
Rekommenderad:
Väggfäste för iPad som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: 4 steg (med bilder)
Väggfäste för iPad Som kontrollpanel för hemautomation, med servostyrd magnet för att aktivera skärmen: På senare tid har jag ägnat ganska mycket tid åt att automatisera saker i och runt mitt hus. Jag använder Domoticz som min hemautomationsapplikation, se www.domoticz.com för mer information. I min sökning efter en instrumentpanelapplikation som visar all Domoticz -information tillsammans
UCL - IIoT - Inomhusklimat 4.0: 8 steg
UCL-IIoT-Inomhusklimat 4.0: Efter att ha läst och arbetat med detta instruerbara, har du ditt eget automatiska inomhusklimat, som du kan observera online med hjälp av Node-red. I vårt fall utvecklade vi denna idé och presenterade den i ett 3D-tryckt hus
EAL- Inbäddat inomhusklimat: 5 steg
EAL- Inbäddat inomhusklimat: För vårt skolprojekt fick vi i uppgift att integrera en arduino i ett automatiserat system. Vi valde att göra en inneklimatsensor, som kan känna av temperatur, fuktighet och decibelnivån inomhus. Vi borrade ett par hål i skåpet,
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?
1.5A linjär regulator för konstant ström för lysdioder för: 6 steg
1.5A linjär regulator för konstant ström för lysdioder för: Så det finns massor av instruktioner som täcker användning av LED -lampor med hög ljusstyrka. Många av dem använder den kommersiellt tillgängliga Buckpuck från Luxdrive. Många av dem använder också linjära regleringskretsar som toppar vid 350 mA eftersom de är mycket ineffektiva