Come funziona l’orologio al quarzo?
2 Gennaio 2022
Dieci trucchi per aiutare la Terra
12 Luglio 2022
Come funziona l’orologio al quarzo?
2 Gennaio 2022
Dieci trucchi per aiutare la Terra
12 Luglio 2022
Show all

L’inquinamento dell’aria: come creare una stazione di monitoraggio

stazione-monitoraggio-aria

I livelli di inquinamento dell’aria delle nostre città hanno raggiunto livelli altissimi per diversi motivi (ad esempio a causa dell’elevato traffico automobilistico o per le emissioni gassose da parte delle industrie etc.).

L’agenzia europea per l’ambiente ha lanciato l’allarme che in Italia si verificano oltre 50000 decessi legati a patologie dovute all’inalazione delle polveri sottili.

Costruire una stazione per monitorare l’inquinamento dell’aria, dovuto alla presenza delle polveri sottili, è molto facile: scegliamo i giusti componenti ed il gioco è fatto. Si tratta davvero di un progetto pratico, intuitivo e divertente da sviluppare con una spesa davvero minima

La nostra stazione sarà in grado di registrare le polveri sottili presenti nell’aria, insieme a temperatura e umidità, e comunicare i valori acquisiti in tempo reale – ad intervalli di un’ora – su internet. Così possiamo monitorare la qualità dell’aria ovunque siamo e quando vogliamo. Figo vero?

Inquinamento dell’aria: le polveri sottili

Le polveri sottili sono prodotte dalla combustione dei derivati del petrolio e dall’usura di parti meccaniche (pasticche dei freni e pneumatici).

Le polveri sottili sono classificate con la sigla PM. Ci sono le PM10, le PM5 e le PM2.5. La sigla PM significa polveri micrometriche, quindi le PM10 sono le polveri con diametro pari a 10 micron, le PM2.5 pari a 2.5 micron e via dicendo.

Studi recenti hanno correlato l’esposizione alle polveri sottili alla comparsa di malattie neurodegenerative come Parkinson ed Alzaimer.

Inquinamento dell’aria: i componenti della stazione di monitoraggio

Per la costruzione della nostra stazione di monitoraggio dell’aria abbiamo usato i seguenti componenti:

  • Scheda NodeMCU ESP8266 ESP-12F;
  • Cavo USB-A – MicroUSB-B;
  • Sensore PM SDS011;
  • Sensore DHT22;
  • Cavetti femmina-femmina;
  • Adattore usb presa elettrica;
  • Prolunga;

Gli ultimi due componenti dell’elenco servono per collegare la stazione alla presa elettrica e, grazie alla prolunga, posizionarla sul balcone o fuori dalla finestra.

Tutti questi componenti possono essere acquistati su Amazon: per comodità vi inserisco il per ogni prodotto. Io ho ritirato tutti i componenti utilizzando Amazon Prime: nell’arco di due giorni ho ricevuto tutto!

IntraGeo partecipa al programma di affiliazione Amazon, quindi se compri i componenti attraverso i link che ti ho condiviso, il sito riceve una piccola percentuale monetaria. La percentuale viene data da Amazon, perciò tu non paghi niente.

Quindi, se acquisti da questi link contribuirai alla crescita del sito: ti ringrazio veramente di cuore!

  • ✅ La scheda di sviluppo NodeMCU Lolin V3 ESP8266 è dotata di un potente microcontrollore ESP8266 (ESP-12F) con 802.11 b / g / n WLAN e antenna integrata da 20dBm. È specificatamente progettato per rispondere alle esigenze di connessione WiFi di diversi dispositivi.
  • ✅ Prototipazione confortevole mediante semplice programmazione tramite codice Lua-Script e una costruzione ottimizzata per breadboard (spaziatura dei piedini 27.5 mm).
  • ✅ AZ-Delivery NodeMCU ESP8266 può essere utilizzata per piccoli monitor di temperatura e umidità ed in progetti di automazione domestica Internet of Things.
  • ✅ Questa scheda di sviluppo è composta da altri due microcontrollori: il chip di memoria flash 25Q32 4M (32mbit) ed il chip seriale, aggiornato CH340.
  • ✅ Questo prodotto include un E-Book che fornisce informazioni utili su come avviare il vostro progetto. Permette un'installazione rapida e fa risparmiare tempo durante il processo di configurazione. Include una serie di esempi di applicazioni, guide complete per l'installazione e librerie.
  • Cavo USB 2.0 con connettori A maschio e Micro-B
  • supporta una velocità massima di trasmissione dati di 480 Mbps
  • Ideale per la ricarica di telefoni e tablet Android o il collegamento di periferiche per PC quali hard disk, stampanti, etc.
  • Connettori anticorrosione placcati in oro per una trasmissione nitida del segnale
  • connettore più piccolo progettato in modo tale da adattarsi a spazi ristretti
  • I connettori con testa compatta si adattano a quasi tutti i tipi di custodie
  • capacità di ricarica migliorata fino a 2.100 mA
  • L'SDS011, utilizzando il principio di scattering, può ottenere una concentrazione di particelle tra 0,3 e 10 um nell'aria. Con uscita digitale e ventola integrata è stabile e affidabile.
  • Accurato e affidabile: rilevamento, stabile, buona coerenza; Risposta rapida: il tempo di risposta è inferiore a 10 secondi quando la scena cambia.
  • Facile integrazione: uscita UART (o uscita IO personalizzabile), ventola integrata; Alta risoluzione: risoluzione di 0,3ug / m3.
  • Ambito di applicazione: rivelatore PM2.5; purificatore; scambiatori d'aria; sistema di filtraggio.
  • Principio di funzionamento: utilizzo del principio di scattering: la dispersione della luce può essere indotta quando le particelle attraversano l'area di rilevamento; la luce diffusa viene trasformata in segnali elettrici e questi segnali verranno amplificati ed elaborati
  • ✅ Il sensore AZDelivery DHT22 AM2302 consente la misurazione di temperatura ed umidità in formato digitale.
  • ✅ Il sensore DHT22 è l’ideale per tutti quei progetti in cui sono richiesti dati precisi, come ad esempio un terrario oppure una stazione meteo.
  • ✅ Le dimensioni compatte consentono un utilizzo anche in spazi ridotti. I materiali di alta qualità lo rendono molto resistente. Otterrete un dispositivo professionale, ma ad un prezzo che è solo una frazione del costo che avreste pagato per dei sensori di altre marche.
  • ✅ La versatilità del sensore DHT22, che può supportare tensioni sia a 3,3V che a 5V, lo rende perfettamente compatibile con RN-Control, Raspberry Pi.
  • ✅ Questo prodotto include un E-Book che fornisce informazioni utili su come avviare il vostro progetto. Permette un'installazione rapida e fa risparmiare tempo durante il processo di configurazione. Include una serie di esempi di applicazioni, guide complete per l'installazione e librerie.
  • ✅ Collega con i nostri cavi jumper in modo semplice e affidabile tutti i tuoi moduli con i GPIO del tuo Raspberry Pi. Questo set di cavi offre molte possibilità di espansione flessibile alla scheda plug-in nella versione con connettore femmina-femmina.
  • ✅ Questo kit contiene 40 cavi di collegamento della lunghezza di 20 cm ciascuno. Questo li rende abbastanza a lungo per ciascuno dei vostri progetti.
  • ✅ I nostri cavi plug-in possono essere utilizzati con un passo di 2,54 mm e sono quindi compatibili con tutte le comuni pin header. Possono essere facilmente separati l'uno dall'altro e possono essere tenuti saldamente nella loro presa quando vengono utilizzati.
  • ✅ A differenza dei prodotti della concorrenza cinese, i nostri ponti metallici Jumper sono realizzati con una speciale miscela di rame che, a differenza dell'alluminio normalmente utilizzato all'interno, è molto resistente ed ha un'ottima conducibilità. Può quindi essere utilizzato anche per applicazioni industriali / professionali, in quanto la nostra miscela di rame è estremamente durevole.
  • ✅ Questo prodotto include un E-Book che fornisce informazioni utili su come avviare il vostro progetto. Permette un'installazione rapida e fa risparmiare tempo durante il processo di configurazione. Include una serie di esempi di applicazioni, guide complete per l'installazione e librerie.
  • Carica sicura, bassa temperatura e silenziosità: Il caricabatterie ha una potenza di ricarica di 5V1A e il chip di gestione dell'alimentazione incorporato è in grado di adattare la corrente giusta ai diversi dispositivi; non solo ha un tasso di conversione ad alta efficienza energetica, un basso consumo e la caratteristica di non scaldarsi facilmente, ma adotta anche un design ottimizzato della frequenza di oscillazione di commutazione per evitare il rumore della corrente.
  • Design classico, facile da trasportare: Il caricabatterie ha uno stile classico, senza inutili design appariscenti, compatto e leggero, che consente di risparmiare spazio e di trasportarlo facilmente; l'involucro ha una finitura opaca, che non solo è resistente alle impronte digitali, ma aumenta anche la resistenza alla presa e facilita l'inserimento e il disinserimento della spina.
  • Protezione multipla per una maggiore tranquillità: Il caricabatterie è dotato di certificazione di sicurezza e di molteplici funzioni di protezione per evitare efficacemente sovratemperature, sovratensioni, sovracorrenti e cortocircuiti; l'involucro in PC ignifugo è resistente agli urti e al fuoco, nonché alle alte temperature, proteggendo efficacemente la struttura interna del caricabatterie ed evitando danni al dispositivo e lesioni personali causate da incidenti.
  • Multi-uso, forte adattabilità: Il caricabatterie è altamente compatibile, non solo per telefoni cellulari, tablet, power bank, cuffie Bluetooth, smart band e altri dispositivi con interfaccia USB, utilizzando una vasta gamma di ingresso di tensione 100-240V è anche adatto per diversi paesi e tensione regionale.
  • Il servizio post-vendita è senza problemi, sentitevi liberi di contattare: Il caricabatterie ha una garanzia di 2 anno, se avete domande sul prodotto potete contattarci in qualsiasi momento, il nostro team di assistenza clienti professionale vi risponderà entro 24 ore.

