Stazione meteo PCE-FWS 20 online grazie ad un Raspberry Pi

Stazione meteo PCE-FWS 20 online grazie ad un Raspberry Pi

Il regalo geek di Natale 2012 è stato sicuramente quello di mio fratello: una stazione meteo amatoriale PCE-FWS 20.meteostrada
Ok tra le mie tante passioni (leggasi “manie”) è da poco entrata anche quella per la meteorologia. Fino ad un paio di anni fa non avevo idea della quantità di appassionati che popolano la rete inondando forum, blog e siti web con previsioni (speso più affidabili di quelle dei siti più blasonati), “nowcasting”, studi di modelli e report di dati. Una passione che si basa soprattutto su uno studio dei fenomeni fisici/atmosferici ma anche un’analisi statistica di dati rilevati dalle stazioni meteo.

Cosa sono le stazioni meteo?

Per chi non ne fosse a conoscenza (come me fino ad paio di anni fa) esistono infatti delle stazioni meteo amatoriali complete di vari sensori (solitamente termometro, igrometro, barometro, anemometro, pluviometro) che non solo visualizzano i dati attuali, ma li salvano in memoria per poter essere scaricati su computer come “storico” (datalogger).
Queste stazioni si trovano a prezzi accessibili che variano dal centinaio di euro (come quella che ho io, che si trova anche su Amazon, direttamente da PCE Italia), fino ad arrivare a nomi più conosciuti come Davis e La Crosse, con modelli ben più completi, costosi e professionali.
La PCE-FWS 20 rappresenta un buon rapporto qualità/prezzo. Ha tutti i sensori standard di media qualità (e qualcosa si può migliorare con un po’ di bricolage, per esempio lo schermo solare o il pluviometro) ed inoltre ha una consolle di visualizzazione con touchscreen e collegamento USB.

Il funzionamento standard prevederebbe solamente l’utilizzo del software WeatherLink (solo per Windows) per il download dei dati dalla consolle, senza possibilità di messa online. Esistono altri software (per Windows, come Cumulus) che permettono di creare facilmente un sito online per la pubblicazione dei dati, ma presuppongono appunto di avere a disposizione un computer/notebook/netbook con Windows acceso e online 24h/24h. Con relativo consumo elettrico. Decisiamente non faceva per me!

La soluzione opensource: il Raspberry Pi

Raspberry_Pi_Beta_Board

Come forse avrete visto da uno dei miei post precedenti da qualche mese sono felice possessore di un Raspberry Pi, un mini computer low cost (35$+spedizione) “linux inside”. Dove averlo sperimentato nelle mie prove didattiche e ludiche ho finalmente trovato la collocazione: utilizzarlo per mettere online i dati della stazione meteo.

Si presta benissimo per questo scopo per serie di motivi: costa poco (circa 30€ tutto compreso per il modello B e si ordina online su RS o Farnell), possiede sia le porte USB (2) per il collegamento alla stazione (o ad una chiavetta WiFi) sia una porta LAN/Ethernet per il collegamento a Internet. Inoltre consuma POCHISSIMO (3.5 Watt al massimo) essendo alimentato tramite micro USB (5V, 700 mA) e non ha bisogno di dissipazione. Insomma è l’ideale per essere tenuto sempre acceso. Il sistema operativo (Raspbian, basato su Debian) viene caricato e letto da SD.

Il software

Ci sono tanti software Linux dedicati a questo scopo specifico. Basta cercare infatti WH1080 (questo è il nome senza brand più conosciuto della stazione) + linux e si aprono tantissime opzioni. Ammetto che prima di arrivare a quella definitiva (Sint Wind Pi, che vi illustro alla fine) le ho provate praticamente tutte. E tutte le ho abbandonate per lo stesso motivo: ho constatato purtroppo che alcune WH1080 prodotte nell’ultimo anno (tra cui la mia) soffrono di un “bug” hardware fastidiosissimo che provoca un’interruzione del collegamento USB dopo un po’ di tempo che è collegata al software. L’unica soluzione in questo caso è resettare la stazione rimuovendo e reinserendo le batterie.
Prima di arrivare alla soluzione ho testato i seguenti:

Tutti hanno pregi e difetti ma in generale funzionano e svolgono egregiamente il loro compito (alcuni anzi hanno template web più curati e belli). Peccato che tutti dopo 1-2 giorni al massimo mi provocavano il fastidioso bug costringendomi al reset. (edit: la situazione dopo 3 anni è migliorata, come ho scritto in un nuovo articolo)
Stavo per abbandonare le speranze quando ho trovato..

Sint Wind Pi

Nato dall’idea di un gruppo italiano di amanti di volo libero e parapendio (vololiberomontecucco.it) “Sint Wind Pi” è nato in realtà con l’obiettivo di soddisfare la loro esigenza di monitorare i parametri atmosferici (soprattutto il vento) da remoto per il loro hobby. Integra infatti addirittura un risponditore telefonico, il supporto per le chiavette 3G/UMTS e per il caricamento di foto tramite webcam o camere fotografiche! (insomma manca solo che faccia anche il caffé… )

Ma la vera caratteristica che mi ha fatto scegliere definitivamente Sint Wind Pi è che lo sviluppatore (Tonino Tarsi) è riuscito ad implementare un codice geniale che imposta l’orologio del Raspberry leggendolo DA quello della stazione PCE. In questo modo i due clock si sincronizzano ed si riduce al minimo la probabilità di leggere un dato dalla memoria nello stesso tempo in cui ci viene scritto dalla stazione, problema che è alla base del bug menzionato prima.

Al di là di tutto quindi, just works! 🙂

Ecco in breve quello che fa (e che fino ad ora ho testato):

– Legge i dati in real time dalla PCE ogni x secondi (io ho messo 120 secondi)
– Attraverso un POST ad una pagina PHP sul server invia i dati online in un database MySQL (alternativamente aggiorna un file meteo.txt su via FTP)
– Pagine PHP/Javascript sul server rileggono i dati da database e li presentano tramite template, statistiche e grafici.
– Invio dei dati su Weather Underground
– Configurabile e monitorabile (anche da remoto) via interfaccia web.

In futuro mi piacerebbe provare anche la parte webcam.

Trovate le istruzioni per l’installazione sul sito http://www.vololiberomontecucco.it (e in particolare QUI).

Eventualmente prossimamente farò una guida passo passo in un altro articolo.

Online !

Il mio risultato? Ecco qua: http://meteostrada.grechi.it

Sicuramente è da migliorare ma le cose principali ci son tutte: condizioni attuali, grafici giornalieri e settimanali, storico Weather Underground. C’è anche un’interfaccia smartphone ottimizzata per iOS/Android! 😉

Aggiornamenti

30/03/2013: aggiunto il supporto al RFM01 per ricevere i dati dai sensori direttamente via radio, senza connessione usb
Maggio 2013: aggiunti dei sensori aggiuntivi tramite GPIO: BMP085 (pressione – temperatura interna), DHT11 (umidità interna)
10/06/2013: aggiunta la Raspberry Pi Camera Board. Adesso il sistema invia anche un’immagine ogni 5 minuti, con i dati meteo!
03/01/2016: aggiornamento dopo 3 anni sulla situazione dei Software meteo per Raspberry Pi: pywws, Cumulus MX, wview.