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.piancansigliometeowebcam.it/lab/SensorilorawanAWS.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…).