Salve a tutti.
Avendo un impianto FV offgrid basato su inverter MPP Solar PIP che monitoravo con un programma su Windows, sto testando da alcuni giorni un software di monitoraggio (Solpiplog) che gira su Raspi e logga in locale su emoncms e mi ci sto trovando bene.
Manco a dirlo non so quasi nulla di Raspberry e di Emoncms e sono giusto riuscito a veder funzionare il tutto perchè ho installato un'immagine preconfigurata.
Ora, dopo aver configurato qualche feed e abbozzata una dashboard, mi piacerebbe creare un nodo di input per leggere i dati da un paio di contatori SDM220 che stanno già da tempo nel mio quadro elettrico come semplici visualizzatori, rispettivamente all'ingresso ENEL e all'uscita inverter.
Grazie soprattutto alla guida di Flane, sono riuscito a collegare correttamente i contatori al raspi tramite doppino ritorto e interfaccia USB-RS485 e, installato lo script di gianfrdp, i seguenti comandi funzionano
Purtroppo però la parte dolente è che non sono ancora riuscito a inserire uno script funzionante per caricare i dati degli SDM su Emoncms.
Ho provato a modificare con i miei parametri uno script postato da spider61
salvandolo sia come .php che come .sh e, non avendo un percorso var/www/script, l'ho messo in var/www/emoncms/scripts.
Poi ho fatto altri tentativi basati su altri script trovati in giro ma mi rendo conto che, data la mia scarsissima competenza in materia, procedere così a casaccio non mi porta da nessuna parte
Se ci fosse qualcuno capace di spiegarmi abbastanza nel dettaglio i vari passi da fare gliene sarei immensamente grato.
Avendo un impianto FV offgrid basato su inverter MPP Solar PIP che monitoravo con un programma su Windows, sto testando da alcuni giorni un software di monitoraggio (Solpiplog) che gira su Raspi e logga in locale su emoncms e mi ci sto trovando bene.
Manco a dirlo non so quasi nulla di Raspberry e di Emoncms e sono giusto riuscito a veder funzionare il tutto perchè ho installato un'immagine preconfigurata.
Ora, dopo aver configurato qualche feed e abbozzata una dashboard, mi piacerebbe creare un nodo di input per leggere i dati da un paio di contatori SDM220 che stanno già da tempo nel mio quadro elettrico come semplici visualizzatori, rispettivamente all'ingresso ENEL e all'uscita inverter.
Grazie soprattutto alla guida di Flane, sono riuscito a collegare correttamente i contatori al raspi tramite doppino ritorto e interfaccia USB-RS485 e, installato lo script di gianfrdp, i seguenti comandi funzionano
codice:
pi@solpiplog:~ $ sdm120c -a 1 -P N -b 9600 /dev/ttyUSB0 Voltage: 230.12 V Current: 0.92 A Power: 172.79 W Active Apparent Power: 211.52 VA Reactive Apparent Power: -122.00 VAR Power Factor: 0.82 Phase Angle: -35.23 Degree Frequency: 50.01 Hz Import Active Energy: 4453959 Wh Export Active Energy: 0 Wh Total Active Energy: 4453959 Wh Import Reactive Energy: 862789 VARh Export Reactive Energy: 247457 VARh Total Reactive Energy: 1110246 VARh OK pi@solpiplog:~ $ sdm120c -a 2 -P N -b 9600 /dev/ttyUSB0 Voltage: 236.53 V Current: 0.06 A Power: 0.00 W Active Apparent Power: 13.74 VA Reactive Apparent Power: -13.74 VAR Power Factor: 1.00 Phase Angle: 0.00 Degree Frequency: 50.01 Hz Import Active Energy: 1029035 Wh Export Active Energy: 0 Wh Total Active Energy: 1029035 Wh Import Reactive Energy: 37686 VARh Export Reactive Energy: 780154 VARh Total Reactive Energy: 817840 VARh OK
Ho provato a modificare con i miei parametri uno script postato da spider61
codice:
#!/usr/bin/php // Inizio sezione impostazioni utente == Modificare secondo i propri parametri == $chiave = "xxxxxxxxxxxxxxxxxxxxxxxxx"; // Chiave di accesso a OpenEnergiMonitor // Fine sezione inizio: $x = exec("sdm120c -q -z5 -b 9600 -P N /dev/ttyUSB0"); $dataarray = preg_split('/[[:space:]]+/', $x); //if $dataarray[8] = ('OK') { $tensione = $dataarray[0]; $corrente = $dataarray[1]; $potenza = $dataarray[2]; $cosfi = $dataarray[3]; $frequenza = $dataarray[4]; $energia = $dataarray[5]; //} $data = $tensione.",".$corrente.",".$potenza.",".$cosfi.",".$energia; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://localhost/input/post.json?csv=$data&apikey=$chiave"); $oem = curl_exec($ch); curl_close($ch); sleep (10); goto inizio; ?>
Poi ho fatto altri tentativi basati su altri script trovati in giro ma mi rendo conto che, data la mia scarsissima competenza in materia, procedere così a casaccio non mi porta da nessuna parte

Se ci fosse qualcuno capace di spiegarmi abbastanza nel dettaglio i vari passi da fare gliene sarei immensamente grato.
Commenta