Come costruire una centralina fai da te per monitorare la qualità dell'aria
Misurare la concentrazione di polveri sottili sospese nell'aria (in particolare PM10 e PM2,5) è sorprendentemente semplice!
La tua centralina di monitoraggio fai da te avrà bisogno solo di una presa a muro per l'alimentazione e una rete Wi-Fi per l'invio dei dati rilevati.
Questa guida è rivolta anche e soprattutto a chi non ha particolari competenze tecniche. Vedremo assieme tutto il processo, passo dopo passo.
In questa pagina abbiamo raccolto tutti i dettagli rilevanti per la costruzione, relegando ulteriori approfondimenti in appendice e in un articolo a parte.
Sono disponibili anche una versione sintetica della guida in formato PDF e un video tutorial di 6 minuti e mezzo incentrato principalmente sulla fase di assemblaggio.
Nota: le informazioni qui presenti sono aggiornate a gennaio 2025, ma durante la stesura ci siamo sforzati di dare rilevanza ai principi fondamentali che restano sempre validi in generale (a prescindere dalle specifiche tecnologie che abbiamo usato).
Indice
- Tempi e costi
- Materiali necessari
- Piattaforme utilizzate
- Assemblaggio componenti
- Configurazione centralina
- Chiusura e fissaggio
- Appendice
Tempi e costi
Per costruire una centralina bastano circa 30 minuti e 50 euro (o anche meno), ma la spedizione di alcuni componenti potrebbe richiedere un paio di settimane.
Le operazioni di montaggio e configurazione sono estremamente facili e veloci, per cui anche se sei alle prime esperienze non richiederanno molto tempo (ma se proprio vuoi esplorare e sperimentare in tutta tranquillità, metti da parte un bel paio d'ore).
Il costo invece deriva unicamente dai materiali, perché abbiamo scelto solo piattaforme gratuite e rilasciato il nostro codice sorgente in forma libera e open source. L'importo effettivo è però influenzato da molti fattori, tra cui:
- Quali componenti scegli: marca, modello, produttore, ecc.
- Dove li compri: negozi fisici, e-commerce, Amazon, AliExpress, ecc.
- Quante centraline vuoi costruire: per approfittare di sconti quantità e/o ammortizzare eventuali spese di trasporto.
- Quello che hai già a disposizione: ad esempio cavi USB e/o caricabatteria per cellulari, ma anche soluzioni alternative per l'involucro esterno.
Il prezzo totale può oscillare tra 50 e 90 euro circa, ma possono bastare appena 20 euro per un prototipo perfettamente funzionante (come vedremo in appendice).
E il consumo energetico invece? Beh, quello è davvero irrisorio: meno di 1 euro all'anno, anche qualora la centralina dovesse restare collegata 24 ore su 24.
Rimandiamo dettagli e approfondimenti alla fine della guida. Ora cominciamo!
Materiali necessari
In questa sezione elencheremo i componenti che abbiamo scelto per le centraline del progetto ScienziAria e, laddove rilevante, alcune alternative consigliate.
Grazie alle nostre foto e descrizioni (e con un minimo di attenzione) non sarà certo difficile decidere ciò che fa al caso tuo e recuperare tutto l'occorrente!
Dove comprare? L'opzione del negozio di fiducia sotto casa per noi non è mai da scartare, ma gli aggeggi elettronici ormai sono quasi sempre made in China.
Per comodità abbiamo incluso dei link per l'acquisto online, ma non è affatto detto che restino validi nel tempo (per cui invitiamo sempre a verificare).
Segnaliamo inoltre che il portale AliExpress vende a prezzi più bassi gli stessi identici prodotti che si trovano su Amazon (e che vengono comunque dalla Cina).
Noi consigliamo comunque di testare tutto al più presto, per scongiurare ogni problema (eventualmente avvalendosi del diritto di recesso o della garanzia).
Sensore di particelle
Niente sensore, niente misurazioni. Ma quale prendere, tra i tanti disponibili?
Noi abbiamo optato per il KeyeStudio KS0578, commercializzato dall'azienda catalana Innova Didàctic.
L'abbiamo scelto perché compatibile con la piattaforma didattica ArduinoBlocks, che abbiamo usato durante i laboratori del progetto ScienziAria.
Purtroppo il trasporto dalla Spagna incide non poco sul prezzo finale: ai 35 euro del sensore ne vanno aggiunti 32 per la spedizione in Italia, ma nel nostro caso abbiamo potuto distribuire la spesa con un ordine di una decina di pezzi.
Per chi invece vuole costruire solo una centralina, è possibile risparmiare fino al 70% circa scegliendo un sensore equivalente (come il noto Plantower PMS5003).
La procedura di assemblaggio e configurazione è pressoché la stessa (se non per piccole differenze evidenziate nel corso della guida), a condizione di prendere anche un adattatore che faciliti il collegamento con la scheda di controllo.
Nel momento in cui scriviamo, l'intero kit (sensore + relativi cavetti + scheda di adattamento) si può trovare a circa 20 euro su AliExpress o 30 euro su Amazon (conviene comunque fare una ricerca, perché gli annunci di vendita di questi portali cambiano frequentemente e senza alcun preavviso).
Nota: ci sono anche altri sensori Plantower compatibili, tra cui il PMS7003 e il PMS9003M (che non a caso ricorda proprio il KS0578, ma approfondiremo questa sospetta somiglianza in separata sede). Qui faremo riferimento solo al PMS5003, che è uno dei modelli più diffusi e collaudati di tutta la serie PMSxx03 (e non solo) ed è l'unico che abbiamo potuto testare personalmente.
Scheda di controllo
La centralina è basata sul microcontrollore ESP32-WROOM-32D di Espressif Systems.
Esistono in commercio innumerevoli schede di sviluppo (development board o dev board) per programmarlo e collegarlo facilmente ad altri dispositivi (come il nostro sensore) senza dover integrare il chip in un circuito personalizzato.
Praticamente ogni scheda ha un connettore USB, un regolatore di tensione (spesso l'AMS1117), un adattatore UART (solitamente CP2102 o CH340) e dei piedini a cui collegare i cavi (il più delle volte si tratta di pin DuPont pre-saldati).
È importante far caso a questi dettagli per non incappare in "schede cloni" di bassa qualità o in problemi di incompatibilità, inefficienza energetica, driver, ecc.
Noi abbiamo optato per una scheda ESP32 a 38 pin con connettore USB Micro-B.
Le schede a 30 pin hanno prezzi simili e dimensioni leggermente più contenute, mentre i 38 pin danno più opzioni per collegare eventuali componenti aggiuntivi. Le indicazioni di questa guida vanno bene per entrambe, per cui a te la scelta!
Oltre alla scheda di sviluppo in sé, abbiamo reputato molto utile una scheda di espansione (che indicheremo per lo più con la terminologia inglese breakout board, onde evitare confusione con l'ESP32). Nel nostro caso, abbiamo preso una breakout board a 38 pin.
Oltre a migliorare la tenuta dei cavetti DuPont, questa scheda è più comoda da sistemare e fissare nell'involucro della centralina. L'unica cosa a cui fare attenzione è che il numero dei pin sia lo stesso della tua scheda ESP32.
Cavetteria
Per collegare il sensore all'ESP32 useremo dei cavi DuPont maschio-femmina.
Ne basterebbero anche solo 4 per una singola centralina, ma non si vendono sfusi (e le confezioni sono solitamente da 20 o 40 pezzi). Su Amazon non ne abbiamo visti a meno di 7 euro, mentre su AliExpress si trovano anche a 1,50 euro. Come lunghezza, sono più che sufficienti 15 cm (in realtà anche 10 cm vanno bene per i nostri fini, oltre i 20 cm sarebbe scomodo stipare i cavi nell'involucro).
Inoltre è necessario un cavo dati USB, sia per alimentare la centralina che per collegarla al PC nella fase di configurazione. Nel nostro caso, si tratta di un cavo USB 2.0 da USB-A a USB-Micro-B.
Il connettore Micro-B da noi usato è come quello degli smartphone un po' meno recenti, ma sono disponibili anche schede ESP32 con l'USB-C (il tipo più nuovo).
L'importante è un'estremità del cavo sia compatibile con la tua scheda ESP32, mentre l'altra deve permettere il collegamento al tuo PC e all'alimentatore. Inoltre, il cavo deve essere in grado di trasferire dati oltre che ricaricare.
Hai già qualche cavo USB in casa e vuoi verificare che vada bene? Prova a copiare dei file da un qualsiasi dispositivo (cellulare, tablet, e-book reader, ecc.) al tuo computer. Se la copia riesce, allora hai già un cavo dati (in caso contrario, il dispositivo entrerà in carica ma il computer non riconoscerà alcuna unità USB).
Alimentatore
La centralina può essere collegata a un comune caricabatteria per smartphone.
Assicurati solo che il tipo di ingresso USB sia adatto al tuo cavo dati. Al di là di questo, praticamente qualsiasi caricatore per cellulari dovrebbe andar bene: il voltaggio è standard (5 V) e la centralina richiede di gran lunga meno corrente rispetto a quella che anche i modelli più vecchi riescono a fornire.
Involucro
Per prevenire danni causati da pioggia e agenti atmosferici va bene un qualsiasi contenitore per esterni che possa garantire una buona circolazione dell'aria.
I componenti elettronici devono essere ben riparati, ma senza ostruire in alcun modo le apposite aperture del sensore per l'ingresso e la fuoriuscita dell'aria.
Noi abbiamo usato una tipica cassetta stagna da elettricisti, più precisamente una scatola di derivazione impermeabile IP65 con passacavi.
Inoltre, abbiamo usato una retina (quella di una zanzariera va benissimo) per proteggere i fori di aerazione da sporcizia e insetti.
Questo tipo di involucro costa poco e si può fissare a muro in vari modi. Qui ognuno ha la sua preferenza: spaghi, fascette da elettricista, viti fischer, ecc. Noi abbiamo individuato una soluzione poco invasiva che prevede l'uso di strisce adesive appendiquadri (ma attenzione, perché non vanno bene per tutte le superfici).
In ogni caso, queste valutazioni dipendono in gran parte da dove vorrai posizionare la tua centralina (oltre che da cosa è più comodo per te). Ad esempio, potrebbe essere sufficiente poggiarla semplicemente su un armadietto.
Nota: esistono anche soluzioni particolarmente creative, tra cui vaschette di gelati o persino bottiglie di plastica (come nell'esempio incluso in appendice).
Attrezzi
Sono sufficienti dei cacciaviti di uso comune, in particolare uno a croce per chiudere la scatola stagna e uno più piccolo (tipo quelli da orologiaio) per poter fissare i cavetti sulla scheda (che è consigliato ma comunque opzionale).
Una pistola per colla a caldo potrebbe rivelarsi molto comoda, ma in alternativa dovrebbe andar bene anche del nastro adesivo (tipo quello nero da elettricisti).
Come sempre nel fai da te, un po' di spirito d'improvvisazione è benaccetto!
Ultimo, ma non meno importante: per configurare la centralina occorre un PC.
Piattaforme utilizzate
Prima di procedere con l'assemblaggio dei componenti, vedremo i prerequisiti fondamentali per la configurazione e le istruzioni passo passo per soddisfarli.
Useremo ThingSpeak per tracciare grafici delle rilevazioni in tempo reale e Arduino IDE per configurare la centralina con i parametri necessari (ovvero la rete Wi-Fi a cui connettersi e il canale ThingSpeak a cui inviare i dati).
ThingSpeak
I passaggi descritti di seguito sono basati sulla versione desktop del sito, ma puoi creare e configurare il tuo canale ThingSpeak anche da smartphone o tablet.
-
Dalla homepage di ThingSpeak, clicca sul bottone verde "Get Started For Free".
-
Crea un nuovo account gratuito (oppure fai il login se ne hai già uno).
Nota: se necessario, verifica l'account tramite il link ricevuto per email.
-
Dopo aver effettuato l'accesso, clicca sul pulsante "New Channel".
-
Abilita i primi 6 campi tramite le relative caselle di spunta.
Nota: il significato di ogni campo è stabilito in base all'ordine indicato di seguito. I nomi delle etichette sono puramente descrittivi (e non prescrittivi).
- Campo 1: concentrazione di PM10 in μg/m³ (microgrammi per metro cubo).
- Campo 2: concentrazione di PM2,5.
- Campo 3: concentrazione di PM1 (non affidabile come PM10 e PM2,5).
- Campo 4: esito letture sensore (campo di controllo).
- Campo 5: potenza del segnale Wi-Fi (campo di controllo).
- Campo 6: tempo di connessione al Wi-Fi (campo di controllo).
Rimandiamo all'appendice per più dettagli sul funzionamento della centralina.
-
Salva tramite il pulsante "Save Channel" in fondo alla pagina.
Fatto!
Il canale appena creato è automaticamente privato e contrassegnato da un Channel ID
(che si trova in alto a sinistra, subito sotto il nome).
Se vorrai vedere i grafici da qualsiasi dispositivo senza doverti collegare al tuo account, puoi rendere pubblico il tuo canale aprendo la tab "Sharing" e selezionando la seconda opzione ("Share channel view with everyone").
A questo punto i grafici della tab "Public View" saranno sempre consultabili all'indirizzo thingspeak.com/channels/Channel ID
.
E se vuoi già portarti avanti, apri la tab "API Keys" e ricopia temporaneamente la Write API Key
in un posto sicuro (ma trattala come una password, perché è un'informazione riservata che può offrire accessi indesiderati al tuo canale).
Arduino IDE
I passaggi descritti di seguito sono basati sui sistemi operativi Windows 10/11 a 64 bit e sulla versione 2.3.4 dell'IDE (compatibile anche con Linux e macOS), ma è disponibile anche una versione legacy per sistemi operativi più datati.
Esistono già una moltitudine di articoli e video tutorial che mostrano in dettaglio come installare Arduino IDE e predisporre l'ambiente per la scheda ESP32, ma per comodità includiamo qui una panoramica generale della procedura.
-
Scarica Arduino IDE (nelle pagine successive, clicca su "JUST DOWNLOAD").
-
Installalo come un qualsiasi altro programma, accettando i termini di servizio e seguendo le istruzioni a schermo sino al termine dell'installazione.
-
Installa anche eventuale software aggiuntivo (se ricevi avvisi di sicurezza, puoi tranquillamente considerarlo attendibile e consentire l'accesso alle reti).
-
Seleziona File -> Impostazioni dal menu in alto a sinistra.
Nota: se l'interfaccia è in inglese, puoi selezionare File -> Preferences e poi Italiano dal menu a tendina in corrispondenza dell'etichetta Language.
-
Copia il link https://
raw .githubusercontent .com /espressif /arduino-esp32 /gh-pages /package_esp32_index.json nel campo URL aggiuntive per il Gestore Schede. -
Seleziona Strumenti -> Scheda -> Gestore Schede... dal menu in alto a sinistra (o clicca l'icona del Gestore schede, la seconda nel menu laterale).
-
Scrivi "esp32" nella barra di ricerca e installa il gestore schede di Espressif Systems.
Non ti resta che attendere mentre l'installazione procede, come potrai appurare nel pannello Output (alla fine riceverai anche una notifica).
Prima di procedere consigliamo di testare che tutto funzioni, collegando la tua scheda ESP32 al computer tramite cavo USB e seguendo gli ultimi passi in basso.
-
Clicca sul menu a tendina in alto con l'etichetta Seleziona la scheda e poi sull'opzione Scegli un'altra scheda e un'altra porta...
-
Seleziona la scheda ESP32 Dev Module (o quella più adatta alla tua scheda ESP32, se ne hai una in particolare) e la porta COM a cui è collegata via USB.
-
Seleziona Sketch -> Carica dal menu in alto o clicca la relativa icona nella barra orizzontale appena sotto (la seconda, quella a forma di freccia).
Nel pannello Output vedrai che l'IDE sta caricando nella tua scheda ESP32 il programma (o sketch nel gergo di Arduino) scritto nell'editor di testo (il codice predefinito non fa assolutamente nulla, ma non importa).
Se la tua scheda ESP32 è stata riconosciuta e il caricamento si è concluso senza intoppi, siamo a cavallo: puoi scollegarla semplicemente staccando il cavo USB (la "rimozione sicura" non è necessaria in questo caso) e passare subito alle fasi di assemblaggio e configurazione della centralina.
E se invece qualcosa fosse andato storto? NIENTE PANICO!
ESP32: driver USB e altri rimedi
Il problema è spesso legato ai driver dell'adattatore UART, un chip montato sulla scheda ESP32 a cui abbiamo già accennato nella sezione sui materiali.
Il chip incriminato si trova in prossimità del connettore USB: più comunemente troverai il CP210x o il CH340x (dove "x" sta per un qualsiasi numero o lettera).
Nella maggior parte dei casi, questi driver vengono installati in automatico... ma se non lo sono, Arduino IDE non riuscirà a individuare la scheda ESP32.
Puoi verificare lo stato dei driver anche da Gestione dispositivi di Windows e puoi scaricare i più recenti dal sito ufficiale del produttore:
Segnaliamo anche un articolo su come installare il driver CP2102 e un video YouTube sul driver CH340 (riferito ad Arduino, ma il procedimento è analogo).
Se non riesci comunque a caricare uno sketch, il problema potrebbe essere banalmente un cavo USB malfunzionante o magari una porta COM sbagliata.
Considera infine che alcune schede di sviluppo ESP32 possono ricevere codice solo se durante la fase di caricamento si tiene premuto il tasto BOOT (in basso a destra). O forse la scheda ESP32 che hai comprato è semplicemente difettosa?
La casistica è molto variegata, ma fortunatamente i problemi sono piuttosto rari e basta un minimo di determinazione per risolverli. Dopotutto, ci sono migliaia di hobbisti che usano le schede di sviluppo ESP32 con Arduino IDE.
Ricorda che può bastare una semplice ricerca: internet pullula di soluzioni. E se proprio non ne trovi, puoi sempre chiedere aiuto sul forum ufficiale di Arduino.
Assemblaggio componenti
Sembra incredibile, ma la parte più difficile di questa guida è già alle nostre spalle. Per mettere insieme una proto-centralina bastano tre semplici passaggi.
-
Collega i pin della scheda ESP32 ai relativi ingressi della breakout board.
Nota: per evitare confusione, assicurati che le etichette dei pin combacino.
-
Collega l'estremità femmina dei cavi Dupont ai seguenti pin del sensore:
-
GND, +5V, SDA e SCL per il KS0578 (etichette dietro la placchetta nera).
-
VCC, GND, RXD e TXD per il PMS5003 (etichette sulla scheda di adattamento).
Nota: il colore dei cavi è ininfluente, ma per convenzione si usano cavi rossi per l'alimentazione (+5V o VCC) e cavi neri o verdi per la massa (GND).
-
-
Collega le altre estremità dei cavi DuPont in base al seguente schema:
- Pin V5 della scheda ESP32 con il pin +5V del sensore (o VCC del PMS5003).
- Pin GND della scheda ESP32 con il pin GND (uguale su entrambi i sensori).
- Pin G27 della scheda ESP32 con il pin SDA del sensore (o RXD del PMS5003).
- Pin G26 della scheda ESP32 con il pin SDL del sensore (o TXD del PMS5003).
Per fissare i cavi alla breakout board, allenta le viti appropriate (nella parte superiore), inserisci i connettori negli ingressi laterali corrispondenti e stringi quanto basta per tenere fermi i cavetti (non serve forzare troppo).
Nota: in questa fase è fondamentale assicurarsi di fare riferimento ai pin effettivi della scheda ESP32, ignorando eventuali etichette errate.
Configurazione centralina
Prima di ultimare il montaggio, programmiamo la scheda ESP32 per collegarsi alla tua rete Wi-Fi e inviare al tuo canale ThingSpeak i dati rilevati dal sensore.
-
Apri Arduino IDE e cancella il testo nella schermata iniziale dell'editor.
Nota: l'IDE colora automaticamente il codice in base a ciò che rappresenta. Le parti in grigio sono dei commenti (anziché vere e proprie istruzioni), che possono dimostrarsi molto utili per chiunque legga (o scriva!) un programma.
-
Copia e incolla il codice di programmazione appropriato per il tuo sensore:
- KeyeStudio KS0578: scienziaria-centralina-ks0578.ino
- Plantower PMS5003: scienziaria-centralina-pms5003.ino
Nota: se hai il PMS5003, puoi sfruttare la modalità risparmio energetico del sensore usando il codice dell'apposita variante (scienziaria-centralina-pms5003-sleep.ino) e collegando un cavo DuPont aggiuntivo tra il pin SET della scheda di adattamento e il pin G25 della scheda ESP32.
-
Inserisci i parametri richiesti nella relativa sezione di codice.
Nota: c'è qualche indicazione in più direttamente nel programma, sotto forma di commenti.
-
Collega la centralina al PC via USB e carica lo sketch, assicurandoti di selezionare scheda e porta corrette (v. passi 8–10 della sezione Arduino IDE).
Nota: l'esecuzione dovrebbe partire subito dopo il termine del caricamento, ma se così non fosse sarà sufficiente riavviare la scheda ESP32 con il tasto RESET (in basso a sinistra) o semplicemente scollegandola e ricollegandola.
Congratulazioni!
Se vuoi provare l'ebbrezza di leggere sui grafici le prime rilevazioni in tempo reale, apri il tuo canale ThingSpeak e attendi mezzo minuto circa.
Chiusura e fissaggio
Come anticipato, quest'ultima fase dipende molto dalle possibilità che ti offre il luogo in cui vuoi posizionare la centralina e dalle tue personali preferenze.
Di seguito riportiamo comunque una foto da cui poter trarre ispirazione per l'involucro e delle indicazioni di massima per replicare il nostro approccio.
-
Apri il coperchio della scatola di derivazione e rimuovi tre coprifori da uno dei lati, che diventerà la parte inferiore della centralina.
-
Ritaglia dei pezzi di rete per zanzariere di dimensioni opportune per coprire i fori della scatola e fissali dall'interno con colla a caldo o nastro adesivo.
-
Scollega il cavo USB dall'ESP32 e rimuovi il copriforo in alto sul lato destro, poi crea un'apertura al centro per farci passare il cavo attraverso.
-
Posiziona i componenti in modo che i cavetti siano nella parte inferiore, il sensore sia in alto a sinistra e l'ingresso del cavo USB sia in alto a destra.
-
Fissa i componenti usando delle viti da incastrare nelle opportune fessure sul fondo della cassetta stagna (facendo attenzione a non forarla).
-
Inserisci nuovamente il copriforo in alto a destra e ricollega il cavo USB alla scheda ESP32 (se non l'avevi già fatto).
-
Chiudi il coperchio della scatola stagna con le viti fornite in dotazione.
-
Fissa la centralina a muro con le strisce adesive per quadri, assicurandoti che gli ingressi per l'aria restino liberi e ben protetti dalla pioggia.
-
Collega il cavo USB all'alimentatore e inseriscilo in una presa di corrente (se il cavo è troppo corto, puoi usare una qualsiasi prolunga elettrica o USB).
Ora la tua centralina fai da te è pronta (e già in attività). Per controllare la concentrazione di polveri sottili, ti basterà aprire il tuo canale ThingSpeak.
Appendice
Abbiamo raccolto qui dettagli aggiuntivi e link ad approfondimenti esterni sulle centraline di monitoraggio, sulle polveri sottili e sul progetto ScienziAria.
Per comodità di consultazione, riportiamo di seguito l'indice degli argomenti:
- Funzionamento di base
- Risoluzione problemi
- Prototipo super low cost
- Varianti e migliorie
- Cenni sulle polveri sottili
- Informazioni sul progetto ScienziAria
Funzionamento di base
La centralina non ha un tasto ON/OFF: si accende automaticamente quando riceve corrente e allo stesso modo si disattiva quando l'alimentazione viene meno.
Puoi tranquillamente staccarla dalla presa in qualsiasi momento, ma se vuoi un flusso di rilevazioni costante è preferibile che resti sempre collegata.
In caso di interruzione di energia elettrica o rete internet, si riattiva da sola non appena la corrente e il Wi-Fi tornano ad essere disponibili.
Per impostazioni predefinite, questo è il comportamento della centralina:
- La prima misurazione avviene dopo poco più di 30 secondi dal collegamento alla corrente (tempo minimo consigliato per stabilizzare il sensore).
- Le successive rilevazioni avvengono ad intervalli di circa 4 minuti, per un totale di circa 360 punti dati in 24 ore.
- Per ridurre gli errori di misurazione, viene considerata la media di fino a 6 letture del sensore per ogni ciclo di rilevazione.
- Se la connessione al Wi-Fi non riesce entro 10 secondi, la centralina va in modalità risparmio energetico e ritenta al ciclo successivo.
- Dopo aver stabilito una connessione a internet, i dati rilevati sono trasmessi al canale ThingSpeak (la centralina fa massimo 3 tentativi di invio per ciclo).
Tutti i parametri di cui sopra (e altri ancora) possono essere modificati nella fase di configurazione, ma è importante notare che il resto del programma ne assume la validità a priori senza ulteriori controlli.
Il codice sorgente per programmare la centralina viene fornito così com'è, per chiunque decida di usarlo sotto la propria responsabilità con la consapevolezza che eventuali dati scorretti possono causare comportamenti anomali o inattesi.
Per analisi più dettagliate sul funzionamento della centralina e sul suo consumo energetico (e anche una visione d'insieme su varie implementazioni alternative): Approfondimenti sulle centraline fai da te del progetto ScienziAria.
Risoluzione problemi
Come abbiamo potuto vedere, la centralina è molto elementare. C'è poco che possa andare storto, ma nel caso i campi di controllo su ThingSpeak ci sono di aiuto.
In particolare, il quarto campo indica la percentuale di letture riuscite: se è pari a 0, assicurati che il collegamento tra il sensore e l'ESP32 sia corretto.
Potrebbe anche essere una buona idea rinforzare la tenuta dei cavi DuPont con un po' di colla a caldo, per evitare che possano scivolare via dai pin del sensore.
Un altro vantaggio dei campi di controllo è che possiamo già escludere problemi di Wi-Fi e alimentazione, dato che la centralina riesce a connettersi.
Se la comunicazione con ThingSpeak è altalenante, forse la posizione della centralina non è ideale... ma i campi di controllo possono ancora aiutarci: il quinto campo rappresenta la potenza del segnale (in gergo RSSI, Received Signal Strength Indicator), mentre il sesto riporta il tempo di connessione al Wi-Fi.
E se invece tutti i grafici sono vuoti?
Ci possono essere varie ragioni per cui la centralina non riesca a inviare dati.
Alcune problematiche sono completamente al di fuori del nostro controllo, ma sono anche piuttosto rare e di solito hanno natura transitoria (ad esempio, i server di ThingSpeak potrebbero essere temporaneamente non raggiungibili).
Escluse queste cause preliminari, gli aspetti a cui prestare attenzione sono tre: alimentazione, connessione a internet e parametri di configurazione.
Nel primo caso, basta assicurarsi che il cavo USB sia ben collegato e appurare che funzionino sia l'alimentatore che la presa elettrica in cui è inserito.
(Questa versione di base non prevede spie luminose che segnalino lo stato della centralina, ma le schede ESP32 solitamente hanno almeno un LED che lampeggia all'avvio e la ventola del sensore inizia a girare appena riceve corrente).
Nel secondo caso, è immediato verificare se altri dispositivi con Wi-Fi riescano a connettersi. Scongiurati problemi che dipendono dal gestore internet o dal router, l'unica accortezza è diminuire la distanza dalla sorgente del segnale.
Nel terzo ed ultimo caso, vale la pena ricordare che non è tollerabile nemmeno un banale errore di battitura in ciascuno dei tre parametri obbligatori: se i dati della rete Wi-Fi sono sbagliati, la centralina non riuscirà a connettersi; e senza l'apposita chiave API, non potrà aggiornare il tuo canale ThingSpeak.
Le regole di un linguaggio di programmazione possono essere estremamente rigide, per cui anche omettere un singolo carattere può rivelarsi un errore fatale.
Fortunatamente, spesso è proprio il pannello Output di Arduino IDE a segnalarci questo tipo di sviste quando il caricamento fallisce... ma negli altri casi sta a te accorgertene. Per l'IDE, quello che scrivi tra le virgolette è sacrosanto: dopotutto, per correggerti la password del Wi-Fi dovrebbe prima sapere qual è!
Prototipo super low cost
All'inizio dell'articolo abbiamo accennato che per costruire una centralina possono bastare meno di 20 euro... ma come? Comprando il minimo indispensabile!
Gli unici componenti davvero necessari sono il sensore di particelle e la scheda di controllo (con i relativi cavi di collegamento e alimentazione).
La breakout board è comoda ma non essenziale. Si può risparmiare qualche euro lì, ma in questo caso i cavi DuPont dovranno essere di tipo femmina-femmina.
Cavi USB e caricabatteria sono ormai onnipresenti in tutte le case, basta solo assicurarsi di scegliere una scheda ESP32 con il connettore USB appropriato.
Inoltre, non è difficile raffazzonare un involucro con oggetti d'uso quotidiano (soprattutto se la centralina sarà poco esposta alle intemperie, magari perché già parzialmente al riparo in un ampio balcone o una verandina).
Può andar bene anche una bottiglia (video YouTube)!
Su Amazon si vendono kit che includono già sensore e cavetteria: aggiungendo una scheda di sviluppo ESP32, il carrello della spesa è completo...
...ma si può fare di meglio (anche se già 36 euro non è una cifra astronomica).
In termini di risparmio, AliExpress resta imbattuto: con l'offerta benvenuto e la spedizione gratuita sul primo ordine, l'esborso può quasi dimezzarsi!
(C'è solo da fare attenzione ai cloni venduti a qualche euro in meno, di solito indicati come sensori "compatibili Plantower" e privi dell'etichetta originale.)
Se stavi già accarezzando l'idea di fare qualche esperimento col fai da te, ma non volevi spendere troppo... adesso che scusa hai per non iniziare subito?
Varianti e migliorie
La centralina proposta in questa guida ha il vantaggio di essere molto semplice da costruire, ma per contro è anche meno sofisticata di quanto potrebbe essere.
Per chi vuole sfidarsi e magari osare di imparare un po' di più, le possibilità sono infinite. Ad esempio, si potrebbe:
- Aumentare la longevità del sensore sfruttando la modalità sleep.
- Includere LED e sensori di temperatura, umidità, pressione, CO2, ecc.
- Rendere la centralina completamente portatile... e persino indossabile.
Noi abbiamo esplorato ciascuna delle 3 varianti proposte qui sopra, mettendo a disposizione anche del codice che puoi usare così com'è o come base di partenza.
Se ti interessa, dai un'occhiata all'apposita sezione del nostro articolo Approfondimenti sulle centraline fai da te del progetto ScienziAria.
Cenni sulle polveri sottili
Per polveri sottili si intende l'insieme di sostanze solide o liquide in sospensione nell'aria, comunemente chiamato particolato.
Il particolato è uno degli inquinanti più frequenti nelle aree urbane, poiché deriva anche (ma non solo) da emissioni di autoveicoli e attività industriali o agricole.
La sigla PM viene dall'inglese Particulate Matter, mentre il numero in calce indica la dimensione massima delle particelle che lo compongono.
Il PM10 è composto da particelle con diametro aerodinamico medio inferiore a 10 micrometri (1 μm = 1 millesimo di millimetro), mentre il PM2,5 ha solo quelle di diametro inferiore a 2,5 micrometri (e un discorso analogo vale per il PM1).
In generale le particelle più piccole sono le più pericolose, poiché possono penetrare profondamente nei polmoni fino agli alveoli.
La ricerca su particelle minuscole però è oggettivamente e intrinsecamente più complicata, per cui al momento il PM1 non è ancora regolato da normative internazionali o nazionali (a differenza del PM2,5 e del PM10).
Le linee guida dell'OMS (Organizzazione Mondiale della Sanità) suggeriscono limiti su base media annua e giornaliera, il cui superamento "è associato a importanti rischi per la salute pubblica" (fonte: Linee guida globali OMS sulla qualità dell'aria, p. 3).
Ma invece com'è la situazione in Italia?
Alla data di pubblicazione di questa guida, i valori limite consentiti dalla legge (in base al D.Lgs.155/2010) sono più alti rispetto a quelli consigliati dall'OMS: per il PM10 c'è un limite medio annuale di 40 μg/m³ e uno giornaliero di 50 μg/m³ (da non superare oltre 35 volte in un anno), mentre per il PM2,5 è stato stabilito solo il limite medio annuale di 25 μg/m³.
Informazioni sul progetto ScienziAria
ScienziAria è un progetto di Citizen Science promosso da Comunità Circolare e aperto a chiunque voglia monitorare la qualità dell'aria ad Altamura (e non solo).
Il progetto ha una durata complessiva di un anno ed è co-finanziato dall'Unione europea, attraverso il programma Corpo europeo di solidarietà.
Per ulteriori informazioni, visitare la pagina del progetto ScienziAria.