Menu

Sito a cura di

Andrea Costantini

Mi presento

Come autocostruire una stazione meteo con tecnologia IoT – LoRaWan – parte 1

Pubblicato il 21 Aprile 2021

Capitolo 1: premessa e introduzione tecnica

Buonasera a tutti,
in questo post desidero condividere un progetto “in divenire” quindi aperto ad ogni contributo, suggerimento e idea che possano portare ad una conoscenza migliore ed ad una crescita complessiva.

Si tratta della creazione di una stazione meteorologica in tecnologia IoT LoRaWan (frequenza libera 868MHz con rispetto di specifiche sulla trasmissione, che vedremo nel corso della trattazione) alla quale si aggiungono altre misure di contorno come andremo a specificare in seguito. Il percorso che descrivo parte della tecnologia di base, si sposta all’hardware, passa alla piattaforma dove i dati vengono raccolti dal gateway ed infine si procede con la componente software e visualizzazione dati (che, allo stato attuale, è assai semplice e basilare e potrà essere senz’altro migliorata in futuro anche con la collaborazione reciproca ).
Ho iniziato questo percorso di auto-apprendimento e test autonomi sulla tecnologia LoRaWan in concomitanza con le installazioni di sensori professionali LoRaWan prodotti da Decentlab GmbH (“spin off” dello “Swiss Federal Laboratories for Materials Science and Technolog di Zurigo), nel contesto del progetto sperimentale di monitoraggio meteorologico nella Foresta demaniale del Cansiglio (si veda anche qui News dal Cansiglio: webcam e dati meteo dai “Bech” online! >> Meteo Ravanel | Stazione meteo amatoriale di Vittorio Veneto). Ho voluto quindi approfondire le opportunità offerte da questa tecnologia che promette grandi campi di applicazione dove la meteorologia è sicuramente coinvolta e già diversi “attori” professionali stanno approntando soluzioni specifiche in merito. Non sono un informatico e mi scuso già se involontariamente non sono sempre preciso nell’utilizzo delle terminologie legate all’aspetto protocolli/reti etc. Coglierò l’occasione per migliorare, se qualcuno mi aiuterà in questo.

Desidero ringraziare Mauro e Alessandro che, in diverse fasi, mi hanno aiutato a comprendere i meccanismi essenziali per lo sviluppo del codice in php che restituisce i valori in formato “leggibile”. Senza il loro aiuto fondamentale per partire sarei stato veramente in difficoltà. GRAZIE!

Considerazioni fondamentali di questo micro-esperimento:

0) E’ un progetto amatoriale svolto a tempo perso, senza finalità di altro tipo che la curiosità tecnico-scientifica e l’apprendimento di nuove tecnologie da condividere.

1) Lo scopo è capire le basi della tecnologia LoRaWan partendo da un semplice esempio e verificarne le applicazioni in campo meteorologico anche dedicate ad appassionati e amatori e non necessariamente a professionisti, purché dotati delle sufficienti conoscenze tecniche sui vari componenti (hardware, informatiche, software) e disposti all’auto-assemblaggio dei componenti (con tutte le conseguenze che ne derivano: errori, impropri, nervoso, soddisfazioni, creatività, risultati etc etc  ) così come alla creazione di un semplice php che possa presentare i dati essenziali magari inserendo anche un’immagine della stazione e/o la webcam se presente.

2) Condividere un microprogetto in evoluzione con la volontà di imparare e, perché no, dare a qualcuno la possibilità di realizzare da sé una stazione meteorologica professionale a norma WMO utilizzando componenti adeguati e seguendo le linee guida per l’installazione (anche per poter mettere online i dati sulle reti come Meteonetwork).

3) Non è un test di comparazione schermi solari né si parla di misure a norma WMO. Si tratta di prototipazione.

4) Non è un test di performance dei sensori e relative accuratezze.

5) Non è in gioco la comparazione statistica con stazioni ufficiali per verifica qualità della misura, si guarda “l’ordine di grandezza” per capire se stiamo nella ragionevolezza o meno

6) So benissimo che ci sono N+1 stazioni che costano meno, hanno K+1 misure e la configurazione richiede meno di 5 minuti e sono online in 7 minuti netti dall’accensione. Le conosco molto bene. So anche che con il doppio (circa…) dei soldi indicati per questa lista materiale si acquista una Davis Vue. Prima di sollevare quindi la questione “si ma con 350€ io mi prendo la Davis”, si torni al punto 1 (come un ciclo for )

Premessa alla tecnologia utilizzata: esistono già diverse accurate guide inerenti la tecnologia LoRaWan e non svolgerò quindi approfondimenti sul tema. Invito a consultare link specifici (vedere di seguito) e/o integrare le proprie conoscenze base (essenziali per proseguire!) con ricerca autonoma. La logica di questo protocollo deve essere ben compresa per essere in grado di trasferire dati dalla stazione in campo a un punto di raccolta (stringa dati, sovrapposizione immagine etc).

