EnergiAlternativa

Page Index Toggle Pages: 1 ... 17 18 [19] 20 21 ... 42 Send TopicPrint
Very Hot Topic (More than 500 Replies) Monitoraggio regolatori Ep Solar tracer dal web (Read 345631 times)
saviothecnic
Full Member
***
Offline


--------

Posts: 113
Location: Italy
Gender: Male
Zodiac sign: Sagittarius
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #270 - 07.10.16 at 18:32:25
Print Post  
danye wrote on 07.10.16 at 13:42:54:
I dati non vengono inviati in FTP
ma con una semplice richiesta di tipo GET,che tutti i siti umani accettano.

Ok Ottimo non so come funziona la richiesta GET
Domanda vi è un test che posso fare per capire se il mio su Hosting Aruba fa parte del tipo umano
e quindi sono ok con la richiesta GET ?

danye wrote on 07.10.16 at 13:42:54:
E' intuitivo... questa è la riga del codice arduino da settare:
Code (C++)
Select All
char server[] = " http://www.saviot.com/";//indirizzo del server web[/quote ]
Si hai ragione molto intuitivo i miei complimenti per come hai stilato il codice
Ma pensavo che era una richiesta FTP e quindi non trovando il campo utente e pass per FTP credevo che ero io che non riuscivo a trovarli

Quindi queste password 1234 e 5678 nulla c'entrano che le pass per accedere al DB e al FTP del mio Host basta che siano uguali tra PHP e INO su Arduino

