Io utilizzo anche questo gateway avente antenna esterna MikroTik Routerboard wAP LoRa8 kit | The Things Stack for LoRaWAN
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Capitolo 3
Nei capitoli precedenti abbiamo seguito la procedura attuale per attivare la trasmissione del dispositivo verso il gateway, dopo aver correttamente registrato quest'ultimo nella piattaforma TTN (attualmente, la V2).
Dovremo ora predisporre la cosiddetta "Application" sulla piattaforma TTN; in sostanza, ora che il gateway riceve e trasmette su TTN i dati crittati dal sensore, c'è bisogno di decodificarli e renderli poi fruibili per le elaborazioni finali.
Prima di proseguire, fermiamoci a riassumere i passaggi finora svolti e quelli che ancora dobbiamo implementare:
1) Cablaggio sensori meteo al trasmettitore ELSYS: fatto
2) Registrazione gateway TTIG-868 su piattaforma TTN: fatto
3) Programmazione base del trasmettitore per invio dati a piattaforma TTN, mediante il gateway: fatto
4) Creare una "Application" su piattaforma TTN per decodificare i dati criptati ricevuti su TTN mediante il gateway: da fare
5) Creare l"Integration" "Data Storage" su piattaforma TTN per predisporre l'esportazione/elaborazione dei dati precedentemente decodificati: da fare
6) Creare un semplice codice php per esportare/elaborare/visualizzare i dati in tempo reale (script che può girare ad esempio su dominio Aruba o altri): da fare
7) Creare ulteriori "Integration" (come "AllThingsTalk Maker" e "HTTP Integration for Datacake") che permettano di esportare i dati su piattaforme appositamente pensate per la visualizzazione dati di sensori IoT al fine di presentarli in maniera facilmente leggibile (grafici dinamici, aggiornamento automatico etc): da fare
In questo capitolo ci occuperemo dei punti 4, 5 e 6; il punto 7 è ancora in fase di studio e, essendo in corso di aggiornamento la piattaforma TTN (da V2 a V3, come indicato anche in precedenza), sarà probabilmente ritardato.
Punto 4
Per creare una application su TTN, consiglio di seguire la facile guida creata proprio da Elsys:https://www.elsys.se/en/ttn-guide/. Come visibile nella documentazione, l'obiettivo è decodificare i dati che, fino a questo momento, esistono solo in maniera crittata (ricordiamo che il gateway NON esegue alcuna operazione di decrittazione e si limita a trasferirli così come li riceve). Utilizzando il "payload decoder" fornito già pronto e funzionante, è sufficiente inserirlo nell'apposita sezione per poter ottenere i dati "in chiaro" sotto il menu "Data" della nostra application.
Punto 5
Per creare una integration su TTN è necessario accedere all'omonimo menu dell'application e selezionare "add integration". Basilare sarà attivare quella nominata "Data Storage". Successivamente, cliccare su Integration info >> go to platform per accedere al tool. Si apre un sito web che si chiamerà https://NOMEAPPLICATION.data.thethingsnetwork.org/; in alto, cliccare su "authorize" e nella schermata che appare (richiesta "key"), inserire l'access key della vostra application su TTN (visibile sotto il menu "Overview" dell'application stessa, si chiama "default key"). Infine, andare su GET /api/v2/query/{device-id} e su device-id digitale il nome del vostro device (così come registrato sull'application) e su last inserire il tempo di cui fare la ricerca dati (Data Storage attualmente permette un archivio ciclico di 7 giorni). Per la nostra finalità, inserire 24h e premere "Try it out".
I dati verranno visualizzati su Response Body e saranno quelli delle ultime 24 ore.
Si veda un esempio qui sotto di stringa completa standard (senza impulsi esterni da pluviometro, valore "digital2=0)
{
"device_id": "elt2",
"digital": null,
"digital2": 0,
"externalTemperature": 20.7,
"humidity": 34,
"pressure": 1002.904,
"raw": "AQD1AiIHDjwMAM8UAA9NmBoA",
"temperature": 24.5,
"time": "2021-04-28T15:06:35.107902699Z",
"vdd": 3644
},
e questo è invece un esempio di impulso da reed switch registrato su "digital2" (il valore è su stato "1") che corrisponde ad una basculata del pluviometro. I rimanenti valori sono "null"
{
"device_id": "elt2",
"digital": 1,
"digital2": 1,
"externalTemperature": null,
"humidity": null,
"pressure": null,
"raw": "DQEaAQ==",
"temperature": null,
"time": "2021-04-29T05:02:25.53377155Z",
"vdd": null
},
6) Al fine di ottenere i dati dall'integration "Data Storage" è necessario scrivere uno script (ho utilizzato php in quanto ho familiarità con le basi di questo linguaggio ma ci sono molti altri metodi, ad esempio mediante Python che è un linguaggio adatto a maneggiare stringhe e dati). La logica è la seguente:
A) dichiarare il metodo di "cattura" dati mediante la funzione curl della stringa in formato json ed importare l'ultimo dato disponibile
B) dichiarare le variabili ed eseguirne le elaborazioni (es. conversione formato timestamp, compensazione umidità relativa, pressione atmosferica, calcolo accumulo pluviometrico giornaliero, estrazione estremi temperatura etc)
C) visualizzare i dati finali elaborati in formato leggibile
D) inserire l'eventuale webcam e/o l'immagine della stazione
Stazione meteo sperimentale IoT LoRaWan ELSYS ELT2-HP - dati in tempo reale da Vittorio Veneto ogni 5 minuti
Orario ultimo dato: 29/04/2021 23:56:30
Temperatura attuale: 13.8°C
Temperatura minima odierna: 11.6°C alle ore 03:46:33
Temperatura massima odierna: 18.1°C alle ore 14:36:31
Umidità relativa: 95%
Dew Point: 12.8°C
Pressione atmosferica relativa: 1010.9hPa
Precipitazione giornaliera: 3.3mm
Tensione batteria: 3.647V
Alla prossima per la discussione sul codice
Ultima modifica di bufera87; 29/04/2021 alle 23:01
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Sotto i rovesci temporaleschi di oggi... salgono gli impulsi
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Ed ecco l'ultima parte della trattazione
Buona lettura!
Capitolo 4: “leggiamo i dati in tempo reale” - ultima parte (per ora...)
Gentili lettori,
dopo aver spiegato le varie procedure nei capitoli precedenti (Articoli), ecco il momento di analizzare la modalità base per poter disporre dei dati in tempo reale mediante un semplice link web, consultabile da qualunque postazione dotata di connessione internet anche a bassa velocità (EDGE).
Come indicato anche nelle premesse iniziali di questa trattazione amatoriale, non sono un informatico e quindi lo sviluppo del codice php risente di questa mia limitata conoscenza specie per quanto concerne l'ottimizzazione del codice e la possibilità di svolgere più operazioni e compiti specifici, oltre a quelli basilari che ho implementato. Ringrazio con l'occasione Mauro e Alessandro per i suggerimenti e l'aiuto fornitomi nello scrivere alcune funzioni di cui non conoscevo l'utilizzo (in particolare, la formattazione dell'orario e relativi confronti per elaborare i dati rispetto alla mezzanotte, parametro fondamentale per eseguire l'estrazione degli estremi termici giornalieri e dell'accumulo pluviometrico a partire dalla mezzanotte).
Il codice è stato commentato per quanto possibile e la versione attualmente impiegata è disponibile a questo indirizzo (SensorilorawanAWS_Sito19052021). Si noti che per motivi di riservatezza sono state rimosse le informazioni relative all' ACCESS KEY e alle nomenclature specifiche da usare nelle funzioni iniziali che richiamano il database TTN. Tali informazioni, relative alle vostre credenziali, andranno quindi inserite nel vostro codice per renderlo funzionante.
La struttura base del codice segue i punti sotto indicati (è una suddivisione arbitraria, ovviamente personalizzabile):
PARTE A) dichiarare il metodo di “cattura” dati mediante la funzione curl della stringa in formato json ed importare l'ultimo dato disponibile
PARTE B) dichiarare le variabili ed eseguirne le elaborazioni (es. conversione formato timestamp, compensazione umidità relativa, pressione atmosferica, calcolo accumulo pluviometrico giornaliero, estrazione estremi temperatura etc)
PARTE C) visualizzare i dati finali elaborati in formato leggibile
PARTE D) inserire la webcam e/o l'immagine della stazione
Sicuramente potranno essere sviluppati codici molto migliori ed ottimizzati, implementazione di grafici o altri elementi sia funzionali sia puramente estetici e formattazione dei dati al fine di adeguarli alle più note piattaforme di condivisione dati e reti meteo (tra cui Meteonetwork). Questi sono degli spunti che lascio aperti e che magari implementerò successivamente anche sulla base di suggerimenti e osservazioni che spero possano essere condivise dai lettori che vorranno dare una mano al miglioramento di questo piccolo progetto LoRaWAN.
Il risultato attuale è visibile a questo indirizzo, con aggiornamento ogni 5 minuti (possono capitare blocchi al flusso dati dovuti alla connessione internet del gateway): https://opendata.piancansiglio******...lorawanAWS.php
E' in corso di implementazione anche l'invio dei dati su una delle piattaforme IoT dedicate (AllThingsMatter) e di seguito vediamo una prima estrapolazione dei dati grezzi e relativi grafici termo-igrometrici giusto per dare un'idea di una possibile espansione e miglioramento anche grafico degli output (sempre utilizzando piattaforme gratuite).
Spero che la curiosità verso questa tecnologia e le infinite possibilità da essa offerta sia stata solleticata da questo piccolo "esercizio" con finalità meteorologiche, che potrà essere ampliato, modificato o usato semplicemente come esempio di partenza per altre e più sofisticate elaborazioni (utilizzando ad esempio Arduino e Raspberry e relativi moduli LoRa compatibili...).
Buona lettura!
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
MeteoNetwork
Validazione stazioni amatoriali
mauro.serenello@meteonetwork.it
mauro.serenello@protonmail.com
.... c'è un blocco del forum
il link è https://opendata.piancansigliomete owebcam.it/lab/SensorilorawanAWS.php
togliere lo spazio
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Arriva il grande caldo e... facciamo qualche piccolo confronto. Ecco intanto il grafico T/UR dell'ultimo mese.
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Confronto a campione con i valori massimi odierni rete Meteonetwork
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Ieri il mio amico mi ha passato il Kit della ST, un gateway già preprogrammato e un nodo.
Il gateway è pre programmato (!) per una rete che non conosco ma ci sono le istruzioni per TheThingsnetwork. Si tratta di una scheda con una MCU ST7 con porta ethernet e la scheda LoRaWAN montata sopra.
Il kit sarebbe questo
P-NUCLEO-LRWAN2 - STM32 Nucleo pack LoRa™ HF band sensor and gateway - STMicroelectronics
Il nodo ha già a bordo un sensore di pressione e uno di umidità/temperatura e c'è la libreria per l'IDE Arduino
https://github.com/stm32duino/I-NUCLEO-LRWAN1
Il bello è che ho finalmente capito alcune cose per cui oltre al nodo incluso nel kit potrò usare anche gli altri 2 apparati che aveva già il mio amico.
Intanto anche io ho qualche novità sul progetto che include stazioni Decentlab Installate ed in test le nuove stazioni meteo LoRaWAN in Valmenera e Rif. Semenza! >> Meteo Ravanel | Stazione meteo amatoriale di Vittorio Veneto
Tecnico Meteorologo certificato (WMO 1083 – registro DEKRA DTC-TMT-001-17 secondo UNI CEI EN ISO/IEC 17024:2012). www.meteoravanel.it (webcam realtime e dati meteo da oltre 15 punti di osservazione e monitoraggio a Vittorio Veneto e dintorni).
Segnalibri