Inhoudsopgave:
- Stap 1: Hardware
- Stap 2: Bedrading van de Raspbery Pi
- Stap 3: Gegevens verzamelen van de sensoren
- Stap 4: Domotica-service instellen
- Stap 5: Resultaten
- Stap 6: Conclusie
Video: Raspberry Pi binnenklimaat monitoring- en regelsysteem - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Mensen willen comfortabel zijn in hun huis. Omdat het klimaat in ons gebied misschien niet bij ons past, gebruiken we veel apparaten om een gezond binnenmilieu te behouden: verwarming, luchtkoeler, luchtbevochtiger, ontvochtiger, luchtreiniger, enz. Tegenwoordig is het gebruikelijk om sommige apparaten te vinden die zijn uitgerust met auto- modus om de omgeving te voelen en zichzelf te beheersen. Echter:
- Velen van hen zijn te duur / het geld niet waard.
- Hun elektrische circuits zijn gemakkelijker te doorbreken en moeilijker te vervangen dan conventionele mechanische onderdelen
- De apparaten moeten worden beheerd door de app van de fabrikant. Het is gebruikelijk om een paar slimme apparaten in huis te hebben en elk heeft zijn eigen app. Hun oplossing is om de app te integreren in platforms zoals Alexa, Google Assistant en IFTTT, zodat we een "gecentraliseerde" controller hebben
- Het belangrijkste is dat de fabrikanten onze gegevens hebben en Google/Amazon/IFTTT/etc hebben onze gegevens. Wij niet. Je geeft misschien niet om privacy, maar soms willen we allemaal kijken naar het vochtigheidspatroon van je slaapkamer, bijvoorbeeld om te beslissen wanneer we de ramen moeten openen.
In deze tutorial bouw ik een prototype van een relatief goedkope Raspberry Pi-gebaseerde binnenklimaatcontroller. De RPi communiceert met de randapparatuur via SPI/I2C/USB-interfaces:
- Een atmosferische sensor wordt gebruikt om temperatuur, vochtigheid en luchtdruk te verzamelen.
- Een uiterst nauwkeurige luchtkwaliteitssensor levert gegevens over atmosferische deeltjes (PM2.5 en PM10) die worden gebruikt om de luchtkwaliteitsindex (AQI) te berekenen
De controller verwerkt verkregen gegevens en activeert apparaatacties door verzoeken te verzenden naar de IFTTT Webhook-automatiseringsservice die ondersteunde WiFi Smart-stekkers bestuurt.
Het prototype is zo gebouwd dat men gemakkelijk andere sensoren, apparaten en automatiseringsdiensten kan toevoegen.
Stap 1: Hardware
De aanbevolen hardware om dit te bouwen:
- Een Raspberry Pi (elke versie) met wifi. Ik bouw dit met RPi B+. RPi ZeroW zou het prima doen en kost ~15$
- Een BME280 sensor voor temperatuur, vochtigheid, luchtdruk ~5$
- Een Nova SDS011 Hoge Precisie Laser PM2.5/PM10 Luchtkwaliteit Detectie Sensor Module ~ 25 $
- Een LED/LCD-display. Ik gebruikte het SSD1305 2,23 inch OLED-scherm ~ 15 $
- Sommige WiFi/ZigBee/Z-Wave Smart Sockets. 10-20 $ per stuk
- Luchtreiniger, luchtbevochtiger, ontvochtiger, verwarming, koeler, etc. met mechanische schakelaars. Ik heb bijvoorbeeld een goedkope luchtreiniger gebruikt om deze tutorial te maken
De bovenstaande totale kosten zijn < 100 $, veel minder dan bijvoorbeeld een slimme luchtreiniger die gemakkelijk 200 $ zou kunnen kosten.
Stap 2: Bedrading van de Raspbery Pi
Het schakelschema laat zien hoe de RPi moet worden aangesloten op de BME280-sensor met behulp van de I2C-interface en de OLED-display HAT met behulp van de SPI-interface.
De Waveshare OLED HAT kan bovenop de GPIO worden bevestigd, maar je hebt een GPIO-splitter nodig om deze te delen met andere randapparatuur. Het kan worden geconfigureerd om I2C te gebruiken door de weerstanden aan de achterkant te solderen.
Meer informatie over de SSD1305 OLED HAT vind je hier.
Zowel I2C- als SPI-interfaces moeten in RPi worden ingeschakeld met:
sudo raspi-config
De Nova SDS011 Stofsensor wordt via een USB-poort (met een Serial-USB-adapter) op RPi aangesloten.
Stap 3: Gegevens verzamelen van de sensoren
De atmosferische gegevens, die er vrij eenvoudig uitzien, worden verzameld van de BME280-sensor uit het python-script.
21-nov-20 19:19:25 - INFO - gecompenseerde_reading(id=6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, tijdstempel=2020-11-21 19:19:25.604317, temp=20,956 °C, druk=1019,08 hPa, vochtigheid=49,23 % rH)
De gegevens van de stofsensor hebben wat meer verwerking nodig. De sensormodule zuigt wat luchtmonsters aan om fijnstof te detecteren, dus het moet een tijdje (30s) draaien om betrouwbare resultaten te hebben. Uit mijn observatie kijk ik alleen naar het gemiddelde van de laatste 3 monsters. Het proces is beschikbaar in dit 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
De stofsensor geeft alleen de PM2.5- en PM10-index. Om AQI te berekenen, hebben we de python-aqi-module nodig:
aqi_index = aqi.to_aqi([(aqi. POLLUTANT_PM25, dust_data[0]), (aqi. POLLUTANT_PM10, dust_data[1])])
Het verzamelen, weergeven en beheren van gegevens worden gelijktijdig en asynchroon uitgevoerd. Gegevens worden opgeslagen in een lokale database. We hoeven ze niet vaak uit te voeren als de omgeving niet te snel verandert. Voor mij is een interval van 15 minuten voldoende. Bovendien verzamelt de stofsensormodule stof binnenin, dus we moeten hem niet te veel gebruiken om de reinigingstaak te vermijden.
Stap 4: Domotica-service instellen
Er zijn veel domotica-platforms die het platform moeten installeren dat wordt ondersteund door de slimme socket die je hebt. Als het om privacy gaat, moet u uw eigen systeem opzetten. Anders kunt u de populaire platforms gebruiken die worden ondersteund door de meeste wifi-smart sockets: Google Assistant, Alexa of IFTTT. Probeer het socketplatform te selecteren met een API om mee te communiceren (Webhook is perfect voor dit doel)
Ik gebruik IFTTT in deze tutorial omdat het heel gemakkelijk te gebruiken is, zelfs voor beginners. Maar houd er rekening mee dat: 1. er veel slimme sockets zijn die IFTTT niet ondersteunen, en 2. Op het moment dat ik dit schrijf, staat IFTTT je alleen toe om gratis 3 applets (automatiseringstaken) te maken, wat slechts genoeg is voor 1 apparaat.
Dit zijn de stappen:
1. Maak twee applets in IFTTT, voor het in- en uitschakelen van het apparaat, met behulp van de Webhook-service. De details zijn hier te vinden.
2. Kopieer de API-sleutel en kopieer deze naar het python-script. Ik stel voor om het om veiligheidsredenen in een apart bestand te bewaren.
3. Definieer de besturingslogica/-parameters in het hoofdscript.
Stap 5: Resultaten
Oké, nu testen we het systeem.
Het OLED-display toont de huidige temperatuur, vochtigheid en berekende luchtkwaliteitsindex (AQI). Het geeft ook de minimum- en maximumwaarde van de afgelopen 12 uur weer.
De tijdreeksgegevens van de AQI over een paar dagen laten iets interessants zien. Let op de pieken in het AQI-patroon? Het gebeurde twee keer per dag, de kleine piek rond 12.00 uur en de hoge piek rond 19.00 uur. Nou, je raadt het al, dat was toen we kookten en veel fijnstof verspreidden. Het is interessant om te zien hoe onze dagelijkse activiteit het binnenmilieu beïnvloedt.
Ook duurde de laatste piek in het cijfer veel korter dan de vorige. dan voegen we de luchtreiniger toe aan het systeem. De RPi-klimaatcontroller verzendt PURIFIER_ON-verzoek wanneer AQI>50 en PURIFIER_OFF wanneer AQI<20. U kunt op dat moment de IFTTT Webhook-trigger zien.
Stap 6: Conclusie
Dat is het!
De verzamelde gegevens kunnen ook worden gebruikt om luchtverwarmers, koelers, (ont)bevochtigers, etc. aan te sturen. Je hoeft alleen maar meer slimme stopcontacten aan te schaffen en elk oud apparaat wordt "slim".
Als je veel apparaten wilt bedienen, moet je misschien goed nadenken welke domoticaservice je wilt gebruiken. Ik zou ten zeerste aanbevelen om een open-source domotica-platform op te zetten, maar als het te ingewikkeld is, zijn er eenvoudigere oplossingen zoals Google Assistant en IFTTT Webhook, of het gebruik van Zigbee smart sockets.
De volledige implementatie van dit prototype is te vinden in de Github-repository:
github.com/vuva/IndoorClimateControl
Veel plezier !!!
Aanbevolen:
Ubidots + ESP32- Predictive Machine Monitoring: 10 stappen
Ubidots + ESP32- Voorspellende machinebewaking: voorspellende analyse van machinetrillingen en -temperaturen door e-mailgebeurtenissen en een record van trillingen in Google-blad te maken met behulp van Ubidots. Voorspellend onderhoud en bewaking van machinegezondheid De opkomst van nieuwe technologie, d.w.z. het internet der dingen, zware ind
Radioactiviteitsteller (IoT) en monitoring-ecosysteem: 6 stappen (met afbeeldingen)
Radioactiviteitsteller (IoT) en monitoring-ecosysteem: Status: niet gepubliceerd. C-GM-firmware laatste update op 10 juni 2019 met nieuwe 1.3-versie A-GM-toepassing laatste update op 25 november 2019 met nieuwe 1.3-versie. Deze doe-het-zelf lage kosten ( 50 $ / 43 €) C-GM Counter-project biedt hardware en firmware voor het bouwen
Smart Energy Monitoring System: 5 stappen
Smart Energy Monitoring System: In Kerala (India) wordt het energieverbruik gemonitord en berekend door frequente veldbezoeken door technici van de elektriciteits-/energieafdeling voor de berekening van het energietarief, wat een tijdrovende taak is aangezien er duizenden huizen zullen zijn
Smart Energy Monitoring System: 3 stappen
Smart Energy Monitoring System: De vraag naar energie neemt met de dag toe. Momenteel wordt het elektriciteitsverbruik van gebruikers in een gebied gecontroleerd en berekend door frequente veldbezoeken door technici van de elektriciteitsafdeling voor de berekening van het energietarief. Dit
Hoe een Comfort Monitoring Sensor Station te bouwen: 10 stappen (met afbeeldingen)
Hoe een Comfort Monitoring Sensor Station te bouwen: Deze instructable beschrijft het ontwerp en de constructie van een zogenaamd Comfort Monitoring Station CoMoS, een gecombineerd sensorapparaat voor omgevingscondities, dat is ontwikkeld op de afdeling Bouwkunde van TUK, Technische Universität Ka