[quote author=danye link=1441124569/268#268 date=1475840574]
 


Inoltre comi ti ho già spiegato modifica le righe  65 e 274 dello scketch arduino così:
Code (C++)
Select All
String strURL = "GET /meteo/solare/arduino/arduino.php?psw=";
 



Si qui scusami ma mi ero perso questo tuo messaggio di risposta
Ho solo il dubbio se sevo scriverla cosi o se dopo = devo inserire la passowrd
ipo nel caso lascio invariato =1234 ?

danye wrote on 07.10.16 at 13:42:54:
Lato php in settaggi.php:
Code (C++)
Select All
$nome_database="nome del tuo database"; //nome del database
 


Per quanto riguarda la password del database prova senza inserirla da nessuna parte in caso mi fai sapere.

Quindi arduino.php anche li vedevo che chiedeva nome DB non lo devo settare lo prende da settaggi.php esatto ?

Scusami ti allego ovviamente modificato dati personali quale nome ip e pass db
Nel configuration.php che ho sul mio sito leggendolo chiede:

Tipo DB IP Host Nome Utente e Pass Utente del tipo e il prefisso estenzione DB
Quindi non credo che passi senza pass solo inserendo il nome del DB

Ma ho gia fatto la modifica come da te suggerito

Adesso come testo se  è ok ?
Posso far digerire ad arduino un files .txt per simulare che leggo dal regolatore in tanto che mi arriva adattatore RS-485
cosi almeno mi porto avanti nel testare questa fase

Altra domanda adesso ho caricato lo Sketh il modulo mi pinga al indirzzo da me settato ma da web non lo raggiungo è normale
o usa qualche porta particolare e sopratutto lato web devo vedere qualcosa serve avere SD dentro il modulo Eternet di Arduino ?

Grazie
  

ConfigurationPHP_Esempio.png ( 3 KB | Downloads )
ConfigurationPHP_Esempio.png
Back to top
WWW  
IP Logged
 
saviothecnic
Full Member
***
Offline


--------

Posts: 113
Location: Italy
Gender: Male
Zodiac sign: Sagittarius
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #271 - 07.10.16 at 18:51:54
Print Post  
Gigi600 wrote on 07.10.16 at 08:18:43:
Esatto manca il modulo TTL Turn RS485

Immaginavo ma ho preferito prendere il BN che da come mi ha consigliato
è più parametrizzabile che prendere un RN ed usarlo subito dato che era gia RS-232 Liscio
Ora devo solo attendere che mi arrivi il convertitore TTL 485
Spero solo che ci sia un modo per fare quelche test a banco anche senza avere il regolatore collegato

Gigi600 wrote on 07.10.16 at 08:18:43:
il display consuma per niente io lo cambierei con uno senza

Immaginavo ne ho gia ordinati un paio assieme al convertiore RS-485
Devo solo attendere che arrivano

Gigi600 wrote on 07.10.16 at 08:18:43:
Per arduino e SOLO arduino puoi collegare direttamente dal pin 1 e 8 escono 7,5 volt

Aspetta non ti seguo cosa intendi ?

Io la sto pensando cosi :
Un paio di Step Down LM2596 per portare la 12V in uscita dal regolatore una a 7,5V per alimentare arduino
tramite il suo morsetto di alimentazione
Uno per Alimentare il Modulo convertiore RS-485 settato a 5V

Gigi600 wrote on 07.10.16 at 08:18:43:
mentre ESP lavora con 3,3 volt
quindi ci vuole un regolatore a 3,3 volt
Poi per alimentare  il TTL Turn RS485 a una uscita da 5 volt di arduino

Si per quello quando arrivera ho già in casa degli Step-Down AMS1117
Che uso per adattare periferiche per Uno o Mega al Arduino DUE che lavora a 3,3V
Se i consumi non salgono preferisco usare due Step Down LM2596 uno per Arduino uno per il convertitore TTL
Senza cosi appesantire le uscite arduino e i suoi regolatori

Che ne pensi ?

Grazie
  
Back to top
WWW  
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #272 - 07.10.16 at 19:55:26
Print Post  
Unico modo se non hai il TTL485 per vedere se il DB funziona è inviare una stringa tipo questa
Code (C++)
Select All
http://miosito.altervista.org/arduino/arduino.php?psw=1234&tensione_pannello=2900&corrente_pannello=1000&tensione_batteria=1370&corrente_batteria=110&tensione_carico=1270&corrente_carico=-143&soc=100&temperatura=20&ah_consumati=3000000&ah_prodotti=9000000&tensione_carico=1270 &corrente_carico=143
 



dal pin 1 e 8 del BN escono 7,5 volt sufficienti per fare andare Arduino .
Arduino ha una uscita 5,0 v e una a 3,3 volt  puoi collegare a 5 volt il TTL 485


Il discorso cambia se usi ESP 8266 che serve un riduttore di tensione a 3,3 volt.
Quindi come dallo schema http://www.energialternativa.org/cgi-bin/yabb2/YaBB.pl?num=1441124569/0
Io ho preferito usare un riduttore con LM2596 e tarato a 3,3 volt al posto del semplice AMS1117  Tongue
Il TTL 485 funziona sia a 3,3 volt sia a 5 volt
  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
saviothecnic
Full Member
***
Offline


--------

Posts: 113
Location: Italy
Gender: Male
Zodiac sign: Sagittarius
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #273 - 08.10.16 at 00:20:43
Print Post  
Gigi600 wrote on 07.10.16 at 19:55:26:
Unico modo se non hai il TTL485 per vedere se il DB funziona è inviare una stringa tipo questa

Grazie era quello che cercavo almeno giocherello e provo intanto che da oltreoceano mi arriva il tutto
Ho quindi subito provato con questa stringa praticamente la tua con modificato il percorso del mio sito
Code (C++)
Select All
http://www.saviot.com/meteo/solare/arduino/arduino.php?psw=1234&tensione_pannello=2900&corrente_pannello=1000&tensione_batteria=1370&corrente_batteria=110&tensione_carico=1270&corrente_carico=-143&soc=100&temperatura=20&ah_consumati=3000000&ah_prodotti=9000000&tensione_carico=1270%20&corrente_carico=143 


Ma ho questa Risposta
Connessione non riuscita: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Quindi Come sistemo ?

Gigi600 wrote on 07.10.16 at 19:55:26:
dal pin 1 e 8 del BN escono 7,5 volt sufficienti per fare andare Arduino

Ha ho capito parli dei PIN del RJ45 del 1215BN
Prima avevo capito che parlavi dei PIN 1 e 8 di Arduino per questo non capivo
Ottimo un convertitore in meno Cheesy

Gigi600 wrote on 07.10.16 at 19:55:26:
Arduino ha una uscita 5,0 v e una a 3,3 volt  puoi collegare a 5 volt il TTL 485

Ottimo allora non devo usare nessun riduttore DC-DC
Anche se ormai gli ho compati ma quegli servono sempre ma non usarli è meglio meno cose ci sono meno se ne possono rompere Cheesy

Gigi600 wrote on 07.10.16 at 19:55:26:
Il discorso cambia se usi ESP 8266 che serve un riduttore di tensione a 3,3 volt

Qui non ti seguo prima dicici che posso usare la 5V e anche la 3,3V di arduino poi mi dici che il discorso è diverso per ESP8266 ?
Forse per via dei consumi del moduli WiFi ESP8266 ESP-01S che dici la 3.3V uscente di arduino non ce la fa e lo manda in sress ?

Gigi600 wrote on 07.10.16 at 19:55:26:
Quindi come dallo schema http://www.energialternativa.org/cgi-bin/yabb2/YaBB.pl?num=1441124569/0
Io ho preferito usare un riduttore con LM2596 e tarato a 3,3 volt al posto del semplice AMS1117  Tongue
Il TTL 485 funziona sia a 3,3 volt sia a 5 volt

Be io i Regolatori Dc-DC sia LM2596 che AMS1117 gli ho quindi per me non cambia se è meglio gli uso se non serve
per il discorso che meno cose ci sono meno si pososno rompere non gli uso  Grin
  
Back to top
WWW  
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #274 - 08.10.16 at 08:44:34
Print Post  
SOLO PER ESP 8266 collegando al BN il pin 1 e 8 solo per l'ESP 8266 lavora a 3,3 volt quindi ci vuole assoluta LM2596 o AMS1117

Per l'errore del MySQL non so sul tuo server , forse Daniele Ti può aiutare.



Se vuoi provare per qualche giorno sul Mio cambiando i valori tensione... batteria ecc.
Code (C++)
Select All
http://gigi600.altervista.org/arduino/arduino.php?psw=4321&tensione_pannello=2900&corrente_pannello=000&tensione_batteria=1370&corrente_batteria=1510&tensione_carico=1270&corrente_carico=00&soc=100&temperatura=20&ah_consumati=3000000&ah_prodotti=1200000&tensione_carico=1370 &corrente_carico=123

 



http://gigi600.altervista.org/index.php
  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #275 - 08.10.16 at 16:19:42
Print Post  
Quote:
Ma ho questa Risposta
Connessione non riuscita: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

Allora cerca e modifica in arduino.php, database.php e grafico.php la seguente linea inserendo l'username e la password corretta di accesso al database, e se necessario al posto di localhost metti l'indirizzo ip dove risiede il database:
Code (C++)
Select All
$connessione = @mysql_connect('localhost', 'nome_utente', 'password')	or die("Connessione non riuscita: " . mysql_error());
 

  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
saviothecnic
Full Member
***
Offline


--------

Posts: 113
Location: Italy
Gender: Male
Zodiac sign: Sagittarius
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #276 - 10.10.16 at 17:12:01
Print Post  
danye wrote on 08.10.16 at 16:19:42:
[quote]
Allora cerca e modifica in arduino.php, database.php e grafico.php la seguente linea inserendo l'username e la password corretta di accesso al database, e se necessario al posto di localhost metti l'indirizzo ip dove risiede il database:
Code (C++)
Select All
$connessione = @mysql_connect('localhost', 'nome_utente', 'password')      or die("Connessione non riuscita: " . mysql_error());
 


Ok ottimo adesso ho questa risposta  Cheesy

update_ok

Gli ho dovuti mettere tutti ip host user e pass
Quindi per chi altri come me ha un Hosting su Aruba compilando come suggerito da Danye va

Be adesso inizio a cablare tutto mi faccio vivo appena mi arriva HW mancante

Grazie per il supporto

P.S ho dei sensori di temperatura Dallas e dei sensori di Corrente e anche quello di temp e Umidità DHT11 per Arduino
se intanto che mi arriva HW per leggere dal RS-4485 del BN  avete codice per poter leggere/gestire questi sensori
e aggiornare altre due tabelle io per i test ci sono Cheesy
  
Back to top
WWW  
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #277 - 12.10.16 at 21:42:01
Print Post  
Vado OT ma la butto la  Grin

Per la temperatura e umidità sarei interessato anche Io  Tongue
Partendo dal progetto di Daniele http://www.energialternativa.org/cgi-bin/yabb2/YaBB.pl?num=1454232988/44#44
Come hardware direi che è ok  Cheesy
La necessità di vedere temperatura e umidità in una pagina web in php o html
esempio http://sacilemeteo.it/prova/minitor_temp_ur.html
Partendo da due valori diciamo con un intervallo di 1 minuto .
Quindi si tratterebbe di fare un mix tra progetto cronotermostato e questo .

Quindi sfruttando un secondo ESP8266
.
Si potrebbe fare  Cheesy

Siccome ho fatto un altro impiantino da Mia a Madre ( alimenta delle lampade da giardino ) Tra poco metterò online il BN verrà collegato a un cellulare che fa da router  Wink
  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
danye
Global Moderator
*****
Offline


--------

Posts: 360
Location: Roma
Gender: Male
Zodiac sign: Moonchild
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #278 - 13.10.16 at 17:28:37
Print Post  
Gigi600 wrote on 12.10.16 at 21:42:01:
Vado OT ma la butto la  Grin

Per la temperatura e umidità sarei interessato anche Io  Tongue
Partendo dal progetto di Daniele http://www.energialternativa.org/cgi-bin/yabb2/YaBB.pl?num=1454232988/44#44
Come hardware direi che è ok  Cheesy
La necessità di vedere temperatura e umidità in una pagina web in php o html
esempio http://sacilemeteo.it/prova/minitor_temp_ur.html
Partendo da due valori diciamo con un intervallo di 1 minuto .
Quindi si tratterebbe di fare un mix tra progetto cronotermostato e questo .

Quindi sfruttando un secondo ESP8266
.
Si potrebbe fare  Cheesy

Siccome ho fatto un altro impiantino da Mia a Madre ( alimenta delle lampade da giardino ) Tra poco metterò online il BN verrà collegato a un cellulare che fa da router  Wink

Si può fare! Chi apre una nuova discussione? Wink
  

1x185Wp  + 1x225Wp in serie poli direzione sud
1xRegolatore MPPT EpSolar Tracer 3015RN
7x batterie auto da recupero in parallelo 12volt 400 Ah molto teorici
Sistema 12 volt che alimenta le luci a led di tutto l'appartamento
monitoraggio impianto www.solare.altervista.org
Back to top
 
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #279 - 13.10.16 at 18:58:35
Print Post  
danye wrote on 13.10.16 at 17:28:37:
Si può fare! Chi apre una nuova discussione? Wink

Il genio Daniele  Cheesy Grin
  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #280 - 13.10.16 at 21:39:17
Print Post  
Da questa sera ho attivato il BN http://gigi600.altervista.org/index.php

Ho inserito una scheda dati in un cellulare samsung che poi lo userò come webcam.
Sfrutto il tethering del samsung come router
Questo Mi andrà beme anche per il progetto futuro temperatura/umidità  Cheesy
Se andrà a buon fine  Roll Eyes

Ho verificato già su due samsung l'indirizzo IP 192.168.43.1
Quindi sarà :
IPAddress ip(192, 168, 43, 113);    
IPAddress gateway(192, 168, 43, 1);

Daniele ...Ora vedo una anomalia produzione e consumi che si sono "attivati" quando il panello non fornisce energia .
Ho provato a cancellarli ma si ricreano subito  Sad
Nel dati ricarica  non vedo anomalie  Undecided
.
Ovviamente questo lo fa solo con BN , il problema si era già visto

Ora suppongo che sia arduino.php o database.php che quando trova corrente pannello a 0.00 crea questo valore anomalo
Verificherò meglio domani sera  Wink
  

bn1.jpg ( 21 KB | Downloads )
bn1.jpg
bn2.jpg ( 163 KB | Downloads )
bn2.jpg

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #281 - 08.11.16 at 11:25:35
Print Post  
Con l'aiuto di Daniele sistemato l'ultimo bug  anche la serie BN ora è ok  Wink
Per l'invio dei dati non uso più il cellulare perchè ho visto che dopo 5-6 ore si disattiva il tethering ( wifi ) quindi uso un router/modem 3G
  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
jackie2_it
Junior Member
**
Offline


--------

Posts: 96
Gender: Male
Zodiac sign: Libra
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #282 - 11.11.16 at 10:46:49
Print Post  
Ciao a tutti, oggi mi è venuta in mente un idea prendendo spunto da dei nuovi oggetti in commercio tipo "Dash Button di Amazon", che semplificano la configurazione wifi su questi oggetti senza interagire direttamente a livello hardware per la configurazione.
Infatti per configurare il wifi usano dei protocolli simili al ESP-TOUCH che consentono di impostare a quale rete wifi si deve collegare il dispositivo, collegandosi prima ad una wifi temporanea messa a disposizione dal dispositivo.
Pensavo quindi di poter implementare il tutto sul nostro sistema esp8266 che monitorizza il regolatore di carica e renderlo facilmente configurabile e spostabile da tutti gli utenti anche i meno pratici.
L'idea di fondo è quella di utilizzare una libreria messa a disposizione per il esp8266 per implementare questa funzione https://tzapu.com/esp8266-smart-config-esp-touch-arduino-ide/ che nè pensate?
  

2 pannelli solari da 50 watt con regolatore steca p1010

Ecco i miei pannelli solari qui
Back to top
 
IP Logged
 
Gigi600
Full Member
***
Offline


New EALab Member

Posts: 187
Location: Pordenone
Gender: Male
Zodiac sign: Scorpio
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #283 - 11.11.16 at 13:42:27
Print Post  
@ jackie2_it Ottima segnalazione  Cheesy

Riporto le modifiche testate per il BN 
é stato rifatto il calcolo produzioni per il BN
Poi all'azzeramento delle 00.00 invece che 0 ( faceva si che si bloccava , il conteggio consumi ,fino a che il panello non produceva ) ho messo 5000
nel calcolo ho visto che oscilla di circa 3000 quindi con questo raggiro funziona corettamente ( magari in futuro si trova altra soluzione )
{
      ah_consumati = 0;
      ah_prodotti = 5000;
    }

Ho modificato la stringa temperatura
Serial.write(0x31);
      Serial.write(0x10)
con

Serial.write(0x31);
      Serial.write(0x11)
perchè dava sempre un valore fisso  Cool

Ora ho ordinato la sonda temperatura esterna quando arriverà modifico con
Serial.write(0x31);
      Serial.write(0x1B)

Da inserire i vostri dati  Smiley

Code (C++)
Select All
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

//------------------------- Settaggi
IPAddress ip(192, 168, 1, 60);      //indirizzo ip da assegnare a esp8266
IPAddress gateway(192, 168, 1, 1);  //indirizzo ip del gateway ( di solito è l'indirizzo del router wi-fi)
IPAddress subnet(255, 255, 255, 0); //subnet mask di solito è sempre 255.255.255.0
char server[] = "tuosito.altervista.org"; //indirizzo del server web
const char* ssid = "nome_rete_wifi"; // indica il nome della rete wi-fi
const char* password = "password_wifi";    // password della rete wi-fi
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
const int psw = 5678; //password per l'aggiornamento dati server web
const int psw2 = 1234; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- br=regolatori serie RN
//-------------------------- Fine settaggi

WiFiClient client;
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
short corrente_batteria;
int tensione_carico;
int corrente_carico;
int data_long = 0;
int data[50];
short temperatura;
int soc = 100;
unsigned long ah_prodotti;
unsigned long ah_consumati;
unsigned long lettura_ah_prodotti;
unsigned long lettura_ah_consumati;
unsigned long ah_batteria;

//--------------------------- Pin di uscita digitali
const int led_pin = 2; // pin di uscita dedicato al led di stato funzionamento

//--------------------------- Variabili di temporizzazione
unsigned long time_Ah_old = 0;
unsigned long lastTime = 0; //variabile di temporizzazione
const int postingInterval = 3500;

//---------------------------

void calcolo_soc() {
  ah_batteria += (lettura_ah_prodotti - lettura_ah_consumati);
  if (ah_batteria > capacita_batteria) {
    ah_batteria = capacita_batteria;
    soc = 100;
  } else {
    soc = map((float)ah_batteria / 1000000, 0, (float)capacita_batteria / 1000000, 0, 100);
  }
}

bool update()
{
  bool updok = false;
  if (regolatore == "bn")
  {
    //tensione batteria
    Serial.write(0x01);
    Serial.write(0x04);
    Serial.write(0x31);
    Serial.write(0x04);
    Serial.write(0x00);
    Serial.write(0x01);
    Serial.write(0x7E);
    Serial.write(0xF7);
    delay(500);
    if (Serial.available())
    {
      data_long = Serial.available();
      for (int n = 0; n < data_long; n++)
      {
        data[n] = Serial.read();
      }
      tensione_batteria = (data[3] << 8) | data[4];

      //tensione pannello
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x00);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x3F);
      Serial.write(0x36);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        tensione_pannello = (data[3] << 8) | data[4];
      }

      //corrente batteria
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x33);
      Serial.write(0x1B);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x4E);
      Serial.write(0x89);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        corrente_batteria = (data[3] << 8) | data[4];
      }

      //corrente pannello
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x01);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x6E);
      Serial.write(0xF6);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        corrente_pannello = (data[3] << 8) | data[4];
      }

      //corrente carico
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x0D);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0xAE);
      Serial.write(0xF5);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        corrente_carico = (data[3] << 8) | data[4];
      }

      //temperatura
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x11);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x6F);
      Serial.write(0x33);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        temperatura = (data[3] << 8) | data[4];
        temperatura = temperatura / 100;
      }
      updok = true;
    }
  }
  else if (regolatore == "rn")
  {
    Serial.write(0xAA);
    Serial.write(0x55);
    Serial.write(0xAA);
    Serial.write(0x55);
    Serial.write(0xAA);
    Serial.write(0x55);
    Serial.write(0xEB);
    Serial.write(0x90);
    Serial.write(0xEB);
    Serial.write(0x90);
    Serial.write(0xEB);
    Serial.write(0x90);
    Serial.write(0x16);
    Serial.write(0xA0);
    Serial.write(0x00);
    Serial.write(0xB1);
    Serial.write(0xA7);
    Serial.write(0x7F);
    delay(500);
    if (Serial.available())
    {
      data_long = Serial.available();
      for (int n = 0; n < data_long; n++)
      {
        data[n] = Serial.read();
      }
      tensione_pannello = (data[12] << 8) | data[11];
      corrente_pannello = 0;
      tensione_batteria = (data[10] << 8) | data[9];
      corrente_batteria = (data[31] << 8) | data[30];
      tensione_carico = tensione_batteria;
      corrente_carico = (data[16] << 8) | data[15];
      temperatura = data[29] - 30;
      updok = true;
    }
  }
  tensione_carico = tensione_batteria;
  if(updok)
  {
  lettura_ah_consumati = ((float)corrente_carico / 3600) * (millis() - time_Ah_old) * 10; //restituisce la lettura in micro Ah

  if(regolatore == "bn")
  {
    int totAmpereProdotti = corrente_batteria + corrente_carico;
    lettura_ah_prodotti = ((float)totAmpereProdotti / 3600) * (millis() - time_Ah_old) * 10; //restituisce la lettura in micro Ah
  }
  else if (regolatore == "rn")
  {
    lettura_ah_prodotti = ((float)corrente_batteria / 3600) * (millis() - time_Ah_old) * 10; //restituisce la lettura in micro Ah
  }

  ah_consumati += lettura_ah_consumati;
  ah_prodotti += lettura_ah_prodotti;
  calcolo_soc();
  }
  time_Ah_old = millis();
  return updok;
}