Consiglio quindi di analizzare nel dettaglio i documenti sotto indicati (ed altri se necessario) prima di qualsiasi altro passo.
LoRaWAN, cos’e, a cosa serve, perche conviene utilizzarla |
Internet 4 Things

Learn | The Things Network (in breve, TTN)
https://www.resiot.io/it/cosa-e-lorawan/
https://amslaurea.unibo.it/17312/1/laricchia_luigi_tesi.pdf

Dopo aver preso confidenza con la struttura di un sistema LoRaWan ed ai vari passaggi tra dato misurato e sua fruibilità, passiamo agli aspetti pratici. Il sistema si basa su una scheda elettronica prodotta dalla svedese ELSYS https://www.elsys.se/ (membro della Lora Alliance – Semtech/LoRaWAN stack), che accetta come input fino a 2 sensori esterni, oltre che essere dotata di altri trasduttori nativi a bordo.

Misure meteorologiche ottenute direttamente: temperatura esterna in schermo solare, umidità dell’aria*, pressione atmosferica assoluta.
Misure meteorologiche ottenute da calcolo indiretto: precipitazione giornaliera, pressione atmosferica relativa, dewpoint*, altre grandezze ottenibili in post elaborazione (es. intensità precipitazione etc.).
*per la misura di umidità dell’aria e relative grandezze derivate, si veda la nota sotto “Rappresentatività delle misure igrometriche e barometriche”

Misure di contesto base: orario ultima trasmissione, tensione batteria
Misure di contesto aggiuntive ottenibili: dati inerenti la trasmissione radio (es “frequency”: 867.9, “data_rate”: “SF7BW125”, “coding_rate”: “4/5”, “rssi”: -91,”snr”: 9.5)

Lista principali componenti hardware e prezzi di riferimento (aprile 2021) – kit base minimale

1) Trasmettitore LoRaWan ELSYS ELT-2-HP (due ingressi esterni di cui un sensore temperatura 1-wire digitale e uno tipo reed switch con resistenza di pull-up ~50 kΩ già presente sull’ingresso 2). Prezzo: circa 125€ spedizione inclusa da rivenditore (l’acquisto diretto dal produttore svedese ELSYS sul loro “shop” è riservato ad aziende).

2) Batteria al litio AA da 3,6 V (ER14505). Prezzo circa 5€

3) Antenna amplificata 868MHz con cavo integrato 1m e connettore SMA maschio per collegamento a trasmettitore ELSYS ELT-2-HP. Prezzo circa 5€

4) Sensore temperatura 1-wire tipo DS18B20 IP68 impermeabile con cavo siliconico da 1m e terminazione a puntalini liberi (3 poli). Prezzo circa 5€

5) Pluviometro reed switch Misol o altro sensore equivalente a 2 fili in uscita. Prezzo circa 15€

6) Schermo solare per sensore temperatura tipo Davis DW-7714 o equivalente. Prezzo vario, stima 90€ per versione Davis

7) Staffe e supporti vari per adattamento a palo o altra struttura. Prezzo stima circa 30€ (per acquisto tutto materiale nuovo)

8) Gateway indoor LoRaWan TTIG-868. Prezzo circa 90€ spedizione inclusa

Se si dispone già dello schermo solare e degli accessori di supporto, il prezzo complessivo del kit base è inferiore a 250€; non ci sono licenze annuali, royalties di trasmissione radio o costi addizionali sulla strumentazione e, come vedremo, nemmeno per la gestione dei dati e loro visualizzazione (per le soluzioni base, sufficienti al ns. scopo).

Il risultato del prototipo è (attualmente) questo, assemblato integralmente con elementi di recupero già disponibili (sia per schermo solare che pluviometro ed altri accessori):

Datasheet e manuali configurazione
ELSYS ELT-2-HP Datasheet: https://elsys.se/public/datasheets/ELT-2_datasheet.pdf


Manuale: https://elsys.se/public/manuals/Operating%20Manual%20ELT-2.pdf (collegamento cavi sensori a pagina 15 – Switch input + Temperature sensor)
Datasheet elemento sensibile sensore temperatura: https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf (Accuracy ±0.5°C from -10°C to +85°C)


Gateway indoor LoRaWan TTIG-868: https://it.rs-online.com/web/p/strumenti-di-sviluppo-comunicazione-e-wireless/1843981/ (sezione “Documentazione tecnica”)

