Archivi categoria: Meteorologia

Stazione meteo: 3.0

Da diversi mesi ho smontato la stazione meteo che avevo sul tetto. Finalmente mi sono deciso a farne una nuova. Le motivazioni sono semplici: voglio passare dalla connettività wireless a quella cablata e fare tesoro di quanto scritto in questo articolo.

La nuova piattaforma sarà inizialmente basata su una Raspberry Pi 2. Ormai questo hardware è molto vecchio e non si adatta a lavori molto intensi per carico di CPU. Meglio quindi relegarlo alla data acquisition, visto che a bordo c’è tutto quello che serve: SPI, I2C, Camera ed ethernet. Spero solo che la CPU “regga” il caldo, ma se non dovesse risultare stabile ho pronto un “piano B”. Le caratteristiche della nuova piattaforma:
– alimentazione singola a 12V con regolatori interni per 5V e 3.3V;
– Raspberry PI 2 con camera;
– sensore BME 280 interno per rilevare pressione e la temperatura interna del box;
– sensore DHT 22 esterno per umidità e temperatura;
– convertitore A/D MCP3424A per lettura della velocità del vento;
– rimozione del sensore di direzione del vento (almeno per ora);
– predisposizione per sensore di pioggia;

In questi giorni di sviluppo hardware e software ho anche riaperto la vecchia stazione meteo che era operativa dal 2018 ed ha preso notevoli “botte” di grandine e caldo. La situazione all’interno del box è molto molto buona. Non ci sono segni di ossidazione. Solo i cavi hanno sofferto notevolmente e si sono rovinati (devo rinforzarli). Spero di ripristinare le funzionalità entro fine marzo.

In fase di apertura.
La board
Cavo danneggiato dal pressacavi
Nessun segno di ossidazione

La grandine

Il 4 agosto siamo stati flagellati dalla grandine. Una improvvisa (per quanto attesa) corrente fredda, ha determinato una notevole instabilità del tempo, che è sfociata in nubifragi e grandinate.

Andamento della temperatura durante la grandinata.

Nel grafico precedente le zone a “zero” sono date da errori di comunicazione con il modulo BME 280, che hanno richiesto il riavvio della scheda. Appena riesco me lo tolgo dai piedi il “280”.


Polverigi è stata una delle zone più colpite dalla grandine, che ha causato parecchi danni: piante distrutte, lucernari sfondati, persiane rovinate. Tutto ciò che era sul tetto ha subìto un trattamento “speciale”. Da questo non si è salvata la stazione meteo, come si vede dalle immagini.

Lo schermo solare.

A distanza di una settimana, temendo che le piogge possano disintegrare l’ennesimo BME280, ho cambiato la parte superiore della copertura dello schermo ed approfittato per fare un po’ migliorie.
Il prossimo schermo dovrà essere be diverso:
– diametro in base 24cm, in testa 30cm;
– barre filettate e dadi in INOX, aumentare il diametro;
– predisposizione per ventola, in testa;

Il danno è riparato. Per adesso!

BME-280…. ti voglio bene. (poco)

Siamo in quarantena, in isolamento da tutto e tutti, fortuna che il tempo ci assiste. Un po’ di sole, un po’ di caldo. Nottate fresche. Non faccio mistero della passione per la mia stazione meteo. Ecco, improvvisamente la stazione meteo si è ammutolita: segna sempre -141.61 gradi centigradi ed anche la misura dell’umidità sembra essere affetta da qualche problema. Ho provato a resettare la stazione ma senza alcun effetto. Cosa sarà mai successo? Ipotizzo che l’ennesimo sensore di temperatura è andato.

I ricambi sono in ufficio, fortuna che tra qualche giorno devo andare su, per altri motivi. Approfitterò per portare a casa qualche BME-280. Intanto approfitto per fare lo sbroglio della stazione meteo versione 2.0 che… udite udite non userà un BME-280 come sensore esterno: penso che userò un DHT-22 all’esterno e il BMW-280 all’interno, solo per la misura della pressione.

Ancora maltempo

Sono sempre più incuriosito e affascinato dalle condizioni meteo che ogni tanto si verificano in zona. Per il giorno 2 ottobre era stata ampiamente prevista una ondata di fresco, con calo della temperatura a 850hpa di circa 10 gradi.

Interessante notare cosa è successo al suolo, così come rilevato dalla mia stazione meteo. Vediamo qualche dato estratto dal databse, che riporta:
data ed orario (locali), temperatura, umidità, pressione, dewpoint