void httpRequest() {
  client.stop();
  if (client.connect(server, 80)) {
    String strURL = "GET /arduino/arduino.php?psw=";
    strURL += (int)psw;
    strURL += "&tensione_pannello=";
    strURL += (int)tensione_pannello;
    strURL += "&corrente_pannello=";
    strURL += (int)corrente_pannello;
    strURL += "&tensione_batteria=";
    strURL += (int)tensione_batteria;
    strURL += "&corrente_batteria=";
    strURL += (short)corrente_batteria;
    strURL += "&tensione_carico=";
    strURL += (int)tensione_carico;
    strURL += "&corrente_carico=";
    strURL += (int)corrente_carico;
    strURL += "&soc=";
    strURL += (int)soc;
    strURL += "&temperatura=";
    strURL += (short)temperatura;
    strURL += "&ah_consumati=";
    strURL += (unsigned long)ah_consumati;
    strURL += "&ah_prodotti=";
    strURL += (unsigned long)ah_prodotti;
    strURL += " HTTP/1.1";
    client.println(strURL);
    client.print("Host: ");
    client.println(server);
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
  }
}

void rispostaServer()
{
  int risp_server = client.available();
  if (risp_server < 300 && risp_server > 10) {
    while (client.available())
    {
      char c = client.read();
      strEsito += (char) c;
    }

    if (strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
      ah_prodotti = 5000;
    }

    if (strEsito.indexOf("ah_prodotti=") > 0) // Recupera dal server gli ultimi valori del giorno salvati prima del reset di arduino.
    {
      ah_prodotti = atol(strEsito.substring(strEsito.indexOf("ah_prodotti=") + 12, strEsito.indexOf(" ah_consumati=")).c_str());
      ah_consumati = atol(strEsito.substring(strEsito.indexOf("ah_consumati=") + 13, strEsito.indexOf(" endah")).c_str());
    }
  }
  strEsito = "";
}