Lista riferimenti per acquisto principali elementi – aprile 2021 (è solo uno spunto, poi ciascuno faccia le proprie ricerche)
ELSYS ELT-2-HP https://www.reichelt.de/it/it/sensore-wan-lora-analogico-digitale-elsys-elt-2-hp-p275434.html?CCOUNTRY=446&LANGUAGE=it&nbc=1&&r=1
Batteria al litio AA da 3,6 V (ER14505): https://www.ebay.it/itm/154062736304?chn=ps&norover=1&mkevt=1&mkrid=724-128315-5854-1&mkcid=2&itemid=154062736304&targetid=883693966540&device=c&mktype=pla&googleloc=1008897&poi=&campaignid=9556813883&mkgroupid=103744186728&rlsatarget=pla-883693966540&abcId=1145978&merchantid=6772416&gclid=Cj0KCQjwpdqDBhCSARIsAEUJ0hNa07DDoEl2wJRRUPoz03z_WCHXomi7gVEy3Tlw21_muUNuebFQmJQaAkKPEALw_wcB
Antenna 868MHz: su ebay ci sono diverse soluzioni. Una buona soluzione dedicata a LoRaWan è https://www.cedelettronica.com/it/prodotti/automazione/antenna-lora-868mhz-lpwan-lora-5dbi-12567/8079
Sensore temperatura 1-wire : https://www.ebay.it/itm/Sonda-con-Sensore-Temperatura-DS18B20-Cavo-Digitale-Impermeabile-Inox-1m-Arduino-/152534796710
Pluviometro reed switch Misol: https://www.amazon.it/MISOL-Ricambio-stazione-misurare-pluviometro/dp/B00QDMBXUA/ref=pd_sbs_1?pd_rd_w=63OHn&pf_rd_p=100addec-b643-4151-aeb5-9ec7d592e710&pf_rd_r=C2HHVY1J2ECMKB3JF22V&pd_rd_r=c0a633b9-bc91-40a3-84ac-6f404e4bd61c&pd_rd_wg=nyuWY&pd_rd_i=B00QDMBXUA&psc=1
Gateway LoRaWan: https://it.rs-online.com/web/p/strumenti-di-sviluppo-comunicazione-e-wireless/1843981/

“Rappresentatività delle misure igrometriche e barometriche”
ELSYS ELT-2-HP ha a bordo un trasduttore di misura termo-igrometrico, posto sulla scheda e non rimovibile (oltre che il trasduttore di pressione atmosferica assoluta). Il prodotto dispone nativamente di protezione IP67 e i cavi dei sensori esterni devono essere collegati utilizzando la morsettiera e passaggio mediante apposito pressacavo già montato sull’involucro. Si deduce pertanto che le misure interne sono del tutto indicative e prive di “significato meteorologico”.

Una soluzione approntata in questo prototipo è stata alloggiare ELT-2-HP, privo di coperchio di protezione, all’interno di una scatola di derivazione posta in verticale, opportunamente siliconata nella parte superiore (come precauzione) e dotata di due fori sul lato inferiore protetti da doppia retina anti insetto, fissata con silicone, per prevenire/ridurre da un lato l’ingresso di sporcizia ed animali e dell’altro cercare di porre il trasduttore in maggior contatto con l’aria esterna, per utilizzare la misura dell’umidità dell’aria a scopo meteorologico e derivarne il dewpoint insieme alla misura della temperatura dell’aria posta in schermo solare.

Come detto sopra, mi interessa l’ordine di grandezza e non la precisione assoluta. Da prove eseguite in diversi contesti meteo (esempio pioggia battente sciroccale, sole pieno con aria secca e fohn), ho derivato che il sensore in quell’alloggiamento segue benissimo l’andamento in caso di umidità elevata mentre soffre di sottostima quando i valori scendono, specialmente al di sotto del 45/50% e in condizioni di soleggiamento che, inevitabilmente, scaldano l’aria interna del box stagno (differenze anche di 10°C tra temperatura interna e temperatura in schermo solare, probabilmente anche oltre in piena estate) e quindi, in assenza di ventilazione sostenuta e ricircolo d’aria, si ottengono valori sottostimati anche del 10-15%. Ho quindi eseguito una prima sperimentale grezza “ricalibrazione” andando a sommare, lato codice php, diverse costanti per fasce di valori iniziali di umidità relativa misurata dal sensore. Idem dicesi per il dewpoint, calcolato sulla base dell’umidità “corretta” e per la misura di pressione atmosferica assoluta che risente della temperatura degli elementi sulla scheda e che sono andato a compensare con una costante per allinearmi ai dati circostanti e, una volta eseguito questo calcolo, otteniamo una apprezzabile miglioria. Anche qui cerchiamo l’ordine di grandezza, applicando qualche correzione per comparazione che sia sufficiente allo scopo. Una possibile limitazione a questo sviluppo sarà se, e spero di no, l’esposizione di ELT-2-HP senza coperchio che lo rende IP67 (sebbene isolato e protetto nel suo box aggiuntivo). Qualora gli elementi elettronici subissero un decadimento (o anche un fault completo del sensore…), l’esperimento di “compensazione” dell’umidità relativa sarebbe da considerarsi fallito e non realizzabile, e torneremmo quindi a utilizzare il trasmettitore solo come indicato nativamente, ovvero IP67 (con buona pace di umidità relativa e dew point ci resterà comunque una stazione termo-pluviometrica).

Nella parte 2, to be continued…., inizieremo a capire come collegare i dispositivi e predisporne la programmazione.
A presto…(spero) e spero soprattutto che questa condivisione possa essere di interesse comune

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *