Consiglio su come gestire i dati che raccolgo dai sensori (Weather Station)

Buongiorno a tutti,

Sono un po disorientato sul come e con cosa potrei 'gestire' i dati che raccolgo di vento, pioggia, direzione vento, temperatura, barometro umidita ecc...
L'idea sarebbe di avere una dashboard con grafici con periodi selezionabili e non vorrei limitazioni sulla 'durata' dei dati , intendo dire che se voglio fare un confronto con i dati che ho raccolto di 2 anni fa devo poterlo fare, quindi ricapitolando:
sull'arduino "raccoglitore" (un MKR wifi 1010) vorrei spedire i dati degli ultimi 10 minuti sulla velocità del vento, un array di 200 unsigned int contenente la media degli ultimi 3 secondi di velocità del vento, poi c'e' la quantità di pioggia caduta negli ultimi 10 minuti, la raffica di vento più forte degli ultimi 10 minuti ecc.. , il formato dei dati raccolti ovviamente è strettamente legato al destinatario dei dati stessi (come glieli spedisco? in che formato li accetta? ecc...)
Se possibile sarebbe carino gestirli in locale su un mio raspberry pi sempre acceso in modo da non dover dipendere troppo da servizi che prima o poi ti lasciano a piedi o cambiano protocolli ecc...
Voi come procedereste?
Grazie!

Buongiorno e benvenuto nella sezione Italiana del forum,

cortesemente, come prima cosa, leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15), dopo di che, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.

Grazie,

Guglielmo

P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto. :wink:

1 Like

Buongiorno, io non sono molto esperto sui moduli wifi, ma ho qualche idea su come immagazzinare i dati. Potresti provare ad utilizzare le struct, una serie di dati per categoria.
Buona serata

1 Like

Come ho scritto sopra, finchè non so a chi darò in pasto i dati ed in che maniera spedirli, sarà difficile definirne una struttura adesso...
ad es. per il vento, leggendo su un sito web, dicevano che normalmente il vento istantaneo si misura con la media delle velocità raccolte negli ultimi 3 secondi, poi il vento medio invece la media degli istantanei degli ultimi 10 minuti, infine le raffiche che dovrebbero essere tutte le velocità istantanee che superano i 18Km/h, vi risulta?

HW Usato:
Arduino MKR 1010
BME280
Classico anemometro meccanico a cucchiaino modificato mettendo un sensore di hall 3144
Classico pluviometro meccanico modificato mettendo un sensore di hall 3144
Sensore di indicatore del vento a resistenze
Se mi resteranno sufficienti pin mi piacerebbe inserire anche un sensore di PM2.5/10

Raspberry Pi come server per ricevere/elaborare i dati ricevuti e mostrarli via WEB anche se non
so ancora come....

PS: Ho fatto la presentazione.

Grazie per l'attenzione!

1 Like

Dato che i tuoi dati, come i miei (nel mio caso un datalogger per il mio fotovoltaico), sono dati in accumulo ossia vengono generati ed aggiunti, io aggiorno i dati su un NAS locale al quale Arduino accede via WiFi in FTP, andando in append sul file in formato CSV. A quel punto per la parte presentazione puoi fare quello che ti pare, da RPi ad un Excel che punta al CSV come fonte dati e poi presenta grafici e filtri, ad un web server o una applicazione su PC.

2 Likes

@L0cutus se ti serve qualche pezzo di codice fammelo sapere, lo estraggo dal mio progetto.

Comunque ho usato la libreria "FTPClient_Generic", abbastanza semplice da utilizzare. L'unica cosa che mancava alla libreria era una funzione per determinare l'esistenza o meno di un certo file (una "ftp.FileExists()" diciamo), che ho risolto con una funzioncina che elenca tutti i file presenti nella cartella corrente alla ricerca di quello da verificare.

PS: fan di Star Trek Picard?:wink:

Ottima idea, mi sto giusto studiando un libro su node-red nel quale hanno fatto un esempio di un "flow" che prelevava un file CSV di dati atmosferici da un sito web ogni 5 minuti e ne estrapolava alcuni per stabilire se esisteva pericolo o allerta di "Earthquake" :slight_smile: e lo segnalava
Vedremo che potenzialità ha di visualizzazione grafica node-red.

@L0cutus se ti serve qualche pezzo di codice fammelo sapere, lo estraggo dal mio progetto.

Grazie per la disponibilità, se mi servirà ti farò sicuramente un fischio grazie 1k.

PS: fan di Star Trek Picard?

Eccerto! :smiley:

alla fine ho seguito i consigli di @docdoc ed ho usato FTP uploadando ogni 10 minuti dei files json elaborati poi da node-red, ora vorrei fare lo stesso con grafana che graficamente è molto più piacevole e potente, ma non saprei come procedere, node-red ha un vero e proprio codice di programmazione e filtrazione dei dati , ma grafana non la conosco per niente, ho già creato un post in proposito pochi minuti fa, se qualcuno ne sa, potete rispondere li grazie!

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.