Acquisire dati da arduino

Discussioni relative al software di monitoraggio energetico METERN
Another
Messaggi: 174
Iscritto il: 13/02/2017, 19:16

Acquisire dati da arduino

Messaggioda Another » 07/04/2018, 22:29

Ciao, sto mettendo in piedi un monitoraggio per il mio impianto di riscaldamento, con pdc + solare termico + bollitore

ho già aggiunto 2 contatori sdm220 a quelli iniziali presenti per il FV e generale consumi, quindi ora ho meterN con i 4 contatori elettrici collegati

ho bisogno di acquisire una serie corposa di temperature, 15 per la precisione, 4 anche con l'umidità, quindi per non sovraccaricare raspberry e anche perchè credo di superare gli ingressi a disposizione ( mi piacerebbe usare anche degli IN digitali per leggere lo stato di alcuni relè e mi servono anche almeno 2 IN analogici) ed infine perchè avrò un contaimpulsi >> userò arduino per la parte di lettura dei sensori

il problema che ho con meterN è come trasferire i dati da arduino a raspberry nel formato comprensibile da meterN:
- canale di comunicazione (seriale, ethernet, altro)
- formato dati (possibilmente che permetta sia compattezza che versatilità cioè non limiti la successiva elaborazione di meterN)

chi può consigliarmi? grazie

ps: è possibile configurare meterN perchè calcoli ad esempio le T medie giornaliere di un meter ?


Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Acquisire dati da arduino

Messaggioda Flane » 09/04/2018, 15:18

Come ho già fatto nell'altra discussione, prima di tutto ti consiglio di avere un sistema stabile di monitoraggio, senza errori di comunicazione o altro.

Poi passa a sperimentare ed aggiungere altri sensori.

Ho l'impressione che vuoi fare troppo cose assieme .... :?

Another
Messaggi: 174
Iscritto il: 13/02/2017, 19:16

Re: Acquisire dati da arduino

Messaggioda Another » 09/04/2018, 19:18

beh.. mi sembra siano cose che possono procedere in parallelo

