Meteo fai-da-te, costruisci una stazione meteo elegante con un ESP32

Ricordate le stazioni meteo analogiche appese alle pareti di casa dei nonni? Oggi possiamo costruire una variante personalizzata e ricca di informazioni in pochi passi.

Avatar di Luca Zaninello

a cura di Luca Zaninello

Managing Editor

Questo progetto open-source, sviluppato da Luke Marzen, studente di informatica, utilizza un microcontrollore ESP32 con Wi-Fi e un display e-paper da 7,5 pollici per mostrare le condizioni meteo attuali, le previsioni a 5 giorni (tramite OpenWeather API) e i dati di temperatura e umidità interna.

Cosa serve per iniziare?

Prima di tutto, scegliete un case o un supporto per la vostra stazione meteo. Potete costruirlo in legno, stamparlo in 3D (Marzen fornisce link a modelli gratuiti sul repository GitHub del progetto) o adattarne uno esistente. Potrebbe essere utile anche un foglio di acrilico sottile per proteggere il display e-ink.

Ecco l'elenco completo delle componenti necessari:

  • Display e-paper da 7,5 pollici (800x480)
  • Scheda adattatore DESPI-CO2
  • Microcontrollore FireBeetle 2 ESP32-E
  • Sensore di pressione, temperatura e umidità BME280
  • Batteria LiPo da 3,7V con connettore JST a 2 pin

Serve anche un computer per configurare, compilare e installare il software sul microcontrollore

Il display e-paper è ideale per questo progetto perché consuma pochissima energia, garantendo un'autonomia di oltre sei mesi con una singola carica della batteria da 5.000mAh (come dimostrato da Marzen).

Costruzione e programmazione

Una volta procurate le componenti, è il momento di assemblare e programmare la stazione meteo. Si consiglia di testare i collegamenti su una breadboard prima di saldare il tutto, per evitare errori e facilitare eventuali modifiche.

Se utilizzate un HAT e-paper, fate attenzione alla revisione: le ultime versioni di Waveshare hanno presentato problemi ad alcuni utenti. In tal caso, assicuratevi di configurare correttamente gli interruttori fisici "Display Config" (posizione B) e "Interface Config" (posizione 0).

Per evitare problemi con gli HAT e-paper, Marzen consiglia di utilizzare una scheda adattatore DESPI-CO2, che elimina la necessità di convertitori di livello e ottimizza il funzionamento con sistemi a bassa potenza a 3,3V. Sul repository GitHub del progetto troverete gli schemi di cablaggio dettagliati per entrambe le opzioni.

Se utilizzate lo stesso microcontrollore ESP32 di Marzen, ricordate di tagliare il filo sottile al centro del "low-power pad" per ridurre il consumo energetico statico della scheda di 500 microampere e massimizzare la durata della batteria.

Per ottenere i dati meteo, avrete bisogno di una chiave API OpenWeather. È possibile ottenere 1.000 chiamate API gratuite al giorno, sufficienti per questo progetto.

Per ottenere la chiave:

  • Registratevi al servizio OpenWeather
  • Nella pagina dei dettagli dell'abbonamento, impostate "Chiamate al giorno (non più di)" a 1.000

In questo modo, non supererete mai il limite di chiamate API gratuite e non vi verranno addebitati costi.

Marzen utilizza PlatformIO per Visual Studio Code, un ambiente di sviluppo disponibile per Windows, macOS e Linux:

  • Aprite Visual Studio Code.
  • Nel Gestore estensioni, cercate "platformio" e cliccate su "Installa".
  • Clonate il repository di Marzen o scaricate ed estraete il file .zip, quindi apritelo in VSCode tramite "File > Apri cartella". Selezionate la cartella "platformio".

Prima di compilare il codice, potreste dover modificare i file config.cpp e config.h per personalizzare le impostazioni, come i dati di connessione Wi-Fi, la chiave API OpenWeather e le impostazioni di localizzazione.

I file di configurazione consentono anche di specificare componenti hardware diverse da quelle predefinite, nel caso abbiate scelto un modello di ESP32, un pannello e-paper o altri componenti differenti. Potete anche modificare l'assegnazione dei pin se il vostro cablaggio differisce dagli schemi forniti. Troverete maggiori dettagli su queste impostazioni sul repository GitHub.

Dopo aver configurato il codice sorgente, collegate l'ESP32 al computer tramite USB e cliccate sulla freccia di caricamento in basso nella finestra di VSCode per compilare e caricare il codice sull'ESP32.

Assemblaggio finale e risoluzione dei problemi

Una volta verificato il corretto funzionamento del codice, completate l'assemblaggio. Se non avete ancora saldato i collegamenti, è il momento di abbandonare la breadboard e rendere la costruzione permanente.

Se tutto funziona correttamente, il display si avvierà e mostrerà i dati meteo configurati. In caso di problemi, la stazione meteo ESP32 mostrerà schermate di errore specifiche per batteria scarica (tensione inferiore a 3.2V), errori di connessione Wi-Fi, errori API OpenWeather o errori del server dell'ora. Marzen fornisce istruzioni per la risoluzione dei problemi sul repository GitHub.

  • Immagine 1 di 4
  • Immagine 2 di 4
  • Immagine 3 di 4
  • Immagine 4 di 4

Questo progetto, accessibile anche ai principianti, permette di creare una stazione meteo elegante e funzionale. Grazie allo spazio disponibile all'interno dei modelli di supporto, è possibile mantenere il cablaggio su breadboard se non si dispone di competenze di saldatura.  Il risultato finale sarà comunque un display accattivante che fornisce informazioni aggiornate su condizioni meteo, previsioni a breve termine e temperatura e umidità interna.

0 Commenti

Stai commentando come Ospite. Vuoi accedere?


Questa funzionalità è attualmente in beta, se trovi qualche errore segnalacelo.