Setup di una stazione meteo amatoriale

Dopo un lungo periodo di inattività ho deciso di riesumare la funzionalità di condivisione dei dati meteo rilevati dalla stazione meteorologica personale, in inglese PWS – Personal Weather Station, che fa più scena, per Valle Muricana Meteo.

Ho usato una economica La Crosse 2350 che avevo ferma da tempo, fornita con anemometro, pluviometro e centralina esterna con termo-igrometro.

Come schermo per la centralina ho usato un tubo bianco smaltato, con sopra dei piatti a protezione della pioggia e sotto una ventola per PC,  di quelle a 3 velocità, per garantire una ventilazione adeguata e quindi ( spero ) una maggiore affidabilità della misura.

Ecco qualche foto… è proprio quello che sembra… un terminale di uscita dei fumi della caldaia, che poi ho ancorato ad un palo tramite l’apposita staffa. Sono semplici articoli di fumisteria facilmente reperibili in ferramenta.

schermo ventilato con tubo caldaiaTubo con termoigrometroparticolare ventolaschermo ventilato con termoigrometro

 

Montato il pluviometro e l’anemometro ho collegato i connettori alla centralina igro-termometrica che correttamente trasmetteva i dati alla console, dentro casa.

OK è fatta, ora basta collegare la console alla Linux Box ed installare Open2300 per cominciare a postare i dati.

Collego il convertitore USB<->RS232 al PC, che correttamente viene installato e visto come /dev/USB0,  collego la seriale alla 2350, configuro open2300 e lancio il comando “fetch2300″… niente, non funziona.

Forse il problema è il convertitore USB<->RS232, mi sono detto. Provo allora con un vecchio PC con Ubuntu che ha le seriali classiche: niente, nemmeno su questo va.

Provo anche con un PC Windows con il convertitore USB<->RS232 e non va nemmeno li… l’unica prova che mi rimaneva era Windows con una seriale classica ma non l’avevo a disposizione.

Forse sarà il cavetto RS232<->RJ11 che collega la seriale alla stazione, su internet trovo il pinout e faccio la verifica, sembra ok ma… dal pinout scopro con sorpresa che manca il pin 5, Signal Ground,  i segnali collegati sono 4, RX, TX, DTE e RTS. Come fa a funzionare sta 232 senza Signal Ground ? Di certo, anche se funziona, non è questo il modo più ortodosso per collegare una RS232!

Vuoi vedere che in qualche modo usa i due segnali DTE e RTS per fare un convertitore TTL/RS232 al suo interno ?

Incuriosito apro la stazione e mi metto a cercare il circuito che dovrebbe fare questa cosa, individuo i pin RX e TX TTL, lanciando fetch2300 verifico con l’oscilloscopio che il segnale dalla 232 verso il piedino RX arriva, si vede anche che il microprocessore risponde pure sull’altra linea ma il segnale non viene convertito nel corrispondente livello RS232 ( che dovrebbe essere duale e invertito rispetto al TTL).

Forse il driver non setta bene i segnali DTE o RTS ? Ma sai che ti dico, ma se ci mettessi un bel MAX232 ?

Detto e fatto, in una basetta monto il circuito raccomandato nel datasheet, collego il tutto, mi metto con l’oscilloscopio sui due pin RX e TX e lancio fetch2300.

pinout cavetto seriale-rj11 ws2300/2350WS2350 con interfaccia seriale modificataMAX232 application noteParticolare convertitore TTL RS232schermata output fetch2300 su terminaleWS2350 con connettore DB9 RS232

Ecco che vedo sull’oscilloscopio il PC chiacchierare con la WS2350 e dopo poco come per magia apparire sul terminale del PC i dati della stazione. Funziona ! Ora facciamo un bel foro per un connettore DB9 femmina ( di spazio ce n’è da vendere) e proviamo il tutto, ora va su Linux con seriale classica, con l’adattatore USB<->RS232 e anche sul PC con Windows!!

Ora posso finalmente usare un cavetto DTE-DCE standard sulla RS232, va benissimo uno di un vecchio modem.

Non mi resta che,  dopo aver applicato questa patch che corregge un problema con la richiesta http, mettere in crontab l’eseguibile wu2300 e il gioco è fatto.

La stazione è di nuovo operativa. Potete vedere i dati su Weather Underground.
 

foto stazione meteo su palo antennafoto stazione meteo su palo antennafoto stazione meteo su palo antenna

Riferimenti