anche perchè i tempi di test sono lunghi e quindi vorrei fare qualche passo nelle varie direzioni:
1 - acquisizione dei dati su piattaforma arduino (finito DHT22 e DS18B20, sto lavorando sui termistori NTC ma ho quasi fatto, si tratta poi della questione contalitri ma la lascerò per la release 2 credo)
2 - comunicazione dei dati da arduino a raspberry per la lettura con meterN (oggetto di questo thread)
3 - eventuali 'stabilizzazioni' delle comunicazioni con il modbus esistente e update meterN (viewtopic.php?f=4&t=2103&e=1&view=unread#unread)

sono tutte cose che possono procedere insieme

per il punto 2 hai qualche informazione/dritta? grazie

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Acquisire dati da arduino

Messaggioda Flane » 10/04/2018, 8:42

Sull'acquisizione dati da altri dispositivi io non ho fatto grandi esperienze.

Ho comunque lavorato con degli ESP8266 con i quali ho risolto pubblicando i dati su una paginetta web sul dispositivo e andando poi a catturarli con il comando curlo.
Stessa cosa si può fare pubblicando i dati in formato json (sull'ESP8266 ho usato il firmware ESPeasy che già pubblica di suo in Json) e poi leggerli con il comando json_decode che è ancora più semplice.

Another
Messaggi: 174
Iscritto il: 13/02/2017, 19:16

Re: Acquisire dati da arduino

Messaggioda Another » 10/04/2018, 10:27

quindi tra quei due metodi tu preferisci il json

devo verificare il supporto json su arduino

ci sono quindi varie possibilità, a partire dal canale di comunicazione, ma da esplorare..

invece mi sai indicare in che formato cmq andrebbero scritti i dati su rasp per meterN?
cioè mi devo preoccupare di creare qualche script php che lo faccia o meterN supporta una acquisizione diretta? oppure legge solo da file?

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Acquisire dati da arduino

Messaggioda Flane » 10/04/2018, 17:26

Una volta che hai pubblicato i dati in formato Json, basta che li estrai con poche riche in reqsdm.php come ho indicato qui ad esempio per dei sensori di temperatura.

L'ultima riga ti illustra anche la formattazione per MeterN (che fra l'altro è anche ampiamente documentata sul sito dell'autore. Ovviamente il numero 22 rappresenta il numero di misuratore di MeterN che deve essere adattato al tuo caso specifico.

Another
Messaggi: 174
Iscritto il: 13/02/2017, 19:16

Re: Acquisire dati da arduino

Messaggioda Another » 10/04/2018, 19:01

esiste almeno una libreria per il supporto a json su arduino

si tratta quindi di mettersi in ascolto di una richiesta che il raspberry farebbe ad arduino con reqsdm.php e rispondere con i dati in json?

sto pensando a come sarebbe meglio fare per limitare perdita di informazioni in caso di blackout o altro
anche se per le temperature se il b.o. è breve non influirebbe molto, già bisogna valutare se uscire con le istantanee o con le medie a 5 minuti
lo stato di relè d'altro canto, con la lettura ogni 5 minuti, lascia un po' il tempo che trova...
poi ci sarebbe l'energia termica prodotta

il tempo di poll di meterN è configurabile giusto? a scapito della crescita dei file ...

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Acquisire dati da arduino

Messaggioda Flane » 10/04/2018, 19:22

Io non sono un programmatore, mi arrangicchio con quello che trovo in rete e sperimentando.
Con Arduino ho fatto molto poco e non ti sò aiutare.

il tempo di poll di meterN NON è configurabile: 5 min fissi
a meno che non modifichi il codice sorgente che qualcuno ha già fato qui sul forum, se non erro.

E' una scelta che ha fatto l'autore in linea con molti altri sistemi di monitoraggio.

Another
Messaggi: 174
Iscritto il: 13/02/2017, 19:16

Re: Acquisire dati da arduino

Messaggioda Another » 10/04/2018, 19:44

ah, ricordavo ci fosse una variabile in qualche file con scritto = 5 :)

ok con arduino ci smanetto io, volevo solo conferma della logica lato raspb/meterN

lì c'è un servizio che ogni 5 minuti raccoglie i dati dei meter giusto?
alcuni via rs485, altri da altre sorgenti

con il comando reqsdm gli dico di leggere da un url un file json e di decodificare i dati e scriverli nei file meterX?
se è così è sufficiente (si fa per dire) che su arduino, oltre ad acquisire i dati dai sensori, rispondo alla richiesta che il raspb mi fa, immagino sulla ethernet

Avatar utente
Flane
Messaggi: 2470
Iscritto il: 16/01/2016, 15:02

Re: Acquisire dati da arduino

Messaggioda Flane » 11/04/2018, 8:53

Another ha scritto:lì c'è un servizio che ogni 5 minuti raccoglie i dati dei meter giusto?
alcuni via rs485, altri da altre sorgenti

Ogni 5 minuti viene eseguito il comando main del misuratore, mentre il comando live viene eseguito con frequenza di pochi secondi (non ricordo il valore esatto).


Another ha scritto:con il comando reqsdm gli dico di leggere da un url un file json e di decodificare i dati e scriverli nei file meterX?
se è così è sufficiente (si fa per dire) che su arduino, oltre ad acquisire i dati dai sensori, rispondo alla richiesta che il raspb mi fa, immagino sulla ethernet

SI
Basta che pubblichi su una pagina web su arduino i dati in formato json e poi li catturi dal raspi come ti ho indicato sopra, con una chiamata via rete (io usando un ESP8266 la chiamata passava in wifi ma non cambia nulla basta che il dispositivo sia connesso in rete in qualche modo)


Torna a “MeterN”

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti