Sommario:
- Passaggio 1: materiali
- Passaggio 2: connessioni
- Passaggio 3: stampa 3D
- Passaggio 4: codice
- Passaggio 5: banca dati
- Passaggio 6: connettiti al Wi-Fi
- Passaggio 7: mettere tutto insieme
- Passaggio 8: avvialo
Video: AirPi - Sensore di qualità dell'aria: 8 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Ti sei mai chiesto perché ti viene il mal di testa? E se questo fosse dovuto a una cattiva qualità dell'aria? Con questo dispositivo puoi verificare se è così. Questo dispositivo misura il valore di CO2, il valore TVOC, la temperatura e l'umidità. Puoi vedere la qualità dell'aria dal vivo sul display LCD e vedere una chiara indicazione se sta diventando pericoloso. In questo modo puoi aprire le finestre in tempo.
Se inserisci l'indirizzo IP - mostrato all'avvio del dispositivo nel browser - il sito web si aprirà. Puoi vedere molte informazioni sull'ambiente interno, insieme ai grafici degli ultimi minuti / ore. C'è anche un'indicazione in tempo reale e alcune informazioni e suggerimenti sul cruscotto.
Questo progetto è stato realizzato da uno studente di Howest Kortrijk, NMCT (New Media and Communication Technology).
Passaggio 1: materiali
Questo è tutto ciò che ho comprato per creare questo progetto. Questo è un progetto relativamente economico, a seconda del costo della stampa 3D. Se riesci a stamparlo a scuola, potrebbe essere molto economico. Altrimenti dipende da dove lo stampi e dal materiale con cui lo stampi. Noterai che ho comprato molto in blocco, semplicemente perché è difficile trovare resistori o led singoli e questo lo rende ancora più economico. Se hai tempo, puoi ordinare la maggior parte degli articoli su aliexpress.com, la consegna potrebbe richiedere del tempo, ma in questo modo puoi limitare le tue spese.
Senza la stampa, i soldi che ho speso per questo progetto sono 81, 80 euro.
Questi sono i materiali di cui hai bisogno:
Circuito:
- Raspberry Pi 3
- Scheda SD 8GB (minimo)
- Sensore di qualità dell'aria CCS811
- Sensore di temperatura e umidità DHT22
- Potenziometro (LCD a contrasto)
- LCD 16x2
- Cavi di collegamento da femmina a femmina
- LED verde e rosso
- Resistori (2x470ohm e 1 4700ohm)
Caso:
- Stampa 3D
- viti
- Colla a 2 componenti (o altra colla a caldo)
- strumento di taglio del filo
Solo di voi state usando un PCB:
- Saldatore
- Flusso (rende più facile)
- Lattina
- Scheda esperimento 2x4cm
Passaggio 2: connessioni
Collegare i fili come sopra. Puoi vedere un circuito elettrico nel file fritzing. Non è un circuito molto complicato, ma se vuoi renderlo il più piccolo possibile, sicuramente vuoi ottenere una scheda PCB da esperimento. Il cablaggio sarebbe lo stesso, tranne che GND e Vin saranno collegati alla scheda PCB. I sensori saranno collegati tramite ponticelli femmina o maschi con saldatura. Non dimenticare di saldare la resistenza sul sensore DHT22.
Consiglio anche di usare cavi corti, dovrebbero bastare 10 cm. Altrimenti la scatola si riempirebbe ancora di più di cavo. Non hai bisogno di quelli molto lunghi poiché la dimensione della stampa è ridotta al minimo.
Passaggio 3: stampa 3D
Il primo pensiero che mi è venuto in mente quando stavo pensando a un caso è stata una stampa 3D. Dal momento che mio padre aveva stampato molti altri oggetti e li ha progettati lui stesso. Insieme abbiamo creato questo design e pensato a ogni aspetto. Dovrebbe essere abbastanza ben raffreddato, tutto può essere avvitato al suo posto e, in caso contrario, può essere spinto al suo posto.
Abbiamo persino disegnato ogni componente per verificare se tutto si adattava. Il file è disponibile per tutti e ci piacerebbe ricevere un feedback. Siamo rimasti molto soddisfatti del risultato.
Passaggio 4: codice
Il codice per questo progetto può essere trovato su Github. Se hai usato altri pin (ad esempio un altro pin GPIO per i LED, dovrai regolare queste variabili. Ci saranno due script Python in esecuzione, web.py per il sito Web e sensor.py per leggere i sensori e aggiornare il database. Importeremo la classe LCD da lcd.py.
Con un Raspberry Pi configurato puoi iniziare. Prima di tutto dovrai aggiornare e aggiornare tutti i pacchetti:
sudo apt-get update && sudo apt-get upgrade
Dopodiché dovrai installare i seguenti pacchetti:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Ora crea un ambiente virtuale:
me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenv
me@mio-rpi:~ $ mkdir progetto1 && cd progetto1 me@mio-rpi:~/progetto1 $ python3 -m venv --system-site-packages env me@mio-rpi:~/progetto1 $ source env/bin/ enable (env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Fatto ciò, puoi clonare il codice dal mio GitHub nel tuo ambiente virtuale. Questo può essere fatto in più modi.
Nella directory conf puoi trovare quattro file che dovrai modificare se necessario. Dovrai sicuramente cambiare l'utente e la homedirectory in ogni file. L'ini uWSGI dovrebbe andare bene finché non hai cambiato il mio codice, assicurati di cambiare l'utente e virtualenv se necessario.
Poiché il sensore CCS811 è stato utilizzato intenzionalmente per l'arduino, questo non può comunicare sul bus i2c alla velocità del raspberry pi. Dovrai ridurre la velocità a un baudrate di 10000 (ho usato 9600) nel file di configurazione.
Dovrai anche ottenere la libreria del sensore adafruit. Potrei spiegarlo qui, ma c'è una guida perfetta di adafruit che spiega tutto questo molto bene.
Poiché vogliamo che gli script Python vengano eseguiti automaticamente quando il raspberry è connesso, dovrai utilizzare i servizi. Dovrebbero andare bene se hai mantenuto il mio codice. Tutto quello che devi fare per farli funzionare è abilitarli. Prima di farlo c'è un'ultima cosa.
Dato che stiamo usando un server web nginx, dovremo disattivare l'impostazione predefinita e sostituirla con la nostra configurazione. Per fare ciò è necessario seguire questi passaggi:
- copia conf/nginx in *sites-available*
- Rimuovi il collegamento a default-config
- Aggiungi un collegamento alla nuova configurazione
- Riavvia nginx per salvare le modifiche
me@my-rpi:~/project1 $ sudo cp conf/project1-*.service /etc/systemd/system/
me@my-rpi:~/project1 $ sudo systemctl daemon-reload me@my-rpi:~/project1 $ sudo systemctl start project1-* me@my-rpi:~/project1 $ sudo systemctl status project1-*
Nginx e mysql dovrebbero essere sempre in esecuzione. Si avviano insieme al lampone pi. Lo script web e lo script del sensore non ancora.
Per fare ciò devi comunque abilitare questi due servizi con questi comandi:
sudo systemctl enable project1-flask.service
sudo systemctl enable project1-sensor.service
Passaggio 5: banca dati
Il mio database è composto da tre tabelle. L'utente non ha alcuna relazione con altre tabelle. Questo viene utilizzato solo per accedere e concedere l'accesso al sito web. Quando il dispositivo viene acceso, il valore di CO2 e il valore TVOC verranno scritti nel database ogni 50 secondi. La temperatura e l'umidità ogni 5 minuti. In questo modo otteniamo una chiara panoramica del passato.
Il file SQL può essere trovato qui, ma per ottenere il database sul raspberry pi, dovresti seguire questi passaggi:
Dopo l'installazione dei pacchetti nel passaggio precedente, mariadb/mysql dovrebbe essere eseguito immediatamente. Puoi verificarlo con questa riga:
me@my-rpi:~ $ sudo systemctl status mysql
Per creare il database e gli utenti puoi semplicemente eseguire gli script sql nel codice da GitHub. Se lo hai fatto correttamente dovresti vedere le tue tabelle usando questo comando:
me@mio-rpi:~ $ echo 'mostra tabelle;' | mysql progetto1 -t -u progetto1-admin -p
Ora che siamo a posto, puoi testarlo senza la custodia per assicurarti che tutto funzioni. A meno che tu non sia connesso al wifi, dovrai collegarlo con un cavo ethernet ed eseguirlo manualmente.
Passaggio 6: connettiti al Wi-Fi
Apri il file di configurazione wpa-supplicant in nano (non importa, assicurati solo di poter lavorare con l'editor di testo).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Vai alla fine del file e aggiungi quanto segue (sostituisci il nome ssid e il nome password con il tuo):
rete={
ssid="ssid-name" psk="password-name" }
Per creare una password crittografata puoi usare wpa_passphrase e semplicemente copiarla nel psk wpa_supplicant.conf per rendere le cose più sicure.
wpa_passphrase "nome-ssid" "nome-password"
Se vuoi che si connetta automaticamente a questa rete Wi-Fi e ce ne sono altri nel file di configurazione, assicurati di cambiare la priorità a un livello più alto aggiungendo questa riga alla rete nel file di configurazione:
priorità=2
Non dimenticare di riconfigurare l'interfaccia con:
wpa_cli -i wlan0 reconfigure
Ora sei pronto e connesso a una rete Wi-Fi.
Passaggio 7: mettere tutto insieme
Poiché tutto è cablato e saldato, possiamo arrivare al caso. Questo è stato progettato in modo da poter aprire il case senza fili allentati. Ciò significa che tutto è attaccato alla parte inferiore. La prima cosa da fare è un piccolo aggiustamento al lampone. Ha dei buchi in ogni angolo, ma questi non sono grandi come dovrebbero essere. Il diametro dovrebbe essere sufficiente per inserire una vite da 3 mm all'interno. Abbiamo dovuto lucidare i fori in modo che diventassero un po' più larghi.
La seconda cosa da fare è tagliare una filettatura in ogni foro. Questo può sembrare difficile, ma può essere fatto facilmente con gli strumenti giusti. Consiglierei di farlo in un negozio di ferramenta locale, basta chiedere uno strumento per tagliare i fili. Dato che mio padre è un orafo, aveva gli strumenti per farlo al lavoro. Potrei caricare un nuovo file stl in modo che questo venga stampato in seguito, ma questo richiederebbe una stampante molto accurata.
Il terzo passo è avvitare il pi greco sulla parte inferiore. Avrai bisogno di 4 viti lunghe 7 mm con un diametro di 3 mm. Dopodiché puoi inserire la scheda PCD nell'apposito posto nella parte superiore della parte inferiore. Il sensore CCS811 può essere inserito nell'apposito posto sul lato sinistro e il DHT11 può essere fissato alla piastra destra. Entrambi sono isolati e sufficientemente ventilati, ma in seguito abbiamo notato che all'interno faceva ancora caldo. Ne parleremo più avanti.
Quindi è necessario collegare i LED al loro tubo. Lo abbiamo fatto con la colla a 2 componenti, ma puoi farlo come preferisci. Assicurati che si attacchino lì.
Ora puoi attaccare il display LCD, avrai bisogno di viti con lo stesso diametro delle precedenti, ma un po' più lunghe. I miei erano di 1 cm. Se le quattro viti sono avvitate, resta solo una cosa da fare. Attacca la parte superiore. Tutto ciò di cui hai bisogno sono quattro viti, con lo stesso diametro e queste sono 2 cm. Ora tutto dovrebbe essere a posto e puoi avviarlo.
Passaggio 8: avvialo
Il processo di avvio di questo progetto è molto semplice:
- Collegare il cavo di alimentazione al lato sinistro del case. Non è molto visibile ma puoi vedere attraverso le prese d'aria. Se l'hai preso una volta, questo non sarà più un problema.
- Dagli un po' di tempo per iniziare.
- L'indirizzo IP verrà visualizzato sul display per dieci secondi. L'unica cosa che devi fare è assicurarti di essere connesso alla stessa rete e inserire l'indirizzo IP nella barra degli indirizzi del tuo browser.
- Ora sei sul sito web. Non hai ancora un account, quindi crea un account.
- Se sei registrato effettua il login.
- Fatto! Puoi vedere tutti i dati sulla pagina web e il display LCD mostra la qualità dell'aria attuale.
Poiché il calore aumenta, abbiamo posizionato i sensori nella parte inferiore del case. In questo modo la temperatura non avrebbe un grande impatto sui valori registrati. Quindi, per misurazioni ottimali, fai alzare il dispositivo o puoi semplicemente appenderlo al muro.
Consigliato:
Misuratore della qualità dell'aria interna: 5 passaggi (con immagini)
Misuratore della qualità dell'aria interna: progetto semplice per controllare la qualità dell'aria nella tua casa. Dato che ultimamente stiamo/lavoriamo molto da casa, potrebbe essere una buona idea monitorare la qualità dell'aria e ricordare a te stesso quando è il momento di aprire la finestra e prendi una boccata d'aria fresca
Display LED di stato della qualità dell'aria PurpleAir: 4 passaggi
Display a LED sullo stato della qualità dell'aria PurpleAir: con i recenti incendi in California, la qualità dell'aria a San Francisco è stata fortemente influenzata. Ci siamo ritrovati a controllare la mappa PurpleAir più e più volte sui nostri telefoni o laptop cercando di vedere quando l'aria era abbastanza sicura da aprire la vittoria
Semplice monitoraggio della qualità dell'aria con display LCD TFT - Ameba Arduino: 3 passaggi
Semplice monitoraggio della qualità dell'aria con display LCD TFT - Ameba Arduino: introduzione Ora che la maggior parte delle persone rimane a casa per evitare il contatto ravvicinato con il potenziale portatore del virus COVID-19, la qualità dell'aria diventa un fattore importante per il benessere delle persone, specialmente nei paesi tropicali dove l'uso dell'aria condizionata è un must durante il giorno
Airduino: monitor mobile della qualità dell'aria: 5 passaggi
Airduino: monitor mobile della qualità dell'aria: benvenuto nel mio progetto, Airduino. Mi chiamo Robbe Breens. Sto studiando tecnologia multimediale e della comunicazione presso Howest a Kortrijk, Belgio. Alla fine del secondo semestre, dobbiamo realizzare un dispositivo IoT, che è un ottimo modo per portare tutte le
Pannello di controllo dell'API AirVisual per la qualità dell'aria: 5 passaggi
AirVisual Air Quality API Dashboard: AirVisual (https://www.airvisual.com) è un sito Web che fornisce dati sulla qualità dell'aria in tutto il mondo. Hanno un'API che utilizzeremo per ottenere dati sulla qualità dell'aria da inviare a una dashboard. Interagiremo con questa API in modo simile a come abbiamo fatto con noi