2019-10-02 13:16:14 | 28.39 | 41.88 | 986.71 | 14.2
2019-10-02 13:26:36 | 26.73 | 46.07 | 986.87 | 14.18
2019-10-02 13:36:59 | 26.26 | 46.73 | 986.71 | 13.97
2019-10-02 13:46:25 | 25.64 | 59.13 | 986.46 | 17.07
2019-10-02 13:56:48 | 21.7 | 64.08 | 988.06 | 14.61
2019-10-02 14:06:43 | 16.75 | 86.08 | 987.18 | 14.41
2019-10-02 14:16:38 | 16.01 | 90.71 | 987.11 | 14.49
2019-10-02 14:26:33 | 15.63 | 91 | 987.38 | 14.16

In pratica, in 70 minuti abbiamo perso 13 gradi di temperatura. Un bel fresco!

Maltempo!

La notizia è sui giornali e sui telegiornali nazionali: siamo stati colpiti da una feroce ondata di maltempo che, localmente, ha creato non pochi danni.
La stazione meteo ha registrato dei dati interessanti, che sono riassunti da questo grafico.

Stazione meteo di casa

Il buco è dovuto al maltempo di mercoledi 10 luglio, che ha mandato in tilt il sensore di temperatura ed umidità. I dati interessanti sono relativi al crollo della temperatura il giorno 9 (martedi pomeriggio) quando, a dispetto delle previsioni, si sono “scatenati gli elementi. Il vento ha raggiunto picchi molto elevati, anche se la mia stazione è piuttosto “protetta”.

Stazione meteo casa.

Passata la “bufera” le temperature sono rimaste “basse” per tutta la giornata di mercoledi 10 (si sono alternate piogge di modesta e bassa intensità), che hanno avuto il minimo la mattina del giorno 11 alle ore 5.20: 16.2 gradi.

La stazione installata presso l’università mostra un andamento simile. Il primo grafico è su 7 giorni e consente di apprezzare anche il caldo torrido che ci ha interessato fino a lunedi 8. Il secondo grafico è su base due giorni e mostra chiaramente il crollo delle temperature.

Università, 7 giorni.
Università: due giorni.

A noi è andata molto bene, ce la siamo cavata con qualche fiore spezzato e un po’ di apprensione per gli oggetti in giardino. Considerando quello che si vede in TV siamo stati “graziati”.

Arriva la tempesta!

Caldo!

Se ne è parlato per giorni della “ondata di calore”. Soprattutto nei gruppi “ragionevoli” e “ragionanti” su Telegram. E tutti con gli occhi sulle centraline meteo.


Puntuale è arrivato il grande caldo africano. Ieri in effetti è stata una giornata “dura”, fortunatamente allietata da un livello di umidità molto basso.
Il caldo ha picchiato duro nel versante occidentale dell’Italia, ma anche noi non siamo stati propriamente freschi. I grafici partono dalle ore 00:00 del giorno 27.

Come è andata da noi (fino al momento della compilazione della pagina)?
Università: valori del giorno 27 -> Max: 33.33 Min: 24.44
Valori del giorno 28 -> Max 31.66 Min: 27.77

Sensore Univpm, dati catturati con rtldavis

Casa: valori del giorno 27 -> Max: 35.72 Min: 22.08
Valori del giorno 28 -> Max 33.98 Min: 24.96

Stazione meteo autocostruita.
Sensori di altre centraline. Presi con rtl_433.

28 aprile e meteo

Giornata dal sapore primaverile oggi, sveglia presto con temperature piuttosto amabili. Alle 12.10 c’erano bn 21.92 gradi. Non male.
Durante il pranzo cambia la luce ed arriva un “po’” di pioggia, anzi, di grandine. Do una rapida occhiata ai sistemi meteo e noto un crollo “verticale” della temperatura, ben evidente dalle seguenti immagini (sono relative a due giorni):

Volendo analizzare nel dettaglio il trend della temperatura a Polverigi notiamo che:
alle ore 14:00 temperatura 20.32. La discesa inizia alle 14:23 -> 19.82 gradi che si mantengono quasi costanti fino alle 14.37. Dopo di che… il delirio:
ore 14.37 gradi 19.08
ore 14.38 gradi 18.40
ore 14.39 gradi 17.83
ore 14.40 gradi 16.92
ore 14.41 gradi 15.90
e così via fino alle 15.30 con 12.84 gradi. A causa del vento la temperatura è calata di 8 gradi in 90 minuti.
Presso Univpm le caratteristiche della stazione non consentono una analisi altrettanto dettagliata ma notiamo che:
ore 14:43 gradi 18.88
ore 14:44 gradi 15;
ore 14:47 gradi 13.88
alle 15:30 sono stati registrati 12.22 gradi.

I dati sono concordi, i tempi sono concordi. E’ proprio freddo!!!
E adesso? alle ore 22.16 ci sono:
8,37 gradi sul tetto di casa;
8.4 gradi dalla stazione commerciale;
8,88 gradi ad Univpm.
Domani giacca pesante e berretto di lana!

PS: una cosa simile era successa anche il 24 settembre 2018: se ne parla qui!

Davis Instruments ed rtl-sdr

Da qualche tempo è comparsa, sul tetto dell’Università, una stazione meteo piuttosto carina: Davis Vantage Pro 2. Il sensore è installato sul tetto della torre a quota 195, la stazione nel piano sottostante. Le due unità comunicano “wireless”. I dati della stazione mi interessano per diversi motivi:
– mi piace sapere quanto fa caldo/freddo al lavoro;
-mi interessa correlare questi dati con i dati AIS in modo da valutare la propagazione troposferica in funzione del tempo atmosferico.

I dati della stazione meteo è difficile ottenerli in modo “ufficiale”: la stazione è collegata ad un portatile che non è accessibile dalla rete. Inoltre non ho idea di chi la abbia installata. Pertanto c’è un solo modo: i dati “me li prendo”. Sfortunatamente il programma rtl_433 non riesce a demodulare queste informazioni:
– rtl_433 demodula ASK mentre le Davis usano FSK;
– rtl_433 non interpreta il protocollo Davis;

La soluzione è arrivata da rtldavis, un programma scritto in go lang, che effettua le seguenti operazioni:
– accesso alla chiavetta rtl-sdr;
– algoritmi DSP per la demodulazione del segnale;
– algoritmi per la decodifica del protocollo.
Peccato che l’autore abbia terminato lo sviluppo del codice senza terminarlo (la parte di di decodifica del protocollo non è terminata). Inoltre il codice è studiato per le stazioni americane e deve essere modificato per lavorare nella banda ISM italiana.

Modifica al codice go lang: il file è “protocol.go“. Le informazioni sulla frequenza dei canali usate in Europa ho provato a ricavarle con una chiavetta SDR ma occorre essere piuttosto precisi. Fortunatamente ho trovato questo articolo in cui ci sono parecchie informazioni. In America si usano 51 canali, in Europa 5. Il codice è il seguente:

p.channels = []int{
868066711, 868181885, 868297119, 868412292, 868527466,
}

p.hopPattern = []int{
0, 2, 4, 1, 3,
}

Compilato il codice in “go”, l’output è piuttosto “criptico”:
600222FFC3004DD9
8002241FBB00C0B9

Ho provato a realizzare l’interprete del protocollo in go, ma ammetto che non ho ricavato nulla: non sono stato in grado, in tempi brevi, di trovare informazioni tali da permettermi di implementare delle funzioni facilmente. Ho deciso per un approccio alternativo: scrivere un interprete in Python che esegua queste funzioni:
– ricevere in input il protocollo raw;
– decodificare il protocollo;
– inserire i dati in mysql;
Le specifiche del protocollo sono perfettamente specificate in questo sito.
Nelle parti maggiormente criptiche mi sono fatto aiutare da questo codice, realizzato per arduino ma… sempre buono.

Output del programma:

Data 2019 02 17 Ora: 12 51
91030 500283FF710086F8

Input Lenght 2
Colonna
500283FF710086F8
Output Lenght 8
[’50’, ’02’, ’83’, ‘FF’, ’71’, ’00’, ’86’, ‘F8’]
Element 0 50
Element 1 02
Element 2 83
Element 3 FF
Element 4 71
Element 5 00
Element 6 86
Element 7 F8

Summary
Station id 0
Message Type 5
Message Type Rain Rate

Wind Velocity 3.21
Wind Direction 183.35
Wind Gust 0
Humidity 0
Rain 0.0
Rain Rate mm/h 0.0
Temperature C 0
Solar Radiation 1798.36
UV Index 0
SuperCap 0

Debug inserimento dati nel DB
Debug – anno: 2019
Closing down

Cosa scaricare:
– programma originale in “go” dell’autore Douglas Hall
– si compila e si mette in /usr/local/bin/
– Script in python:
– versione 2 — funziona da riga di comando: rtldavis 2>&1 | python weather_decoder_2.py
– versione 3 — Avvia automaticamente rtldavis come subprocess.
Il pacchetto completo si può scaricare da questo link.


rtl_433 parte seconda

Finalmente ho avuto un pochino di tempo per rivedere lo script python che prende i dati dal rtl_433 e li mette nel database.
Inoltre ho terminato la scrittura del codice PHP che, in maniera davvero triviale, genera una pagina web con i dati di tutti i sensori.

Il codice python è disponibile a questo link.
Il codice php si può scaricare con questo link.
Entrambi sono stati sviluppati con APTANA, strumento che trovo davvero delizioso per le mie (discutibili) doti di programmatore (anche se rognoso da fare funzionare).