void setup()
{
  if(regolatore == "bn")
  {
    Serial.begin(115200);
  }
  else
  {
    Serial.begin(9600);
  }
  pinMode(led_pin, OUTPUT);
  digitalWrite(led_pin, HIGH);
  pinMode(0, OUTPUT);
  digitalWrite(0, LOW);
  WiFi.begin(ssid, password);
  WiFi.config(ip, gateway, subnet);
  delay(5000);

  capacita_batteria = capacita_batteria * 1000000;
  ah_batteria = capacita_batteria; // fa partire il soc dal 100%

  if (client.connect(server, 80)) { // Interroga il server per avere gli ultimi Ah salvati
    String strURL = "GET /arduino/arduino.php?psw=";
    strURL += psw2;
    strURL += " HTTP/1.1";
    client.println(strURL);
    client.print("Host: ");
    client.println(server);
    client.println("User-Agent: esp8266 wi-fi");
    client.println("Connection: close");
    client.println();
    delay(5000);
    rispostaServer();
  }
  else
  {
    while (true);
  }
  ArduinoOTA.begin();
}

void loop() {
  rispostaServer();
  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      lastTime = millis();
    }
    else {
      httpRequest();
      lastTime = millis();
    }
  }
  ArduinoOTA.handle();
}

 

  