Stazione monitoraggio dell’inquinamento dell’aria: i collegamenti

Per collegare i due sensori alla scheda NodeMCU segui lo schema rappresentato in questa figura.

inquinamento-aria

Thingspeak: configurazione del canale

Thingspeak (lotrovi cliccando qui) è un servizio on-line, che permette anche la visualizzazione live di dati provenienti da dispositivi IoT (come nel nostro caso).

Usiamo quindi questo servizio per visualizzare real-time i dati acquisiti dalla nostra stazione.

Una volta iscritto al sito devi creare un nuovo canale. Clicca quindi su “Channels” e quindi su “My Channels“.

inquinamento-aria-stazione-monitoraggio

Clicca sul tasto verde New Channel per creare il tuo canale.

A questo punto si apre una finestra dove dovrai Impostare il nome del canale, in Field 1 il campo della temperatura, in Field 2 il campo dell’Umidità, in Field 3 il campo delle PM2.5 ed infine in Field 4 il campo delle PM10.

In fondo alla pagina trovi il tasto per salvare il canale.

inquianento-aria-canale-monitoraggio

Ecco, sei arrivato quasi alla fine. Entra nella scheda API Keys e prendi nota dei dati indicati dalle frecce rosse. Ti serviranno nel codice che va caricato nella scheda.

thingspeak-inquinamento-aria

Il codice per il funzionamento della stazione di monitoraggio

Una volta che abbiamo collegato i due sensori alla scheda e aperto il canale su Thingspeak, è arrivato il momento di passare al software da caricare nella nostra stazione di monitoraggio dell’inquinamento.

