| Il
sensore SGP30 (che segue il protocollo I2C), serve per
valutare la qualità dell'aria, di cui monitorizza ben
quattro parametri: - CO2 (concentrazione di anidride carbonica in ppm); - TVOC (Componenti Organici Volatili Totali), relativo alla contaminazione chimica dell'aria; - H2 (concentrazione di idrogeno nell'aria); - Etanolo (concentrazione di etanolo o alcol etilico). Con alcuni semplici programmi è possibile monitorare (ed eventiualmente purificare) la qualità del'aria. |
![]() |
| |
|
|
| |
| Come collegare il modulo alla BDS |
|
Il modulo SGP30 segue il protocollo I2C2 si colloca sul connettore I2C3. |
| |
|
|
| |
| La creazione dell'ambiente virtuale
el'installazione delle librerie necessarie. |
| Ipotizziamo che sul desktop del proprio Raspberry si crei una cartella "Projects" e all'interno una sottocartella "ssd30" in cui creeremo l'ambiente virtuale (che chiameremo "sgp"), le librerie necessarie e i programmi. Nota: naturalmente i nomi dati alle sottocartelle possono essere variati a piacere. Postulando che si siano create le cartelle indicate, si può iniziare con la programmazione. Aprire un terminale (la quarta icona in alto a destra) e digitare quanto segue:cd Desktop/Projects/sgp30 per spostarsi nella cartella "sgp30; python3 -m venv sgp per creare l'ambiente virtuale "sgp"; source sgp/bin/activate per attivare l'ambiente virtuale: apparirà (sgp) all'inizio della nuova riga; ![]() Si attiva l'ambiente virtuale ![]() Installazione della libreria necessaria per il sensore sgp30: ![]() Effettuati questi passi, si possono lanciare i primi due programmi. Mentre, per il terzo programma, è necessario installare anche la libreria "flask", con il comando: "pip3 install flask": ![]() E infine, per il quarto programma, è necessario installare anche la libreria RPi.BME280, digitando il comando "pip3 install RPi.BME280": ![]() Nota: per disattivare un ambiente virtuale, è sufficiente scivere il comando "deactivate". |
| |
|
|
| |
| Ulteriori
programmi con il sensore SGP30 |
| Si possono trovare ulteriori programmi con SGP30 in questa pagina Si possono trovare programmi per SGP30 e Thingspeak a questa pagina |
| |
|
|
| |
| Il primo programma:
visualizzazione dei dati sul terminale |
| Il primo programma, "sgp30_1.py", mostra semplicemente i dati registrati sul terminale del Raspberry, con un aggiornamento ogni due secondi. Naturalmente si può aumentare a piacere l'intervallo tra una lettura e la successiva. Nota: il sensore, per dare informazioni corrette, deve raggiungere la giusta temperatura, ed è necessario da alcuni secondi ad alcuni minuti. Nel periodo di riscaldamento, "eCO2" segna "400 ppm" e "TVOC" ha valore "0 ppb". |
![]() ![]() |
| Clicca qui per scaricare il file in formato ".zip" Clicca qui per visualizzare il file. Dopo aver scaricato il programma nella cartella selezionata (nel nostro caso, /Desktop/Projects/dht11), scompattare il programma sgp30_1.py e lanciarlo con il seguente comando: "python sgp30_1.py" Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie. |
| |
|
|
| |
| Il
secondo programma: visualizzazione dei dati sul terminale
e salvataggio dei dati |
|
Il primo programma, "sgp30_data.py", è simile al precedente, ma oltre a mostrare i dati sul terminale, li salva anche su di un file, "sensor_readings_sgp30.txt |
| Clicca qui per scaricare il file in formato ".zip" Clicca qui per visualizzare il file. Dopo aver scaricato il programma nella cartella selezionata (nel nostro caso, /Desktop/Projects/dht11), scompattare il programma sgp30_data.py e lanciarlo con il seguente comando: "python sgp30_data.py" Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie. |
| |
|
|
| |
| Il
terzo programma: la visualizzazione dei
dati sul proprio browser |
| Il terzo programma mostra i dati su l proprio browser. Naturalmente è necessario che il Raspberry e il proprio computer siano sulla stessa rete interna, sia wi-fi che con un cavo di rete. Dopo aver lanciato il prgramma, appaiono sul terminale una serie di dati, necessari perm visualizzare i dati sul terminale. In questo caso: http://192.168.1.69:5000 da inserire nel browser.
|
| Clicca qui per scaricare il file in formato ".zip" Clicca qui per visualizzare il file. Dopo aver scaricato il programma nella cartella selezionata (nel nostro caso, /Desktop/Projects/dht11), scompattare il programma sgp30_webs.py e lanciarlo con il seguente comando: "python sgp30_webs.py" Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie. |
|
|
| Il
quarto programma: SGP30 + BME280 sul
browser |
![]() |
Il quarto programma presentato in questa sessione è un perfezionamento di quello precedente: oltr a visualizzare sul browser le informazioni sulla qualità dell'aria, registrate dal sensore SGP30, verranno visualizzate anche le condizioni meteorologiche, infatti BME280 rileva: - la temperatura, - l'umidità dell'aria, - la pressione atmosferica. Si ottiene così una monitorizzazione completa dei parametri relativi all'aria e alle condizioni del tempo. Nota: i dati sul browser non si aggiornano automaticamente, perciò per ottenerlo, è necessario cliccare sul cerchiolino (quadratino rosso, vedi foto del programma precedente)
|
Clicca qui per scaricare il file in formato ".zip" Clicca qui per visualizzare il file. Dopo aver scaricato il programma nella cartella selezionata (nel nostro caso, /Desktop/Projects/dht11), scompattare il programma 30_280_webs.py e lanciarlo con il seguente comando: "python 30_280__webs.py" Controllare di aver attivato l'ambiente virtuale e scaricato le librerie necessarie. |
![]() Per visualizzare i dati sul proprio browser, digitare l'indirizzo nel riquadro verde |
|
|