Impianto installato a 1460 Mt alimenta una stazione meteo +  2 webcam+ accessori vari.
un panello 230 Watt ,regolatore Tracer 2210RN ,3 Batterie per totale di 215 Ah
http://solaresacile.altervista.org/
Tracer Ep Solar 2215 BN
http://gigi600.altervista.org/index.php
http://sacilemeteo.altervista.org/fv/
Back to top
IP Logged
 
Taglio
New Member
*
Offline


New EALab Member

Posts: 23
Re: Monitoraggio regolatori Ep Solar tracer dal web
Reply #284 - 22.11.16 at 12:58:30
Print Post  
Ciao a tutti, ho da poco collegato ad arduino il mio regolatore di carica Tracer3210A e funziona perfettamente il monitoraggio da remoto.
Mi complimento con gli ideatori  Smiley Smiley
L'impianto che ho realizzato è costituito da 8 pannelli amorfi (85v e 1A a vuoto), 10 batterie da 40ah di recupero (serie di due e poi in parallelo) tot 200ah a 24v. Il tutto sarebbe per illuminare il giardino in bassa tensione (attualmente solo due faretti led..)
ora in inverno/nebbie/nuovole etct..producono veramente poco, ma in previsione dell'estate, vorrei implementare dai pin liberi, l'accensione di carichi, quando le batterie sono cariche per la notte, esempio fare accendere una pompa per innaffiare alcuni vasi da una vasca raccolta acqua piovana, oppure accendere la ventilazione al raggiungimento dei 30° delle batterie..
credete sia possibile??
grazie mille e complimenti ancora!
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 ... 17 18 [19] 20 21 ... 42
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa