Supportiamo le Meteo Station…..
E’ fuori discussione che oggi dipendiamo più che mai dalle condizioni meteo per la nostra vita quotidiana !!! Questo spiega il proliferare di servizi sempre più sofisticati per produrre delle previsioni affidabili… ed evitare di trasformare l’agognato weekend fuori porta nel classico “bagno” !!!
Spesso l’elemento di discrimine per la scelta dela nostra tappa è proprio la possibilità di “vedere” lo stato del tempo nel luogo di nostro interesse… questo spiega il proliferare di “stazioni meteo” anch’esse sempre più sofisticate e disponibili sul mercato consumer a prezzi molto interessanti….
Per chi guarda invece ad aspetti meno “ludici”, il conoscere il trend delle condizioni meteo nella propria zona può avere anche fini più “seri” come ad es. monitorare e prevenire semmai situazioni di dissesto idrogeologico… le nostre zone anche in questo senso purtroppo in passato hanno dato spesso segni di carenze organizzative ed informative.
Avere la possibilità di installare ed operare delle stazioni meteo in zone strategiche è quindi un discorso interessante: infatti è molto facile trovare stazioni meteo poste presso le proprie abitazioni, semmai in centro, ma è molto difficile riuscire ad avere informazioni da stazioni poste semmai in zone molto esposte come ad es. in montagna o in zone difficilmente accessibili.
Esiste poi il tema della raccolta in tempo reale dei dati meteo dai sensori installati, che rende ancora più complesso il discorso trattandosi semmai di zone soggette a digital divide o a carenze di copertura delle reti di accesso ad internet.
Grazie alla presenza di una rete mesh presente nelle nostre zone è stato interessante approfondire il tema del collegamento di stazioni meteo distribuite sul territorio sfruttando appunto la rete SARIMESH in modo da rendersi del tutto indipendenti dalle reti tradizionali ( internet e/o radio ).
Lo scenario target a cui abbiamo mirato è stato quello di sperimentare e rendere fruibile una modalità di collegamento di stazioni meteo a basso costo tramite rete mesh ad un server in grado di realizzare il collegamento delle stesse stazioni con internet e rendere possibile delle funzioni di aggregazione ed elaborazione dei dati meteo, rendendo nel contempo possibile il veicolare i dati stessi sui tradizionali portali internet di aggregazione di dati meteo.
Esistono oggi sul mercato svariati tipi di stazioni meteo in grado di essere interfacciate tramite rete LAN o tramite WIFi ; i costi purtropo non sono ovviamente dei più bassi, ma esiste un elemento ancora più importante che rende problematico il loro utilizzo in un ambito quale quello sopra delineato: sono quasi tutti prodotti “chiusi” che utilizzano protocolli di comunicazione su IP proprietari e quasi sempre non “disclosed” per cui sono utilizzabili quasi esclusivamente per interagire con i classici portali internet senza dare la possibilità di accedere ai dati rilevati in maniera articolata.
Esiste poi una buona fascia di prodotti che possiedono ottime caratteristiche in termini di sensori disponibili e dispositivi di display, ma sono completamente privi o quasi della possibilità di “esportare” i dati catturati ad altri dispositivi di aggregazione.
Esiste infine una fascia abbastanza interessante di prodotti derivati dalla fascia precedente che forniscono la possibilità di estrarre dalla stazione stessa i dati raccolti tramite una interfaccia fisica di tipo USB e con dei formati dei dati abbastanza noti.
Per la nostra sperimentazione abbiamo quindi deciso di utilizzare due tipi di dispositivi abbastanza noti e diffusi:
- Ambient Weather WS-1400-IP : ottima dotazione di sensori e interfaccia IP 10/100 RJ45 ( senza console/display)
- Aercus WS3083: ottima dotazione di sensori, ottima console, interfaccia USB, ottimo rapporto prestazioni/prezzo
I due modelli sono sostanzialmente equivalenti come dotazione di sensori e rappresentano di fatto il top di gamma: raccolgono dati di temperatura, pressione, umidità, vento, illuminazione e livello raggi UV.
Il modello IP è privo di console e quindi richiede un dispositivo tipo smartphone o tablet per visualizzare i dati raccolti e uploadati in automatico sul portale Wunderground.com.
Esistono del tipo 2) varie versioni con sensosoristica più limitata e consolle meno bella, e soprattutto esiste una ampia fascia di prodotti di provenienza far-east esattamente compatibili come interfacce HW/SW per cui si parte da appena 50-60 € per una stazione minimale.
Il supporto dei due tipi di dispositivi ha richiesto una analisi abbastanza approfondita delle modalità di interfacciamento e delle possibilità di programmazione dei due dispositivi; di seguito riassumiamo i risultati ottenuti.
- Per il dispositivo con interfaccia IP si è trattato di intercettare i pacchetti IP diretti verso wunderground.com a livello di rete IP e ridirigere gli stessi verso un server su cui viene fatto girare un processo SW che intercetta a livello di protocollo HTTP i pacchetti , li analizza, ed estrae i dati forniti dalla stazione, mettendoli in un opportuno formato SW pronti per essere forniti in pasto ad un altro processo SW, di cui parleremo successivamente, e che qui chiamiamo genericamente “programma aggregatore”. Per catturare a livello IP e deviare i pacchetti dati, sfruttiamo il router ( MikroTik ) che interfaccia la rete SARIMESH al gateway verso internet, specificando delle opportune regole a livello della configurazione della funzione di Firewall.
- Per il dispositivo con interfaccia USB il tema è più complesso in quanto il formato fisico della interfaccia è completamente avulso dal mondo IP. Il tema che si pone è sostanzialmente quello di catturare il traffico USB che porta i dati meteo generati dalla stazione e trasformare tale traffico in un formato trasportabile su IP.… Delle varie possibilità pensabili è stata scelta quella di remotizzare l’interfaccia fisico/logica USB sopra la rete di trasporto IP (SARIMESH per es. ) in modo da trasportare il traffico USB bidirezionale incapsulandolo su dei pacchetti TCP/IP tra il server di destinazione e un opportuno adattatore posto in prossimità del connettore USB della stazione, in grado di interfacciare la rete IP con una porta di rete standard di tipo wired ( es.RJ45) o wireless ( a 2.4 o 5 Ghz).
La modalità di collegamento 2) sfrutta in particolare il protocollo USB-Over-IP sviluppato qualche anno fa ( Descrizione Protocollo ) e implementato su varie piattaforme HW/SW in particolare unix like. La scelta di questa modalità di remotizzazione ha il grosso vantaggio di essere utilizzabile, anche se con performancies diverse, sia su reti LAN veloci che per es. su reti quali la nostra SARIMESH, non particolarmente performanti.
Nel caso delle stazioni meteo il traffico atteso sul’interfaccia è decisamente basso per cui il sistema USB-Over-IP si presta bene allo scopo; per realizzare la trasformazione USB/IP abbiamo deciso di utilizzare un piccolo dispositivo Raspberry-like con SW Linux: si tratta di un dispositivo Nanopi-M1 basato su un processore di architettura ARM quad-core con RAM da 1 Mbytes a una flash da 8Gigabytes. Il SW utilizzato è Linux Ubuntu 16.04 su cui sono stati installati i pacchetti ad hoc per realizzare la parte server del protocollo USB-Over-IP.
Per terminare il traffico generato dall’adattatore USB-IP abbiamo installato sul server di gestione della rete SARIMESH gli opportuni pacchetti SW per implementare la parte client del protocollo USB-IP: come risultato di questa architettura il client USBIP consente di far apprire al server locale il dispositivo remoto come se fosse un dispositivo USB collegato localmente al server stesso.
Realizzata questa remotizzazione è sufficiente che il “processo aggregatore” sia in grado di interfacciare un dispositivo USB nativo….
A questo punto è quindi chiaro che tutto dipende da che tipo di “processo aggregatore” si scelga di utilizzare…. per quanto detto finora questo SW deve essere in grado di interfacciare dispositivi USB e dispositivi IP nativi…..
Esistono numerosi SW in grado di interfacciare delle stazioni meteo e in grado di girare sia su piattaforma windows che linux: la scelta è caduta sul SW weewx che rappresenta una scelta ottimale in particolare per usare come piattaforma HW/SW una macchina Linux quale il nostro SariServer…. Il SW weewx è completamente open-source, è molto ben supportato da una ampia comunità di sviluppatori e utilizzatori ed è funzionalmente aperto per realizzare eventuali customizzazioni.
Come risultato delle scelte effettuate e con un poco di lavoro di integrazione siamo riusciti a interfacciare le due tipologie di Stazioni Meteo al nostro server SariServer usando weewx come sistema aggregatore.
Una delle funzionalità del SW weewx è quella di consentire il “dispatching” (distribuzione) dei dati meteo ricevuti verso i classici portali meteo internet quali ad es. Wunderground.com e similari; questo consente di rendere visibili le nostre stazioni simultaneamente su numerosi portali in maniera del tutto trasparente.
Come parte integrante del SW weewx abbiamo anche la possibilità di raccogliere, storicizzare e presentare sotto forma di diagramma i vari dati meteo in modo da poterli displeare tramite un qualsiasi dispositivo IP quale ad es. smartphone, tablet, laptop, etc. sia localmente, sia all’interno della rete SARIMESH, che a internet.
Le due stazioni meteo attualmente attive possono essere raggiunte ai seguenti puntatori
- stazione meteo Piano di Sorrento (weewx)
- stazione meteo Piano di Sorrento ( WunderGround)
- stazione meteo Meta (weewx)
- stazione meteo Meta (WunderGround)
Buonasera Michele, dobbiamo cambiare nome alla stazione meteo , non è piu IPIANOD5
Saluti
l’articolo fa riferimento alla situazione alla data in cui è stato scritto… l’obiettivo era descrivere la soluzione … attualmente il nome della tua meteo station è IPIANO13 e la parte weewx non è più disponibile.