Il primo passo da fare è scaricare l’IDE di Arduino cliccando su questo link (https://www.arduino.cc/en/software). Scarica la versione dell’IDE in funzione del tuo sistema operativo.

Scaricato ed installato l’IDE passiamo al passaggio successivo. Avviamo il software in modo da poter aprire il codice (scaricabile da questo link) che fa funzionare la nostra stazione.

Aperto il codice facciamo alcuni preparativi, seguendo questa scaletta:

  1. installazione dell’Add-on della scheda ESP8266 nell’IDE di Arduino:
    1. dalla schermata principale andare su File -> Impostazioni e inserire la stringa “http://arduino.esp8266.com/stable/package_esp8266com_index.json” nel campo “URL aggiuntivo per il Gestore Schede”. Confermare con il pulsante “OK”;
    2. sempre all’interno dell’IDE di Arduino, andare su Strumenti -> Scheda -> Gestore schede, cercare la stringa ESP8266 e procedere con l’installazione della scheda ESP8266 by ESP8266 Community;
    3. in Strumenti -> Scheda selezionare la scheda Node MCU 1.0 (ESP-12E Module);
  2. installazione della libreria per il sensore DHT22:
    1. in Strumenti -> Gestione librerie cercare la stringa DHT22 e procedere con l’installazione della libreria DHT sensor library by Adafruit;
    2. in Strumenti -> Gestione librerie cercare la stringa Adafruit Unified Sensor e procedere con l’installazione della libreria Adafruit Unified Sensor by Adafruit;
  3. installazione della libreria per la gestione del sensore SDS011:
    1. in Strumenti -> Gestione librerie cercare la stringa SDS011 e procedere con l’installazione della libreria SDS011 sensor library by R. Zschiegner;
  4. installazione della libreria per la gestione della comunicazione con il server ThingSpeak:
    1. in Strumenti -> Gestione librerie cercare la stringa ThingSpeak e procedere con l’installazione della libreria ThingSpeak by Mathworks;
setting-stazione-inquinamento-aria
Schermata rappresentativa del procedimento descritto nel punto 1.1

Bene, finiti questi passaggi mancano gli ultimi dettagli.

Nella riga define SECRET_CH_ID 0000000 devi sostituire 0000000 con l’ID del canale; nella riga di codice #define SECRET_WRITE_APIKEY “XYZ” sostituire XYZ con la API Key del tuo canale Thingspeak, nella linea #define SECRET_SSID “MySSID” sostituisci MySSID con il SSID della rete WiFi ed infine nella riga #define SECRET_PASS “KQDUXT3E2X” sostituisci MyPassword con la password del tua rete WiFi.

Adesso il gioco è fatto. Carica il codice sulla scheda e la stazione è pronta a rilevare i valori di inquinamento. Puoi controllare le acquisizioni sia sul monitor seriale che sul canale Thingspeak.

inquinamento-aria-grafici

I dati acquisiti e visibili su Thingspeak sono anche scaricabili in diversi formati, tra i quali il CSV. Una volta scaricati possono essere analizzati statisticamente e resi presentabili sotto forma di grafico.

Vi faccio l’esempio di uno script Python che ho scritto per creare il grafico d’insieme dell’andamento di temperatura, umidità, PM2.5 e PM10.

#importo le librerie necessarie per la lettura e l'analisi dei file CSV
import pandas as pd
import matplotlib.pyplot as plt

#creo i dataframes dai file CSV
df1=pd.read_csv('temperatura.csv')
df2=pd.read_csv('umidità.csv')
df3=pd.read_csv('pm2-5.csv')
df4=pd.read_csv('pm10.csv')

#creo un dataframe unico
data=pd.merge(left=df1, right=df2,on='created_at')
data_1=pd.merge(left=data, right=df3,on='created_at')
dataframe_completo=pd.merge(left=data_1, right=df4,on='created_at')

#elimino la colonna entry_id
del dataframe_completo['entry_id']


#creo il grafico 
dataframe_completo.plot(x='created_at',figsize=(20, 16), fontsize=10)

#creo una funzione per calcolare i valori medi dei dati registrati
def valori_medi():
    T_med=dataframe_completo["Temperatura"].mean()
    U_med=dataframe_completo["Umidità"].mean()
    PM25_med=dataframe_completo["PM2.5"].mean()
    PM10_med=dataframe_completo["PM10"].mean()

    print('T_med='+str(round(T_med)),'U_med='+str(round(U_med)),'PM2.5_med='+str(round(PM25_med)), 'PM10_med='+str(round(PM10_med)))

#richiamo la funziona valori_medi
valori_medi()

#mostro il grafico delle registrazioni
plt.show()

Ed ecco il grafico dei valori di inquinamento registrati dalla nostra stazione di monitoraggio.

grafico-monitoraggio-inquinamento-aria
Grafico dei valori registrati dalla stazione di monitoraggio dell’aria

I valori medi ottenuti sono:

  • Temperatura media = 17;
  • Umidità media = 73%;
  • PM2.5 = 12;
  • PM19 = 17;

Prima di salutarti voglio consigliarti un testo sull’analisi di dati con Python, che può esserti d’aiuto anche nelle tue analisi dei tuoi dati ricavati in campo geologico.

Antonio Nirta
Antonio Nirta
Geologo classe '86, laureato in Scienze e Tecnologie Geologiche all'Università di Pisa. Oltre a fare divulgazione geologica, svolgo la libera professione di geologo ed insegno Matematica e Scienze. Adoro la scienza, la tecnologia e la fotografia. Lettore appassionato dei romanzi fantasy e dei romanzi storici, ho un debole per la pizza e tifo Juve.

Comments are closed.