Sommario:
- Passaggio 1: hardware
- Passaggio 2: cablaggio del Raspbery Pi
- Passaggio 3: raccolta dei dati dai sensori
- Passaggio 4: configurazione del servizio di automazione domestica
- Passaggio 5: risultati
- Passaggio 6: conclusione
Video: Sistema di monitoraggio e controllo del clima interno Raspberry Pi: 6 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 09:59
Le persone vogliono sentirsi a proprio agio all'interno della loro casa. Poiché il clima della nostra zona potrebbe non essere adatto a noi, utilizziamo molti elettrodomestici per mantenere un ambiente interno salubre: riscaldatore, raffrescatore, umidificatore, deumidificatore, purificatore, ecc. Oggigiorno è comune trovare alcuni dispositivi dotati di auto- modalità per percepire l'ambiente e controllarsi. Però:
- Molti di loro sono troppo cari/non valgono i soldi.
- I loro circuiti elettrici sono più facili da rompere e più difficili da sostituire rispetto alle parti meccaniche convenzionali
- Gli elettrodomestici devono essere gestiti dall'app del produttore. È comune avere alcuni elettrodomestici intelligenti in casa e ognuno di essi ha la propria app. La loro soluzione è integrare l'app in piattaforme come Alexa, Google Assistant e IFTTT in modo da avere un controller "centralizzato"
- Ancora più importante, i produttori hanno i nostri dati e Google/Amazon/IFTTT/etc hanno i nostri dati. Non lo facciamo. Potresti non preoccuparti della privacy, ma a volte tutti potremmo voler guardare il modello di umidità della tua camera da letto, ad esempio, per decidere a che ora aprire le finestre.
In questo tutorial, costruisco un prototipo di un controller per il clima interno basato su Raspberry Pi relativamente a basso costo. L'RPi comunica con le periferiche tramite interfacce SPI/I2C/USB:
- Un sensore atmosferico viene utilizzato per rilevare la temperatura, l'umidità e la pressione dell'aria.
- Un sensore di qualità dell'aria ad alta precisione fornisce dati sul particolato atmosferico (PM2,5 e PM10) utilizzati per calcolare l'indice di qualità dell'aria (AQI)
Il controller elabora i dati acquisiti e attiva le azioni del dispositivo inviando richieste al servizio di automazione IFTTT Webhook che controlla le prese WiFi Smart supportate.
Il prototipo è costruito in modo tale da poter aggiungere facilmente altri sensori, dispositivi e servizi di automazione.
Passaggio 1: hardware
L'hardware consigliato per costruirlo:
- Un Raspberry Pi (qualsiasi versione) con WiFi. Lo costruisco usando RPi B+. RPi ZeroW andrebbe bene e costerebbe ~15$
- Un sensore BME280 per temperatura, umidità, pressione dell'aria ~ 5 $
- Un modulo sensore di rilevamento della qualità dell'aria PM2.5/PM10 laser ad alta precisione Nova SDS011 ~25$
- Un display LED/LCD. Ho usato lo schermo OLED SSD1305 da 2,23 pollici ~ 15 $
- Alcune prese intelligenti WiFi/ZigBee/Z-Wave. 10-20$ ciascuno
- Purificatore d'aria, umidificatore, deumidificatore, riscaldatore, raffrescatore, ecc. con interruttori meccanici. Ad esempio, ho usato un purificatore d'aria economico per realizzare questo tutorial
Il costo totale di cui sopra è <100 $, molto meno, ad esempio, di un purificatore intelligente che potrebbe facilmente costare 200 $.
Passaggio 2: cablaggio del Raspbery Pi
Lo schema del circuito mostra come cablare l'RPi con il sensore BME280 utilizzando l'interfaccia I2C e il display OLED HAT utilizzando l'interfaccia SPI.
Il Waveshare OLED HAT potrebbe essere collegato sopra il GPIO, ma è necessario uno splitter GPIO per condividerlo con altre periferiche. Potrebbe essere configurato per utilizzare I2C saldando i resistori sul retro.
Ulteriori informazioni sull'SSD1305 OLED HAT sono disponibili qui.
Entrambe le interfacce I2C e SPI devono essere abilitate in RPi con:
sudo raspi-config
Il sensore di polvere Nova SDS011 è collegato a RPi tramite porta USB (con un adattatore Serial-USB).
Passaggio 3: raccolta dei dati dai sensori
I dati atmosferici, che sembrano abbastanza semplici, sono raccolti dal sensore BME280 dallo script Python.
21-nov-20 19:19:25 - INFO - compensato_lettura(id=6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, timestamp=2020-11-21 19:19:25.604317, temp=20,956 °C, pressione=11019,08 hPa, umidità=49,23 % rH)
I dati del sensore polvere richiedono un po' più di elaborazione. Il modulo sensore aspira alcuni campioni d'aria per rilevare il particolato, quindi dovrebbe funzionare per un po' (30 secondi) per avere risultati affidabili. Dalla mia osservazione, considero solo la media degli ultimi 3 campioni. Il processo è disponibile in questo 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
Il sensore di polvere fornisce solo l'indice PM2.5 e PM10. Per calcolare AQI abbiamo bisogno del modulo python-aqi:
aqi_index = aqi.to_aqi([(aqi. POLLUTANT_PM25, dust_data[0]), (aqi. POLLUTANT_PM10, dust_data[1])])
La raccolta dei dati, la visualizzazione e il controllo dell'appliance vengono eseguiti contemporaneamente e in modo asincrono. I dati vengono salvati in un database locale. Non è necessario eseguirli frequentemente se l'ambiente non cambia troppo rapidamente. Per me, un intervallo di 15 minuti è sufficiente. Inoltre, il modulo del sensore di polvere accumula polvere all'interno, quindi non dovremmo abusarne per evitare l'attività di pulizia.
Passaggio 4: configurazione del servizio di automazione domestica
Ci sono molte piattaforme di automazione domestica là fuori e dovresti installare la piattaforma supportata dalla presa intelligente che hai. Se sei preoccupato per la privacy, dovresti impostare il tuo sistema. Altrimenti, puoi utilizzare le piattaforme popolari supportate dalla maggior parte delle prese intelligenti WiFi: Google Assistant, Alexa o IFTTT. Prova a selezionare la piattaforma socket con un'API con cui interagire (Webhook è perfetto per questo scopo)
Uso IFTTT in questo tutorial perché è molto facile da usare anche per i neofiti. Ma tieni presente che: 1. ci sono molti socket intelligenti che non supportano IFTTT e 2. Al momento in cui scrivo, IFTTT ti consente solo di creare 3 applet (attività di automazione) gratuitamente, che è sufficiente solo per 1 apparecchio.
Questi sono i passaggi:
1. Creare due applet in IFTTT, per accendere e spegnere l'appliance, utilizzando il servizio Webhook. I dettagli possono essere trovati qui.
2. Copia la chiave API e copiala nello script python. Suggerirei di tenerlo in un file separato per motivi di sicurezza.
3. Definire la logica/i parametri di controllo nello script principale.
Passaggio 5: risultati
OK, ora testiamo il sistema.
Il display OLED mostra la temperatura attuale, l'umidità e l'indice di qualità dell'aria calcolato (AQI). Visualizza anche il valore minimo e massimo nelle ultime 12 ore.
I dati delle serie temporali dell'AQI in pochi giorni mostrano qualcosa di interessante. Notare i picchi nel pattern AQI? È successo due volte al giorno, il picco piccolo intorno alle 12:00 e il picco massimo intorno alle 19:00. Bene, hai indovinato, è stato allora che cuciniamo, spargendo un sacco di particolato in giro. È interessante vedere come la nostra attività quotidiana influisce sull'ambiente interno.
Inoltre, l'ultima impennata della cifra è durata molto più breve delle precedenti. questo è quando aggiungiamo il purificatore d'aria nel sistema. Il regolatore climatico RPi invia la richiesta PURIFIER_ON quando AQI>50 e PURIFIER_OFF quando AQI<20. Puoi vedere il trigger IFTTT Webhook in quel momento.
Passaggio 6: conclusione
Questo è tutto!
I dati raccolti possono essere utilizzati anche per controllare riscaldatori d'aria, raffrescatori, (de)umidificatori, ecc. Basta acquistare più prese intelligenti e ogni vecchio elettrodomestico diventerà "intelligente".
Se vuoi controllare molti elettrodomestici, potresti dover considerare attentamente quale servizio di domotica vuoi utilizzare. Consiglio vivamente di configurare una piattaforma di automazione domestica open source, ma se è troppo complicato, esistono soluzioni più semplici come Google Assistant e IFTTT Webhook o l'utilizzo di prese intelligenti Zigbee.
L'implementazione completa di questo prototipo può essere trovata nel repository Github:
github.com/vuva/IndoorClimateControl
Divertiti !!!
Consigliato:
Usare l'estensione del petto di Hope per trovare un lavoro di ordinanza del tempio incompleto all'interno del tuo albero genealogico su Family Search: 11 passaggi
Usare l'estensione di Hope's Chest per trovare il lavoro delle ordinanze del tempio incompleto all'interno del tuo albero genealogico su Family Search: Lo scopo di questa istruzione è dimostrare come cercare nel tuo albero genealogico in Family Search per gli antenati con il lavoro delle ordinanze del tempio incompleto usando l'estensione Hope's Chest. L'uso di Hope's Chest può accelerare notevolmente la ricerca di incomp
Sistema di monitoraggio e controllo dell'umidità del suolo basato su IoT utilizzando NodeMCU: 6 passaggi
Sistema di monitoraggio e controllo dell'umidità del suolo basato su IoT utilizzando NodeMCU: In questo tutorial implementeremo un sistema di monitoraggio e controllo dell'umidità del suolo basato su IoT utilizzando il modulo WiFi ESP8266, ovvero NodeMCU. Componenti necessari per questo progetto: Modulo WiFi ESP8266 - Amazon (334/- INR)Modulo relè – Amazon (130/- INR
Sistema di monitoraggio del clima interno basato su Raspberry Pi: 6 passaggi
Sistema di monitoraggio del clima interno basato su Raspberry Pi: leggi questo blog e crea il tuo sistema in modo da poter ricevere avvisi quando la tua stanza è troppo secca o umida. Che cos'è un sistema di monitoraggio del clima interno e perché ne abbiamo bisogno? Sistemi di monitoraggio del clima interno fornire una rapida occhiata ai principali fattori climatici
UCL - IIoT - Clima interno 4.0: 8 passaggi
UCL - IIoT - Clima interno 4.0: dopo aver letto e lavorato con questa istruzione, avrai il tuo clima interno automatico, che puoi osservare online con l'aiuto di Node-red. Nel nostro caso abbiamo sviluppato questa idea e l'abbiamo presentata in una casa di stampa 3D
EAL- Embedded Clima interno: 5 passaggi
EAL- Embedded Indoor-climate: per il nostro progetto scolastico, siamo stati incaricati di integrare un arduino in un sistema automatizzato. Abbiamo scelto di realizzare un sensore climatico per interni, in grado di rilevare la temperatura, l'umidità e il livello di decibel all'interno. Abbiamo praticato un paio di fori nell'armadio