danye il 1/9/2015, 18:22
Monitoraggio regolatori Ep Solar tracer dal web
Un saluto a tutti, ho deciso di condividere con voi il mio lavoro che consente di monitorare in tempo reale i regolatori mp solar serie RN e BN.

LINK



Ringrazio jackie2_it che mi ha fornito utili indicazioni per realizzare lo scketch da caricare nell'arduino, e specialmente Gigi600 che ha fatto da beta tester  ;)

Il sistema consente di monitorare il regolatore da remoto tramite web. Ciò è possibile sia con arduino con ethernet shiel, sia con il modulo Esp8266-01. La prima soluzione è piu semplice e rapida, mentre la seconda soluzione ci consente di collegare il regolatore in wi-fi!!!
Condizione necessaria è quella di possedere uno spazio web con database mysql. Io ho usato quello di altervista, gratuito e funzionale.

Di seguito gli schemi di collegamento:

Regolatori serie RN con arduino


Regolatori serie RN con esp8266-01


Regolatori serie BN con arduino


Regolatori serie BN con esp8266




Nel caso abbiate scelto arduino questo è lo scketch da caricare. Prima però dobbiamo inserire dei settaggi a inizio codice  mettendo quelli esatti.

Schetch da modificare:

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

//------------------------- Settaggi
IPAddress ip(192, 168, 178, 40);//indirizzo ip da assegnare ad arduino
char server[] = "tuosito.altervista.org";//indirizzo del server web
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
const int psw = 1234; //password per l'aggiornamento dati server web
const int psw2 = 5678; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//solo per la serie BN alla riga 337  ah_prodotti = 5000;  per la serie RN mettere ah_prodotti = 0
//-------------------------- Fine settaggi

EthernetClient client;
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
int data_long = 0;
int data[50];
int 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 = 5; // pin di uscita dedicato al stato di segnalazione di funzionamento

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

//---------------------------
int stato = 1;

void setup()
{
  if (regolatore == "bn")
  {
    Serial.begin(115200);
  }
  else
  {
    Serial.begin(9600);
  }
  pinMode(4, OUTPUT); // disattiva il pin della SD card
  digitalWrite(4, HIGH);
  pinMode(led_pin, OUTPUT);
  Ethernet.begin(mac, ip);
  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: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
  }
  else
  {
    while (true);
  }
}

bool update()
{
  bool updok = false;
  if (regolatore == "bn")
  {
    //tensione batteria
    Serial.write(0x01);
    Serial.write(0x04);
    Serial.write(0x31);
    Serial.write(0x04);
    Serial.write((uint8_t)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((uint8_t)0x00);
      Serial.write((uint8_t)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((uint8_t)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((uint8_t)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((uint8_t)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(0x10);
      Serial.write((uint8_t)0x00);
      Serial.write(0x01);
      Serial.write(0x3E);
      Serial.write(0xF3);
      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;
      }

      //SOC Batteria
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x1A);
      Serial.write((uint8_t)0x00);
      Serial.write(0x01);
      Serial.write(0x1E);
      Serial.write(0xF1);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        soc = (data[3] << 8) | data[4];
      }
      
      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((uint8_t)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;
  if (regolatore == "rn"){
    calcolo_soc();
  }
  }
  time_Ah_old = millis();
  return updok;
}

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);
  }
}

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("update_ok") > 0)
    {
      stato = 1;
    }
    else
    {
      stato = 3;
    }
    if (strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
     ah_prodotti = 5000; //solo per la serie BN 5000 , per la serie RN mettere 0
    }
    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 ledStato(int st)
{

  switch (st)
  {
    case 1: // Nessun errore di funzionamento
      for (int i = 1; i <= 1; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 2: // Impossibile leggere i dati dal regolatore
      for (int i = 1; i <= 2; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 3: // Errore di comunicazone con il server remoto
      for (int i = 1; i <= 3; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 4: // Attesa reset ethernet shield
      for (int i = 1; i <= 4; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;
  }
  delay(1000);
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else {
      httpRequest();
      lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}


Questo lo scketch se avete scelto esp8266-01
Si può far riferimento a questa guida per preparare l'ide di arduino a  funzionare con l'esp8266 LINK

Scketch da modificare

#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 ---- rn=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;
      }

      //SOC Batteria
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x1A);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x1E);
      Serial.write(0xF1);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        soc = (data[3] << 8) | data[4];
      }
      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;
  if (regolatore == "rn"){
    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();
}



A questo punto si può caricare lo scketch!
Arduino va collegato al regolatore tramite la porta seriale a disposizione.


Per questa parte non dovrebbe mancare nulla, la prossima volta provvederò a postare il codice sorgente da caricare sul server web remoto

danye il 1/9/2015, 19:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Possiamo ora caricare via ftp i file sulla root principale del server web, ma ancora non funzionerà nulla perchè dobbiamo preparare il database. Se avete scelto come me (e ve lo consiglio) uno spazio web fornito gratuitamente da altervista, una volta aperto il vostro pannello di controllo dovete cliccare su “Accedi a PhpMyAdmin”. Si aprirà una pagina, quindi cliccare sul nome del database che sarà “my_solare” nel mio caso (nel vostro caso il nome sarà quello che avete scelto quando avete aperto lo spazio web) in alto a sinistra, quindi senza far altro cliccare su “importa”, subito sotto scegliere il file dtb.sql caricato a fine post e cliccare su esegui. Questo preparerà il vostro database ad accogliere i dati.

Proseguiamo ora a caricare i file sul server remoto che sono a fine post, prima però dobbiamo editare il file settaggi.php con i nostri dati.


Se tutto è apposto collegandovi ora sulla home page già dovreste vedere le letture fornite dal regolatore.

Il sistema è testato sia con arduino sia con esp8266-01, per entrambi i tipi di regolatore.
Buon lavoro a tutti! ;)

Allegati:
dtb.zip

web_server_001.zip

jackie2_it il 3/9/2015, 20:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Danye complimenti per la realizzazione, provo a caricare anche io il tuo codice sul mio impianto così lo testo :-)

C'è qualche problema a scaricare il file del database puoi eventualmente metterlo compresso con winzip?

danye il 3/9/2015, 20:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo, sono curioso 
Ho zippato il file dtb.sql, riprova... ;)

jackie2_it il 3/9/2015, 21:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo ora lo scarica lo metto su stasera e domani collegò l'arduino e vediamo che succede

ElettroshockNow il 4/9/2015, 20:55
Re: Monitoraggio regolatori Ep Solar tracer dal web


Che bellezza ... gli indicatori analogici hanno il loro fascino.

Ma che dati prelevi dal Regolatore ?
Visto che non possiedo il regolatore in oggetto posso con dei sensori esterni ottenere i tuoi stessi risultati ?

Ciao e grazie
Elettro

danye il 5/9/2015, 10:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
ElettroshockNow :


Che bellezza ... gli indicatori analogici hanno il loro fascino.

Ma che dati prelevi dal Regolatore ?
Visto che non possiedo il regolatore in oggetto posso con dei sensori esterni ottenere i tuoi stessi risultati ?

Ciao e grazie
Elettro


Monitorando i vari parametri di corrente e tensione con arduino tramite sensori esterni è lo stesso possibile inviare i dati alla pagina web.
L'arduino non fa altro che contattare la pagina web una volta ogni 5 sec circa con questa stringa:
[code html]
www.miosito.it/arduino/arduino.php?psw=****&tensione_pannello=2400&corrente_pannello=1200&tensione_batteria=1380&corrente_batteria=1200&tensione_carico=1380&corrente_carico=500&soc=100&temperatura=26&temperatura=26&ah_consumati=100000000&ah_prodotti=100000000&reset_shield=0


La parte di codice che invia la richiesta è questa:

void httpRequest() {

  client.stop();

  if (client.connect(server, 80)) {

    String strURL = "GET /arduino/arduino.php?psw=4756&tensione_pannello=";
    strURL += (int)tensione_pannello;
    strURL += "&corrente_pannello=";
    strURL += (int)corrente_pannello;
    strURL += "&tensione_batteria=";
    strURL += (int)tensione_batteria;
    strURL += "&corrente_batteria=";
    strURL += (int)corrente_batteria;
    strURL += "&tensione_carico=";
    strURL += (int)tensione_carico;
    strURL += "&corrente_carico=";
    strURL += (int)corrente_carico;
    strURL += "&soc=";
    strURL += (int)soc;
    strURL += "&temperatura=";
    strURL += (int)temperatura;                                    
    strURL += "&ah_consumati=";   
    strURL += (unsigned long)ah_consumati;
    strURL += "&ah_prodotti=";
    strURL += (unsigned long)ah_prodotti;
    strURL += "&reset_shield=";
    strURL += (int)reset;
    strURL += " HTTP/1.1";
    client.println(strURL);
    client.println("Host: solare.altervista.org");
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
   
    reset = 0;
    ciclo_reset = ciclo_reset_old;
    cont_reset = cont_reset_old;
   }
}


Bisogna però scrivere il codice che si preoccupa di leggere i valori e preparare le variabili da inviare in maniera corretta.
I valori di tensione e corrente sono moltipliacati *100, mentre i valori di Amperora sono moltiplicati *1000000.


Gigi600 il 21/2/2016, 22:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Progetto molto interessante .
Congratulazioni 
Io di arduino ne so poco o nulla ( sono ignorante  )sarebbe interessante descrivere l'hardware necessario .
basterebbe qualche info e poi mi metterò all'opera 
Dovrei monitorare a distanza visto la località difficile da raggiungere un impianto in una malga dotata di internet e ovviamente impiantino fotovoltaico
LINK
Grazie a chi vorrà darmi una mano

danye il 23/2/2016, 18:09
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Progetto molto interessante .
Congratulazioni 
Io di arduino ne so poco o nulla ( sono ignorante  )sarebbe interessante descrivere l'hardware necessario .
basterebbe qualche info e poi mi metterò all'opera 
Dovrei monitorare a distanza visto la località difficile da raggiungere un impianto in una malga dotata di internet e ovviamente impiantino fotovoltaico
LINK
Grazie a chi vorrà darmi una mano


Ciao Gigi600, benvenuto tra noi!
L'hardware necessario è un arduino uno con una ethernet shield w5100 a bordo.
per il resto bisogna solo caricare lo sckech e configurare il web server come descritto sopra.  ;).
Riamane solo da capire se il tuo regolatore è compatibile con il protocollo seriale del EpSolar Tracer 3015 su cui si basa il progetto.
Per qualsiasi info posta pure.
Ciao. 

Gigi600 il 23/2/2016, 19:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao e Grazie per la risposta
Ho fatto l'acquisto di arduino uno e la scheda w5100 ( sono due pezzi ) spero vadano bene .
Per la compatibilità con il EpSolar Tracer 3015
Io ho un  Tracer 2215BN e un Epsolar LS1024B  Dalle prove che ho fatto entrambi comunicano con
il display MT 50 e con cavo usb/rs485 al pc quindi presumo che abbiano uno standard in comune a tutti EPsolar
Ho già caricato il Tuo panchetto di file sul Mio sito web
LINK
con calma cercherò di capire meglio come lavorano.
Ribadisco la Mia ignoranza con arduino ma ho già fatto una infarinatura scaricato software e " sembra " non essere difficile
con la Tua già precompilazione del programma.
Quando arriverà il tutto Mi metterò al lavoro e Mi rifarò senz'altro Vivo .
Grazie ancora

Gigi

danye il 23/2/2016, 22:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
RS485 sicuro? Il mio ha una seriale rs232 ttl, che si collega direttamente ai pin tx e rx dell'arduino uno. Se fosse veramente rs485 bisogna prima usare un adattatore da rs485 a rs232.

Gigi600 il 23/2/2016, 22:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiorno nel frattempo ..
Caricato , o almeno spero il database dtb.sql
Per facilità cambiato l'indirizzo che ora è
LINK
ho precompilato lo scketch sull’arduino
Indirizzo ip arduino Ok
IPAddress ip(192, 168, xxx, 10); 
Qui bisogna inserire l'ip del Router ?
IPAddress server(192, 168, xxx, 1);

Questo non lo trovo !?
char server[] = "www.solare.altervista.org";   
ho trovato e modificato 2

client.println("Host: sacilemeteo.altervista.org");

Per fare una prova nel frattempo se non ho capito male è arduino.php che genera i file archivio ?
Se si che estensione di file *.Js o altro ?
Si potrebbe averne uno da inserire per fare una prova per vedere se il database funziona ?

Grazie ancora

Gigi



Gigi600 il 23/2/2016, 23:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
RS485 sicuro? Il mio ha una seriale rs232 ttl, che si collega direttamente ai pin tx e rx dell'arduino uno. Se fosse veramente rs485 bisogna prima usare un adattatore da rs485 a rs232.



Questo è quello scritto nel manuale

Allegati:
arduino.jpg

danye il 23/2/2016, 23:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Aggiorno nel frattempo ..
Caricato , o almeno spero il database dtb.sql
Per facilità cambiato l'indirizzo che ora è
LINK
ho precompilato lo scketch sull’arduino
Indirizzo ip arduino Ok
IPAddress ip(192, 168, xxx, 10); 
Qui bisogna inserire l'ip del Router ?
IPAddress server(192, 168, xxx, 1);

Questo non lo trovo !?
char server[] = "www.solare.altervista.org";   
ho trovato e modificato 2

client.println("Host: sacilemeteo.altervista.org");

Per fare una prova nel frattempo se non ho capito male è arduino.php che genera i file archivio ?
Se si che estensione di file *.Js o altro ?
Si potrebbe averne uno da inserire per fare una prova per vedere se il database funziona ?

Grazie ancora

Gigi



Ho aggiornato lo scketch da caricare su arduino. Ora troverai le righe da modificare come ho indicato. In precedenza avevo postato per errore una versione precedente del codice.
È proprio arduino.php che si preoccupa di salvare i dati in arrivo dal regolatore, ma lo fa inserendoli nel database mysql senza creare file di archivio. Hai seguito la procedura per predisporre il database?
Per prova poi potresti inviare dal browser una stringa tipo questa (al posto degli asterischi la seconda password di 4 cifre scelta):

sacilemeteo.altervista.org/arduino/arduino.php?psw=****&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000

;)

danye il 23/2/2016, 23:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
danye :
RS485 sicuro? Il mio ha una seriale rs232 ttl, che si collega direttamente ai pin tx e rx dell'arduino uno. Se fosse veramente rs485 bisogna prima usare un adattatore da rs485 a rs232.



Questo è quello scritto nel manuale


Quindi ha una rs485... Devi per forza di cose procurarti un convertitore da rs485 a rs232 ttl. Sperando che il protocollo di comunicazione sia lo stesso...

Gigi600 il 23/2/2016, 23:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok grazie forse alla stringa manca questo ?
arduino/arduino.php
Quindi
http://sacilemeteo.altervista.org/arduino/arduino.php?psw=xxxx&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000
Ma non funziona vedo domani

danye il 23/2/2016, 23:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si hai ragione la stringa corretta è quella che hai indicato... Scrivo dal telefono e mi è sfuggito. Se non funziona prova con la prima password invece che con la seconda.
Ciao.

Gigi600 il 24/2/2016, 9:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok grazie cercherò il convertitore sperando che funzioni altrimenti Mi tocca a malincuore abbandonare il progetto 

Nelle decine di cavi  ho trovato questo in foto da vedere se funziona 

Invece non ho risolto il problema del database 
Sembra tutto ok
Le modifiche al database.php ed in grafico.php:

$connessione = @mysql_connect("localhost", "sacilemeteo")      or die("Connessione non riuscita: " . mysql_error());
mysql_select_db("my_sacilemeteo", $connessione) or die("Errore selezione database: " . mysql_error()); 


All'invio della stringa

http://sacilemeteo.altervista.org/arduino/arduino.php?psw=xxxx&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000 
Mi da Ah_prodotti= Ah_consumati= endAh
nella cartella arduino ( mi sembra che dovrebbero crearsi li  !? ) non vedo generato alcun file

Allegati:
rs232_485.jpg

danye il 24/2/2016, 11:14
Re: Monitoraggio regolatori Ep Solar tracer dal web

Le modifiche a database.php ed in grafico.php corrette sono:

$connessione = @mysql_connect("localhost")      or die("Connessione non riuscita: " . mysql_error());
mysql_select_db("my_sacilemeteo", $connessione) or die("Errore selezione database: " . mysql_error()); 

Non apettarti di trovare dei file di archivio da nessuna parte. I dati vengono inseriti nelle tabelle che hai creato quando hai configurato il database. Apri phpmyadmin che trovi nel pannello di controllo del sito web clicca su my_sacilemeteo poi su dati ricarica


danye il 24/2/2016, 20:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
[quote]
Nelle decine di cavi  ho trovato questo in foto da vedere se funziona


Non credo che il cavo in foto faccia al caso tuo.
Secondo me ti serve un convertitore come questo:
LINK

Gigi600 il 24/2/2016, 22:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok preso ma la storia si complica 
Non ho idea di dove vada inserito   
Faremo un passo alla volta
Grazie per il Tuo tempo dedicatomi

danye :
[quote]
Nelle decine di cavi  ho trovato questo in foto da vedere se funziona



Non credo che il cavo in foto faccia al caso tuo.
Secondo me ti serve un convertitore come questo:
LINK



Gigi600 il 26/2/2016, 23:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Nella attesa che arrivi "Arduino" sto facendo ricerche.
Sembra che il protocollo di comunicazione della vecchia serie con la RS232 si uguale alla RS485 da quello che ho capito usano la RS485 perchè si può mettere l'eventuale display più lontano , mentre il limite della rs232 sarebbe di pochi metri la rs485 "dicono" anche centinaia !?
Poi ovviamente non rimane che provare 


Allegati:
1733_modbus_protocol.pdf

Gigi600 il 29/2/2016, 18:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Arrivato "Arduino" + ethernet shield w5100
Facciamo i passaggi a prova di Ignorante 
L'hardware è Ok ?
Poi carico  lo scketch modificato in arduino , nel server "dovrebbe" essere Tutto Ok 

Poi dovrei collegare il convertitore ( quando arriverà ) B (4) A (5) Ground (7)  RS485 > RS232   al TX e RX  e GND

Do alimentazione e incrociamo le dita 


Allegati:
arduino_001.jpg

Gigi600 il 1/3/2016, 9:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Primo problema caricando lo sketch Mi da un messaggio di errore , anche caricando il Tuo tale e quale   


Arduino:1.6.7 (Windows XP), Scheda:"Arduino/Genuino Uno"

D:\Documenti\Arduino\sketch_mar01a\sketch_mar01a.ino: In function 'void httpRequest()':

sketch_mar01a:155: error: 'reset' was not declared in this scope

     strURL += (int)reset;

                    ^

sketch_mar01a:164: error: 'ciclo_reset' was not declared in this scope

     ciclo_reset = ciclo_reset_old;

     ^

sketch_mar01a:164: error: 'ciclo_reset_old' was not declared in this scope

     ciclo_reset = ciclo_reset_old;

                   ^

sketch_mar01a:165: error: 'cont_reset' was not declared in this scope

     cont_reset = cont_reset_old;

     ^

sketch_mar01a:165: error: 'cont_reset_old' was not declared in this scope

     cont_reset = cont_reset_old;

                  ^

exit status 1
'reset' was not declared in this scope

  Questo report potrebbe essere più ricco di informazioni con
  "Mostra un output dettagliato durante la compilazione"
  abilitato in "File > Impostazioni"



Questo è quello che vedo a finestra


#include <SPI.h>
#include <Ethernet.h>

//------------------------- Parametri Ethernet shield
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(192, 168, 178, 50);
char server[] = "www.sacilemeteo.altervista.org";
EthernetClient client;
//-------------------------- Setta le varibili
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
unsigned long ah_prodotti;
unsigned long ah_consumati;
unsigned long lettura_ah_prodotti;
unsigned long lettura_ah_consumati;
int data_long = 0;
int data[50];
int temperatura;
int soc = 100;

unsigned long ah_batteria;
const unsigned long  capacita_batteria = 215000000; //indica la capacità della batteria in carica in micro Ah
//--------------------------- Pin di uscita digitali
const int led_pin = 5; // pin di uscita dedicato al stato di segnalazione di funzionamento

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

//---------------------------
int stato = 1;

void setup()
{
  Serial.begin(9600);
  pinMode(4,OUTPUT); // disattiva il pin della SD card
  digitalWrite(4,HIGH);
  pinMode(led_pin, OUTPUT);
  Ethernet.begin(mac, ip);
  delay(5000);

  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=5678  HTTP/1.1";
    client.println(strURL);
    client.println("Host: sacilemeteo.altervista.org");
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();   
    }
}

bool update()
{
  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;
   
    lettura_ah_consumati = ((float)corrente_carico / 3600) * (millis() - time_Ah_old) *10; //restituisce la lettura in micro Ah
    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;
   
    time_Ah_old = millis();
   
    calcolo_soc();
   
    return true;
  }
  else
  {
    return false;
  }
}

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);
            }
}

void httpRequest() {

  client.stop();

  if (client.connect(server, 80)) {

    String strURL = "GET /arduino/arduino.php?psw=1234&tensione_pannello=";
    strURL += (int)tensione_pannello;
    strURL += "&corrente_pannello=";
    strURL += (int)corrente_pannello;
    strURL += "&tensione_batteria=";
    strURL += (int)tensione_batteria;
    strURL += "&corrente_batteria=";
    strURL += (int)corrente_batteria;
    strURL += "&tensione_carico=";
    strURL += (int)tensione_carico;
    strURL += "&corrente_carico=";
    strURL += (int)corrente_carico;
    strURL += "&soc=";
    strURL += (int)soc;
    strURL += "&temperatura=";
    strURL += (int)temperatura;                                    
    strURL += "&ah_consumati=";   
    strURL += (unsigned long)ah_consumati;
    strURL += "&ah_prodotti=";
    strURL += (unsigned long)ah_prodotti;
    strURL += "&reset_shield=";
    strURL += (int)reset;
    strURL += " HTTP/1.1";
    client.println(strURL);
    client.println("Host: sacilemeteo.altervista.org");
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
   
    reset = 0;
    ciclo_reset = ciclo_reset_old;
    cont_reset = cont_reset_old;
   }
}

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("update_ok") > 0)
    {
      stato = 1;
    }
    else
    {
      stato = 3;
    }
    if(strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
      ah_prodotti = 0;
    }
    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 ledStato(int st)
{

  switch (st)
  {
  case 1: // Nessun errore di funzionamento
    for (int i = 1; i <= 1; i++)
    {
      digitalWrite(led_pin, HIGH);
      delay(50);
      digitalWrite(led_pin, LOW);
      delay(500);
    }
    break;

  case 2: // Impossibile leggere i dati dal regolatore
    for (int i = 1; i <= 2; i++)
    {
      digitalWrite(led_pin, HIGH);
      delay(50);
      digitalWrite(led_pin, LOW);
      delay(500);
    }
    break;

  case 3: // Errore di comunicazone con il server remoto
    for (int i = 1; i <= 3; i++)
    {
      digitalWrite(led_pin, HIGH);
      delay(50);
      digitalWrite(led_pin, LOW);
      delay(500);
    }
    break;

  case 4: // Attesa reset ethernet shield
    for (int i = 1; i <= 4; i++)
    {
      digitalWrite(led_pin, HIGH);
      delay(50);
      digitalWrite(led_pin, LOW);
      delay(500);
    }
    break;
  }
  delay(1000);
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else{
    httpRequest();
    lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}


Grazie

Gigi600 il 1/3/2016, 10:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
L'errore sembra 


strURL += (int)reset;


E qui purtroppo Mi fermo  ;)


Allegati:
errore_arduino.jpg

danye il 1/3/2016, 19:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
Perdonami... nel cercare di migliorare lo sckech l'ho modifico in continuazione... e non mi sono accorto che non funzionava.
Ho aggiornato il primo post con il codice funzionate, ho provato e compila.
Adattalo con i tuoi dati.
Per quanto riguarda l'adattatore purtroppo non ho ancora avuto esperienze dirette con esso, dovrebbe comunque avere come dici tu da un lato  dei pin da collegare sulla seriale di arduino, e dall'altro quelli della rs485 da collegare al connettore del regolatore.
Guardando il pdf con il protocollo che hai postato, ho dei dubbi che possa essere compatibile con il mio che ha una porta seriale.
Magari se avesse tempo ElettroshockNow potrebbe dare un'occhiata al documento e darci qualche dritta!

Gigi600 il 1/3/2016, 19:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Perfetto ora si è caricato senza errori 
Speriamo che il convertitore RS485 funzioni deve ancora arrivarmi 
Questo progetto Mi sarebbe molto utile devo monitorare un impianto a 1460 Mt
e visto che non è a portata di mano devo farmi 35 minuti di macchina e 40 di un buon passo da montanaro con la neve
Oltre che prima esperienza con arduino .
Grazie molte per la Tua disponibilità
Se  ElettroshockNow Mi da una mano ne sarei grato.


Luigi


Gigi600 il 2/3/2016, 10:01
Re: Monitoraggio regolatori Ep Solar tracer dal web
Visto che questo progetto Mi sta molto a cuore 
Per assurdo se acquistassi un TRACER 2210RN MPPT fratello Minore del Tuo
Ho visto che usa interfaccia MT5 e non la MT50 come il Mio (rs485 )
Quindi suppongo che abbia lo stesso protocollo !?
Che dici  ?

Grazie


Allegati:
Tracer-2210RN__3_.jpg

ElettroshockNow il 3/3/2016, 9:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao a tutti ,
Leggo con piacere questo interessante progetto e intervengo sulla questione RS485.

L'uso di questo protocollo di trasmissione ha innumerevoli vantaggi .
In primis la lunga distanza raggiungibile e poi la possibilità di avere più dispositivi sullo stesso bus.

Qui nasce il problema della compatibilità.

Penso che abbiano implementato un protocollo tipo mosbus per far comunicare tra loro più regolatori o display ....
Spero che non sia così altrimenti il problema si fà grosso....

É pur vero che tale implementazione è un grande investimento per la casa costruttrice (problemi di compatibilità tra dispositivi vecchi e nuovi) e quindi spero che non lo abbiano fatto ,ma si siano limitati solo a migliorare la distanza.

Se fosse così anche il protocollo sarà rimasto uguale (incrociamo le dita) .

Quindi l'interfacciamento si riduce a un convertitore rs485 to TTL .

La differenza principale nel gestire la RS485 è un comando aggiuntivo per occupare il bus.

Si perché a differenza della 232 la 485 è una half duplex ,quindi un solo dispositivo alla volta può occupare il bus.

Per farlo il micro prima di inviare dati sul bus setta il proprio TRX 485 in modalità trasmissione ponendo a 1 il Pin DE .

Quindi se è stato acquistato un classico convertitore Rs485 to TTL bisognerà prevedere un pin digitale di Arduino che vada ad 1 ogni volta che si voglia inviare un comando al regolatore e successivamente riposizionarlo a 0 per ricevere i dati.

Ma ... esiste anche un'altra soluzione più semplice che non richiede modifiche al software (anche se di piccola entità ).

Si tratta di convertitori automatici.

In pratica appena sentono una Trasmissione occupano il bus automaticamente ,un esempio è mostrato in figura.

Si chiamano RS485 to TTL automatic  ;)

Ciao e buon EA
Elettro

Allegati:
Screenshot_2016-03-03-08-30-28.jpg

Gigi600 il 3/3/2016, 13:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sono ancora in attesa di un convertitore uguale a quello postato e Mi dai una speranza. 
La  RS485 standard è uguale Tracer 2215BN a un LS1024B che ho e sto facendo i test.

Sia il software che il display MT50 dialogano perfettamente in entrambi 
Essendo ignorante di "Arduino" ma buon cercatore  Cercando in rete ho trovato
Lo schema allegato confermi che sia corretto ?
Collegherò A e B dal Tracer 2215BN , già preparato il cavetto.
Una domanda se c'è comunicazione lo posso vedere da Arduino 1.6.7 Monitor Seriale ?

Grazie Mille

Luigi

Allegati:
conexion_Modulo_RS485_o_max485.jpg

ElettroshockNow il 3/3/2016, 14:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si che puoi vederla,ma solo quello che viene trasmesso da arduino ,non il contrario.
Potresti usare un software serial arduino dove connettere la RS485 è nel listato rinviare sulla seriale di arduino sia quello che trasmette sia quello che riceve.
Cmq se è quella l'interfaccia mostrata in figura non è l'automatica ,quindi dovrai prevedere che ad ogni invio  il Pin 2 dovrà essere a 1 .

Gigi600 il 3/3/2016, 17:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok grazie.
Mi sono accorto che quello che avevo ordinato NON è uguale al Tuo.
Ordinato ora  ;) arriverà tra un mese 
Riaggiornerò più avanti

Grazie Mille
Luigi

danye il 4/3/2016, 13:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Elettro, sempre puntuale e preciso nei tuoi interventi  . Ho qualche dubbio come te che il protocollo del regolare di Gigi600 non sia uguale ai regolatori della serie precedente, ma tentar non nuoce.
Come soluzione di ripiego si, Gigi600, potresti sostituire il regolatore con uno della serie precedente, quello che hai postato andrebbe benissimo. Il fatto è da come ho capito che non è semplice raggiungere l'installazione, quindi sperimentare modificare ogni volta sarebbe un problema...
Facciamo un passo alla volta vediamo se intanto il regolatore esistente funziona.  ;)
Dalle indicazioni di Elettro la schedina rs485 che hai già acquistato funziona lo stesso, basta collegarla come da tuo schema e fare una piccola modifica allo scketch per mettere alto il pin 2 quando trasmette.
Un saluto.

Gigi600 il 4/3/2016, 19:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Grazie Elettro, sempre puntuale e preciso nei tuoi interventi  . Ho qualche dubbio come te che il protocollo del regolare di Gigi600 non sia uguale ai regolatori della serie precedente, ma tentar non nuoce.
Come soluzione di ripiego si, Gigi600, potresti sostituire il regolatore con uno della serie precedente, quello che hai postato andrebbe benissimo. Il fatto è da come ho capito che non è semplice raggiungere l'installazione, quindi sperimentare modificare ogni volta sarebbe un problema...
Facciamo un passo alla volta vediamo se intanto il regolatore esistente funziona.  ;)
Dalle indicazioni di Elettro la schedina rs485 che hai già acquistato funziona lo stesso, basta collegarla come da tuo schema e fare una piccola modifica allo scketch per mettere alto il pin 2 quando trasmette.
Un saluto.



Grazie per Me è Arabo 
Per fare sperimentazioni Ho acquistato uno LS1024B

che ha lo stesso protocollo  del tracer 2015 Bn che ho in malga

quindi posso sperimentare a banco 

Se mi dici cosa devo modificare e come provo 
Ho aperto un nuovo sito solo per ospitare i dati del tracer  ;) e non creare problemi al Mio sito complesso 
LINK

Grazie ancora molto gentili

Luigi


Gigi600 il 4/3/2016, 21:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Danye C'è un errore nel  "file_web_server.zip " che hai allegato 
Va be che arduino non comunica ma almeno ..
Mi chiedevo perché non si visualizzassero almeno i circolari e dati a 000 
Verificando index.php ho verificato
src="js/Drinks/Drinks.js"
che la cartella Drinks di file *JS  deve stare dentro la cartella js
e non alla radice  ;)
quindi
solaresacile.altervista.org/js/Drinks/
e NON
solaresacile.altervista.org/Drinks/

Confermi ?
Il Mio screenshot ora vedo i circolari 

Luigi


Allegati:
solare.jpg

danye il 6/3/2016, 9:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
Mannaggia i pescetti! Ma come c'è finita la cartella Drink li fuori?
Bravissimo! Meno male te ne sei accorto e hai risolto il problema, grazie. Confermo che la tua modifica è corretta.
Procediamo per gradi, visto che hai messo su un  nouvo spazio web, se provi ad inviare la stringa (ricordati di sostituire xxxx con la password):
http://solaresacile.altervista.org/arduino/arduino.php?psw=xxxx&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000 
Riesci a vedere i dati sui display?



Gigi600 il 6/3/2016, 14:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
No 
Mi da Ah_prodotti= Ah_consumati= endAh


danye il 6/3/2016, 15:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
No 
Mi da Ah_prodotti= Ah_consumati= endAh


No dovresti ricevere "update_ok".
Hai eseguito tutti i passaggi per creare correttamente il database?
Accedi al pannello di controllo del sito e seleziona "Accedi a PhpMyAdmin", a sinistra in alto dovresti avere my_solaresacile, fai clik e dovresti avere la lista delle tabelle tra cui dati_ricarica, confermi? Io per un po sono online sulla chat del forum se vuoi possiamo usarla per comunicare in tempo reale. (in alto a sinista "EA_Chat"):

Gigi600 il 6/3/2016, 15:37
Re: Monitoraggio regolatori Ep Solar tracer dal web

Quello che vedo dal panello
Sono in chat

Allegati:
altervista.jpg

Gigi600 il 8/3/2016, 12:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie a Dany ! il sito ora sembra Ok ho fatto dei test con l'invio della stringa e si aggiorna.
Poi ho collegato arduino configurato ( senza il tracer epsolar ) e vedo che porta a zero
quindi qualcosa invia e Mi conforta 
Visto le difficoltà con il 2015BN ( porta rs485  che vedreò in futuro ) Sono in attesa di un tracer 2015RN ( versione vecchia ) in settimana arriva.
Ho fatto uno schemino a prova di "ignorante" 
Grazie ancora Dany
Luigi





Allegati:
Arduino_epsolar2015RN_schema.jpg

danye il 8/3/2016, 13:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo, i collegamenti dello schemino sono giusti!
Non vedo l'ora che funziona tutto!
Sono curioso [smiley=cheesy.gif] [smiley=cheesy.gif] [smiley=cheesy.gif] [smiley=cheesy.gif]


Gigi600 il 11/3/2016, 18:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiorno..
Arrivato il tracer 2015RN collegato e "sembra "funzionare a banco 
Unica cosa ho dovuto inserire la password 1 in entrambi !?


String strURL = "GET /arduino/arduino.php?psw=****  HTTP/1.1"; 

String strURL = "GET /arduino/arduino.php?psw=****&tensione_pannello=";



Normale ? 
Domani faccio test più serio con panello fotovoltaico collegato e se tutto Ok domenica
sostituisco il 2015BN con 2015RN 



Allegati:
Tracer_arduino.jpg

danye il 11/3/2016, 20:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo!
Quì:
String strURL = "GET /arduino/arduino.php?psw=****  HTTP/1.1";
devi inserire la password 2 quella che corrisposnde a $psw2 in arduino.php

Mentre quì:
String strURL = "GET /arduino/arduino.php?psw=****&tensione_pannello=";
la password1 che corrisponde a $psw in arduino.php

Gigi600 il 11/3/2016, 20:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Anzitutto grazie mille Dany 
Ok fatto modifica .
Non ho capito cosa serva la password 2  ;)


String strURL = "GET /arduino/arduino.php?psw=****  HTTP/1.1";
devi inserire la password 2 quella che corrisposnde a $psw2 in arduino.php


danye il 11/3/2016, 23:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
La password 2 serve solo per sincronizzare arduino con il server web per i valori di ahconsumati e ahprodotti del giorno.  ;)
A che tensione alimenti arduino? Ti consiglio di non superare 8 volt, in modo da non sovraccaricare il regolatore a 5 volt a bordo dell'arduino stesso.

Gigi600 il 12/3/2016, 8:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Capito.

Si per l'alimentazione Mi ero documentato e consigliavano dai 6,5 - 7,0 volt 
Quindi ho inserito un regolatore di tensione tarato a 7,0 volt
Altra conferma ho collegato circa 6 Mt di cavetto telefonico tra il 2215RN e arduino (tra il router e epsolar ci sono circa 5 mt) per la seriale e vedo che funziona.
Secondo Te quanti metri si potrebbe arrivare per la distanza massima ?

Dopo una nottata sembra girare tutto OK 
Al momento Mi è tutto chiaro domani zaino in spalla e vado installare "arduino " e il 2215RN 

Grazie Mille

Luigi

Allegati:
rego_ard.jpg

Gigi600 il 12/3/2016, 13:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho notato una cosa presumo collegata alla password 2.
Mentre recupera gli Ah prodotti e consumati mese
Per il giorno riparte da zero.
Cioè se scollego arduino e ridò tensione i valori giorno ripartono da zero per prodotti e consumati .
Normale ?

danye il 12/3/2016, 15:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Ho notato una cosa presumo collegata alla password 2.
Mentre recupera gli Ah prodotti e consumati mese
Per il giorno riparte da zero.
Cioè se scollego arduino e ridò tensione i valori giorno ripartono da zero per prodotti e consumati .
Normale ?


No.
Questa è la parte di codice su arduino che sincronizza gli ah del giorno

  if (client.connect(server, 80)) { // Interroga il server per avere gli ultimi Ah salvati
    String strURL = "GET /arduino/arduino.php?psw=****  HTTP/1.1";
    client.println(strURL);
    client.println("Host: solaresacile.altervista.org");
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
    }

Verifica di aver messo al posto degli asterischi la password uguale a $psw2 in arduino .php
Deve funzionare!
Ciao.

Gigi600 il 12/3/2016, 15:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si verificato molte volte  è uguale 
Arduino


if (client.connect(server, 80)) { // Interroga il server per avere gli ultimi Ah salvati
    String strURL = "GET /arduino/arduino.php?psw=XXXX  HTTP/1.1";
    client.println(strURL);
    client.println("Host: solaresacile.altervista.org");
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
    }


In /arduino/arduino.php


<?php
//controllo se sono presenti i parametri valore e localita
if(isset($_GET["psw"]))
{            
        $psw = XXXX;//password valida per l'aggiornamento dei dati
           $psw2 = XXXX;// password valida per ottenere la sincronizzazione di arduino con gli Ah del giorno salvati



danye il 13/3/2016, 12:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se i settaggi sono corretti non saprei... Dovrò indagare
Già vedo in funzione il monitoraggio! Fantastico!

Gigi600 il 13/3/2016, 15:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Se i settaggi sono corretti non saprei... Dovrò indagare
Già vedo in funzione il monitoraggio! Fantastico!



Si appena tornato 
Diciamo che il recupero NON  ;)  è indispensabile visto che arduino si sconnette con tutto l'impianto quindi quando riparte è a zero , era solo per capire se avevo fatto errori ma come ho scritto la password è corretta in entrambi.
Una bella soddisfazione vedere la produzione comodamente da casa  ,
Ecco il link LINK
Questa soluzione di monitorare l'impianto da internet la ritengo molto utile e la ho adottata  fin dal 2010 con l'impianto fotovoltaico di casa   
LINK 

Un grazie mille e di più a Danye

per aver creduto e lavorato rendendo ora "facile "
questa soluzione.
Ovviamente questo è compatibile con la vecchia versione "RN"
Per la versione nuova  " BN " proverò quando arriva il convertitore RS485 con la seriale
anche se penso che sia diverso completamente la comunicazione , ma ci proverò  ;).


Allegati:
solare3.jpg

danye il 13/3/2016, 15:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie a te che hai creduto nel mio sistema di monitoraggio! Non sono un vero e proprio programmatore, certamente il sistema può essere migliorato, se hai idee possiamo implementarle!
;)

Gigi600 il 13/3/2016, 16:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Neanche io lo sono  programmatore  ,nessuna base di scuola, tutto lo ho imparato dai vari forum e moltissime ore di navigazione poi costanza e cocciutaggine .. provare e riprovare .
Con Arduino era un pezzo che volevo fare qualcosa e questo Mi ha dato lo stimolo.


Una idea renderlo universale così da renderlo indipendente da ogni regolatore 
Che sia a 12/24 o 220 volt 

Ho visto un progetto di ElettroshockNow LINK

Non ho la più pallida idea di come fare.
Con letture ampere e volt avremo dei dati da inviarli al sito  ;)

Altra cosa  da implementare è la produzione e consumo annuale  ;)
Metto altra foto 

Allegati:
solare2.jpg

Gigi600 il 14/3/2016, 10:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho apportato una semplice modifica all'index.php
Cliccando sopra i circolari  e contatori si apre in una nuova pagina.
Prossimo lavoro sarebbe di allargare il grafico da renderlo più comprensibile verso sera quando i dati sono molti ho già fatto delle prove ma ancora nessun risultato  ;)
Ieri ho visto un picco del panello di 8,56 Ah  meno male che me lo hanno regalato perchè difettoso da targa 8,34 max 
Che bello


Allegati:
solare2_001.jpg

danye il 14/3/2016, 18:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sono contento che ti piace il sistema, e ancor di più che ti personalizzi le pagine
Non ho capito però  che modifica hai fatto su index.php, perché  anche prima i grafici si aprivano in una nuova pagina, o sbaglio?
Le modifiche al grafico si possono fare semplicemente. Domani mattina ti faccio un esempio così ci smanetti ;) La corrente del pannello purtroppo è  calcolata tenendo conto di una efficienza del regolatore di 0.93(modificabile a piacere), perché  il regolatore  non fornisce il dato sulla seriale, e potrebbe variare leggermente da quella reale.


Gigi600 il 14/3/2016, 19:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sul php che ho scaricato se esempio clichi su "Ah Prod oggi " o su un circolare panello batteria o consumi Ti si apre il grafico ma si apre sulla stessa pagina , poi se ritorni deve ricaricarsi .
Invece farlo aprire su una nuova pagina puoi avere entrambi le pagine aperte .
Il tag da aggiungere è


target="_blank"

Un esempio

<div class="tabella" id="vpannello"> <a href="display_grafici.php?vis=pan"target="_blank"> <display id="dis_wpan" radius="110" refresh="5" max_range="20" autoscale="true" text="W-A-V"> <display id="dis_ipan" type="digital" width="50" height="25" x="102" y="151" cipher="4" significative="2"></display> <display id="dis_vpan" type="digital" width="70" height="35" x="92" y="180" cipher="4" significative="2"></display></display></a>
</div>

Per i grafici secondo Me sarebbe da averlo a pieno schermo da sfruttare la parte lasciata in bianco a dx  ;)

Ho provato a modificare phpgraphlib.php che sembra sia quello che genera i grafici ma senza risultato

Comunque se domani Mi dai delle dritte Ci provo e Ti ringrazio.

Gigi600 il 15/3/2016, 8:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non ho mai usato php admin 
Ieri sera ho provato a inserire dei valori consumo ,per i giorni precedenti approssimativi dell'installazione arduino per completare il consumo produzione mensile  ;) , nel database altervista ma quando clicco sul grafico non vengono ordinati da sx verso dx 
Appaiono in modo causale in "display_grafici.php?vis=produzione"
Ho cliccato su ordina PRMARY( crescente) ma nulla
Forse c'è da eseguire il salvataggio in altro modo 
Grazie

Allegati:
graficomese.jpg

danye il 15/3/2016, 8:50
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sistemato! La riga che ho modificato è questa in grafici.php:
$query = "SELECT * FROM Consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate())";

con questa:
$query = "SELECT * FROM Consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate()) ORDER BY data";

Ho aggiunto " ORDER BY data " alla fine che mette in ordine i dati tenendo conto della data  ;)

Gigi600 il 15/3/2016, 9:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
Perfetto Grazie 

danye il 15/3/2016, 9:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho dato "un'allargata" al mio  per aumentare di conseguenza anche la dimensione dei grafici, per evitare di avere il bianco a destra, guarda se ti piace..
Per la modifica basta sostituire il file stile2.css che allego, e in grafico.php modifica:

$graph = new PHPGraphLib(1500,800);

;)

Aggiornamento... nel frattempo ho aggiunto anche i contatatori degli ah annuali  ;)

Allegati:
stile2.css

Gigi600 il 15/3/2016, 13:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo  ora i dati nel grafico sono più leggibili prima so sovrapponevano   
Dal Tracer 2215BN ho ricavato la produzione annuale totale ( dal 26/01/2016 )
Quindi poi in qualche modo ricostruirò il mese di febbraio e qualche giorno di gennaio

Attendo modifica per l'annuale 


danye il 15/3/2016, 13:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiornato! ;)

Ora si caricano bene anche i strumenti, prima ne mancava un pezzetto quando si aggiornava la pagina

Gigi600 il 15/3/2016, 13:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie
questa sera cerco di ricostruire i giorni mancanti farò un po ad occhio ma il totale verrà rispettato 

danye il 15/3/2016, 13:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buon divertimento!

Gigi600 il 15/3/2016, 18:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie MILLE !!

David il 20/3/2016, 14:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve a tutti !!!
Uno progetto splendido !!!
Anche io  possiedo lo stesso regolatore dell' EPSOLAR dell' utente Gigi600 e purtroppo con gli stessi problemi di comunicazione verso Arduino ( rs485 vs rs232 ).
Aprendo il display separato MT50 mi sono accorto che si sono alcuni PIN che forse potrebbero essere usati allo scopo.
Dalle foto ingrandite sono riuscito a capire  che questo "display" utilizza un chip sp3072ee sulla linea 485 che termina poi dei pin marchiati TXD e RXD.
Il chip in questione non e' altro che un convertitore bidirezionale RS485-RS422EIA.
Pensate sia possibile utilizzare questi pin per dialogare con Arduino ?



Gigi600 il 20/3/2016, 22:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao
Da provare il convertitore consigliato da ElettroshockNow
LINK
Sono in attesa quando arriva lo proverò  ;)

Al momento ho risolto con la versione più vecchia 2210RN  che è il fratello minore di quello di Danye


David il 22/3/2016, 11:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Gigi600 per la risposta

il convertitore e' in  arrivo dalla SPAGNA e spero arrivi in tempi brevi.
Nel frattempo fremevo per vedere se funzionava....

electronic il 25/3/2016, 13:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve a tutti
vorrei provare ad interfacciare il regolatore EP al PC tramite il convertitore usb cp2102, volevo chiedervi se il TX e RX del regolatore lavorano a 3.3V o a 5V e quindi se devo usare un partitore di tensione

danye il 25/3/2016, 13:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se il regolatore è della serie RN il segnale TX e RX è 5V. ;)

electronic il 1/4/2016, 0:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Il  regolatore è un vs4024n, ho  provato a usare il software della epsolar ma usando il cp2102 non funziona ne con il partitore di tensione ne senza.
Questa era una prova, comunque l'obiettivo è di interfacciare il regolatore con l esp8266 e mandare i dati  su internet

danye il 1/4/2016, 13:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sembrerebbe che il tuo regolatore può essere interfacciato con il display remoto mt100. Purtroppo per adesso riusciamo a comunicare solo con i regolatori che usano l'mt5. Bisognerebbe scoprire che tipo di porta usa, se seriale o rs485 e studiarne il protocollo. In alternativa occorrerebbe installare sensori di tensione e corrente esterni da interfacciare ad arduino ed inviare i dati sul web

electronic il 1/4/2016, 19:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao danye
la comunicazione è seriale e il protocollo dovrebbe essere compatibile con il tuo, con lo sketch allegato riuscivo a vedere i dati sulla seriale (appena posso lo riprovo)

Tu hai mai provato il solar station monitor della epsolar?


Allegati:
sketch_reg_epsolar_monitor_seriale_001.rar

Gigi600 il 19/4/2016, 17:01
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie al monitoraggio oggi ho registrato un picco di 289 watt     ...potrebbe essere una anomalia  ;)  ma i oltre 230 watt dati di targa max del pannello  sicuramente ci sono. 
L'impianto è a 1460 mt quindi l'atmosfera è molto limpida e temperatura bassa .
Volevo sottolineare l'importanza del monitoraggio e archivio dati  che senza un monitoraggio sarebbero sfuggiti e per una utile esperienza 
Grazie ancora a Danye

Allegati:
grafico.png

Gigi600 il 20/4/2016, 14:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Spettacolo cosa rende un panello in montagna con giornata limpida   



Allegati:
solare3_001.jpg

electronic il 20/4/2016, 14:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao Gigi600
complimenti per la tua installazione, volevo chiederti che router usi e che abbonamento internet hai per mettere in rete i dati (quanti giga, costo mensile)

danye il 20/4/2016, 14:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao, sono contento che il sistema funziona!
Seguo quasi ogni giorno il tuo impianto e proprio oggi noto una anomalia. Mi riferisco al fatto che dai grafici dalle ore 14 di oggi si vede un elevata corrente di carica ma corrisponde ad una tensione di batteria di soli 13.8V.
Visto che il soc alla stessa ora è al 100% probabilmente la corrente elevata si spiega con il fatto che almeno un elemento delle batterie è in corto circuito... . Attendiamo ancora un po', credo che dovrai attrezzarti per un' altra scalata.

Allegati:
Screenshot_2016-04-20-14-43-40.png

Gigi600 il 20/4/2016, 16:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao
Potrebbe essere che  l'impianto proviene da 3 giorni di scarsa irradiazione e le batterie erano leggermente basse 

Comunque sto attendendo che la neve si sciolga ( sulla strada non ho voglia di portar su la batteria da 70 Ah già disponibile  nello zaino  ) e un controllo sicuramente lo faccio   ;)

x electronic
In malga usiamo un ponte internet di circa 8 Km che ci concede gratuitamente un radiamatore 
Quindi abbiamo una antenna alimentata che va in uno switch lan 4 porte poi una porta va in un router wifi  che a sua volta una porta va in un mini router wifi

Fino a  settembre avevamo solo un cellulare ( che funzionava da fotocamera LINK ) con una scheda vodafone da 2 Gb mese costo 120 euro annui il rinnovo costava Mi sembra 80 euro .

Visto che ci sono aggiungo 
La malga è dotata di un suo impianto fotovoltaico da 4 Kw ma del "comune " causa 8 batterie da 200 Ah guaste in parte  non funziona ( il comune non ha soldi ... vedremo ).

A gennaio dopo ripetuti blackout  Eravamo a un bivio o abbandonare tutto o mettere dei soldi nostri e renderci autonomi. 
Una scelta che ci ha ripagato in soddisfazione e il monitoraggio è la "ciliegina sulla torta " 
Ora l'impianto è più complesso ma a parte 5- 6  giorni di nevicata e nebbia e 2 soli di blackout ha sempre funzionato  ;)
LINK

Mi deve ancora arrivare parte ( i cinesi si sono sbagliati nella spedizione  ) di arduino per vedere se si riesce a far funzionare sulla serie BN


electronic il 20/4/2016, 20:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
In malga usiamo un ponte internet di circa 8 Km che ci concede gratuitamente un radiamatore 

Quindi abbiamo una antenna alimentata che va in uno switch lan 4 porte poi una porta va in un router wifi  che a sua volta una porta va in un mini router wifi


Beato te, io vado con chiavetta e router 3g, ma per fare il monitoraggio sono indeciso se comprare lo shield ethernet e mettere il router nel sottotetto o provare ad usare il modulo wifi ma dovrei modificare lo sketch e complicare ancora di più la cosa 


Gigi600 il 21/4/2016, 0:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Il ponte wifi è stato una lunga storia di coinvolgimento di diverse persone fino alla "fortunata" soluzione 
Tornando a Noi io lascerei shield ethernet più affidabile 
1) Io ho testato un paio di giorni qui a casa un amplificatore wifi  costo 19-21 euro ( configurato come access point foto sotto ) colleghi il cavo di rete dallo shield ethernet e access point ha funzionato benissimo 
2) potresti usare un cavo ethernet e farlo passare nelle canaline nell'impianto elettrico della casa e lasciare tutto com'è ora  ;)
3) Oppure una coppia di powerline ormai si trovano per 18-20 euro 


Allegati:
wifi.jpg

danye il 21/4/2016, 9:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
[quote]
Beato te, io vado con chiavetta e router 3g, ma per fare il monitoraggio sono indeciso se comprare lo shield ethernet e mettere il router nel sottotetto o provare ad usare il modulo wifi ma dovrei modificare lo sketch e complicare ancora di più la cosa 


Tra circa 10gg avrò un po di tempo per dedicarmi a modificare lo sketch per adattarlo all'esp8266 wi-fi. ;)

electronic il 21/4/2016, 17:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
1) Io ho testato un paio di giorni qui a casa un amplificatore wifi  costo 19-21 euro ( configurato come access point foto sotto ) colleghi il cavo di rete dallo shield ethernet e access point ha funzionato benissimo 


Quindi questo amplificatore funziona anche "al contrario"? cioè collego lo shield ethernet all'ampli e tramite wifi si collega al router?

Passare cavi nelle canaline è da escludere (non ci entra più neanche uno spillo  )

danye :
Tra circa 10gg avrò un po di tempo per dedicarmi a modificare lo sketch per adattarlo all'esp8266 wi-fi.


Te ne sarei infinitamente grato  ;) Anche io al momento sono un po' incasinato


Gigi600 il 22/4/2016, 11:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si funziona lo ho testato ( come quello nell'immagine )  a casa prima di portare l'impianto in malga e visto che in giardino tirare cavi non era il massimo ho trovato questa soluzione provvisoria  ;)

Ovviamente se Danye modifica lo sketch sarebbe il massimo 

electronic il 22/4/2016, 20:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si funziona lo ho testato


Bene! Non pensavo fossero bidirezionali questi aggeggi

Gigi600 il 22/4/2016, 21:35
Re: Monitoraggio regolatori Ep Solar tracer dal web
Cercando anche il TL-WR702N funziona e ha il vantaggio di poterlo alimentare a 5 volt  ;)
Costa circa 5 euro in più 



Allegati:
TL-WR702N.jpg

electronic il 23/4/2016, 11:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Gigi600
chissà se funziona anche con uno smartphone al posto del router? In teoria sì poi non so...

Gigi600 il 23/4/2016, 18:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Certo un smartphone lo configuri come tethering e hai un wifi , Io lo uso quando sono in giro e lo collego al portatile  ;)

Il problema che non hai una porta lan  quindi Ti ci vuole un smartphone e un access point 

electronic il 26/4/2016, 14:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve a tutti
ho provato lo sketch che ho postato a pag 5 e sul monitor seriale vedo l'immagine qui allegata.
Bisognerà convincere l'esp8266 a prendere questi dati e trasmetterli sulla pagina web ('na parola...)
PS: credo proprio che la comunicazione del regolatore sia a 3.3V, non capisco come mai la comunicazione tramite convertitore cp2110 non funziona....vabbè a questo ci penserò un'altra volta

Allegati:
monitor_seriale_epsolar.png

danye il 26/4/2016, 18:50
Re: Monitoraggio regolatori Ep Solar tracer dal web
La comunicazione seriale con il regolatore è a 5V! Si può collegare l'esp8266 che funziona a 3.3V inserendo un diodo dal tx del regolatore all'rx del esp8266 con il catodo rivolto verso il tx, altrimenti rischiamo di bruciarlo. Tra qualche giorno mi libero e modifico lo scketch, ce l'ho già in testa  ;)

electronic il 26/4/2016, 22:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Io ho misurato 3.3V     non so che dirti, proverò di nuovo

danye :
Tra qualche giorno mi libero e modifico lo scketch, ce l'ho già in testa 


Ottimo!

Gigi600 il 27/4/2016, 16:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Oggi avevo un po di tempo e ho provato a interfacciarlo con Ep solar 2215BN con il RS485 Modulo automatico 232 ma non funziona.
Molto probabilmente nei nuovi regolatori hanno cambiato anche la comunicazione 


Allegati:
monitor2.jpg

danye il 27/4/2016, 16:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
Come temevo...bisogna capire e studiare un minimo il protocollo di comunicazione

David il 27/4/2016, 16:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Confermo anche io che non funziona.Solo collegando anche il display MT50 si riesce ad avere un minimo di risposta dal regolatore ma i valori letti sono del tutto incoerenti tra di loro.
Smontando il regololatore sono riuscito a trovare il convertitore da seriale a rs485 e anche collegandosi direttamente su questi non si riesce a avere dati coerenti.Nel frattempo sono riuscito a trovare sul web questo documento :
http://www.aurinkopaneelikauppa.fi/WebRoot/vilkas04/Shops/20120903-11092-142553-1/MediaGallery/Lisanaytto_MT50.pdf
dove a pagina 29 risulta uno schema di collegamento leggermente diverso per i segnali RS485A E RS485B.
Non mi arrendo comunque : ho inviato una email alla casa madre circa il protocollo utilizzato . speriamo bene.


David il 27/4/2016, 16:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
sempre cercando in rete mi sono imbattuto in questo :

http://www.solar-elektro.cz/data/dokumenty/1733_modbus_protocol.pdf

pero' secondo me manca qualcosa.
Interessante la velocita' della seriale a 115200......

Gigi600 il 27/4/2016, 18:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si ne ero a conoscenza di quel documento lo avevo allegato  ;)
http://www.energialternativa.org/cgi-bin/yabb2/YaBB.pl?num=1441124569/21#21

Presumo che questo standard sia su tutti i nuovi modelli, ho anche un LS 1024B
e si interfaccia al MT 50 quindi stesso protocollo 

Io non ho le capacità di trovare una soluzione 
Unica cosa posso fare da beta tester   

DAVID_SUN :
sempre cercando in rete mi sono imbattuto in questo :

http://www.solar-elektro.cz/data/dokumenty/1733_modbus_protocol.pdf

pero' secondo me manca qualcosa.
Interessante la velocita' della seriale a 115200......




electronic il 27/4/2016, 20:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
I modelli con la "B" usano il protocollo modbus

Se trovo qualcosa di utile lo posto

Ho visto che c'è pure un' app per monitorare questi regolatori (non so se è per tutti i modelli)

Gigi600 il 27/4/2016, 22:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si avevo visto che c'era ,Mi sembra un solo modello compatibile con una app 
Sembra che sfornino modelli a "manetta " 
Siamo alla serie ND  ;)
http://www.epsolarpv.com/en/index.php/Product/index/id/544/am_id/134
E sembra che con l'ultimo modello usino la doppia porta 485 e 232 
Chissà se è compatibile con il vecchio modello e arduino

electronic :
I modelli con la "B" usano il protocollo modbus

Se trovo qualcosa di utile lo posto

Ho visto che c'è pure un' app per monitorare questi regolatori (non so se è per tutti i modelli)




Allegati:
ITxxxxND.jpg

electronic il 27/4/2016, 22:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
E sembra che con l'ultimo modello usino la doppia porta 485 e 232 


Interessante!

danye il 2/5/2016, 11:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Oggi purtroppo devo condividere con voi una sconfitta 
Nel tentativo di interfacciare l'esp8266 al mio regolatore qualcosa è andato storto e si è bruciato!
Il regolatore ora non eroga energia ed ha i 3 led rossi accesi fissi.
Spero che con l'aiuto di Elettro si possa recuperare, altrimenti lo userò per recuperare i componenti.
Nel frattempo ho acquistato un altro regolatore simile che dovrebbe arrivare a giorni, spero che le batterie reggano fino ad allora.
Cercherò di capire cosa l'ha bruciato, io ho solo collegato l'esp8266 alla seriale... Purtroppo il tentativo di far funzionare l'esp8266 subirà dei ritardi, ma non mi arrendo.
Allego una foto del regolatore, la cpu sembra una stm32
Un saluto 

Allegati:
20160502_104753.jpg

20160502_104834.jpg

Gigi600 il 2/5/2016, 12:31
Re: Monitoraggio regolatori Ep Solar tracer dal web
Cavolo Mi dispiace   >. Purtroppo ne so qualcosa facendo esperimenti ne ho bruciate di cose anche Io 

ElettroshockNow il 2/5/2016, 13:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
...cavolo che brutta storia,sopratutto per un regolatore ben fatto.
Ha un micro fantastico. ...Se fosse lui potresti provare a sostituirlo con un Arduino.
Difficile che raggiunga le stesse prestazioni ,ma dovrebbe andare.
Cmq per iniziare controllare i 5V sul STM32

electronic il 2/5/2016, 20:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Mi dispiace Danye
Mi sento un po' in colpa per averti suggerito l'idea dell'esp
Hai provato a resettarlo staccando e riattacando tutto?
Se c'è una batteria a bottone toglila (anche se non la vedo dalle foto)
il micro credo proprio che sia stm32 ma lavora a 3.3V

danye il 2/5/2016, 21:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie a tutti per i suggerimenti, verifichero mercoledì mattina.
@electronic nooo non sentirti in colpa figurati, probabilmente ho commesso una sciocchezza io, devo capire quale per non ripetere l'errore.
Comunque lo scketch è pronto lo posterò appena posso, se volete provare voi nel frattempo.

ElettroshockNow il 3/5/2016, 11:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
3.3V ...ops  .
Grazie Electronic

Danje :
Prova a vedere questi punti (non far caso all'errore 5V  )

Allegati:
IMG-20160502-WA0008.jpg

IMG-20160502-WA0007.jpg

IMG-20160502-WA0006.jpg

danye il 3/5/2016, 13:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Di nuovo online con il nuovo regolatore, la sfida sarà recuperare il vecchio! ;)
Un saluto!

danye il 4/5/2016, 9:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
L'alimentazione a 3.3V la trovo sui punti che mi hai indicato. Il micro scalda da non poterci tenere il dito sopra . A questo punto la causa del guasto è proprio lui.
Due le soluzioni, o sostituisco il micro ma dovrei avere il firmware da caricare oppure va arduinizzato!

danye il 4/5/2016, 13:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allego lo scketch da caricare sull'esp8266 e lo schema di collegamento per collegarlo al regolatore ep solar serie RN.


#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

//------------------------- Parametri wi-fi Esp8266
IPAddress ip(192, 168, 1, 20);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
char server[] = "www.solare.altervista.org";
WiFiClient client;
//-------------------------- Setta le varibili
const char* ssid = "SSID";
const char* password = "password";
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
unsigned long ah_prodotti;
unsigned long ah_consumati;
unsigned long lettura_ah_prodotti;
unsigned long lettura_ah_consumati;
int data_long = 0;
int data[50];
int temperatura;
int soc = 100;

unsigned long ah_batteria;
const unsigned long  capacita_batteria = 300000000; //indica la capacità della batteria in carica in micro Ah
//--------------------------- 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()
{
  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;

    lettura_ah_consumati = ((float)corrente_carico / 3600) * (millis() - time_Ah_old) * 10; //restituisce la lettura in micro Ah
    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;

    time_Ah_old = millis();

    calcolo_soc();

    return true;
  }
  else
  {
    return false;
  }
}

void httpRequest() {
  client.stop();
  if (client.connect(server, 80)) {
    String strURL = "GET /arduino/arduino.php?psw=5678&tensione_pannello=";
    strURL += (int)tensione_pannello;
    strURL += "&corrente_pannello=";
    strURL += (int)corrente_pannello;
    strURL += "&tensione_batteria=";
    strURL += (int)tensione_batteria;
    strURL += "&corrente_batteria=";
    strURL += (int)corrente_batteria;
    strURL += "&tensione_carico=";
    strURL += (int)tensione_carico;
    strURL += "&corrente_carico=";
    strURL += (int)corrente_carico;
    strURL += "&soc=";
    strURL += (int)soc;
    strURL += "&temperatura=";
    strURL += (int)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.println("Host: solare.altervista.org");
    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 = 0;
    }

    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()
{
  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);

  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=1234  HTTP/1.1";
    client.println(strURL);
    client.println("Host: solare.altervista.org");
    client.println("User-Agent: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
  }
  else
  {
    while(true);
  }
  ArduinoOTA.begin();
}

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


Non sono riuscito a testarlo per il problema che ho avuto con il regolatore, appena posso farò un test ma dovrebbe funzionare. Mi sono accertato che la comunicazione seriale è a 3.3V. credevo fosse a 5V, forse questa cosa ha contribuito a danneggiare il mio regolatore. Con l'esp8266 non dovrebbero esserci problemi in quanto la comunicazione seriale va a 3.3V.

riporto il pin out del connettore:

Pins      Role
1      +12v
2      GND
3      +12V
4      GND
5      TXD(3.3V)
6      RXD(3.3V)
7      GND
8      GND



Allegati:
esp8266_epsoalar.jpg

pinout.jpg

Gigi600 il 4/5/2016, 17:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Io non ho la possibilità di testarlo al momento perchè in arrivo esp8266.
Quindi si carica tutto solo sul esp8266 senza bisogno di arduino ? 


electronic il 4/5/2016, 20:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Purtroppo il tempo è poco, ho solo la domenica, ma prima dovrei realizzare la pagina web o sbaglio?
Poi per ora non ho neanche abbonamento nella chiavetta internet, potrei provare (per ora) a collegare l'esp con lo smartphone?

danye il 4/5/2016, 20:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Io non ho la possibilità di testarlo al momento perchè in arrivo esp8266.
Quindi si carica tutto solo sul esp8266 senza bisogno di arduino ? 


Si, si carica tutto su esp8266 tramite l'ide che si usa per programmare arduino, bisogna prima predisporlo, cerca in rete come fare. ;)

danye il 4/5/2016, 21:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Purtroppo il tempo è poco, ho solo la domenica, ma prima dovrei realizzare la pagina web o sbaglio?
Poi per ora non ho neanche abbonamento nella chiavetta internet, potrei provare (per ora) a collegare l'esp con lo smartphone?


Si predisponi la pagina web prima come da istruzioni del primo post.
Puoi collegare l'esp con lo smartphone tramite il tethering wi-fi, dovrebbe funzionare.

Gigi600 il 4/5/2016, 22:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok trovato LINK

electronic il 5/5/2016, 21:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho provato a collegare l'esp con lo smartphone tramite tethering ma non ci riesco: ho caricato arduterm modificando
ssid e password, devo cambiare altro? (ip, gateway,subnet)

Gigi600 il 6/5/2016, 0:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sono da modificare questi parametri

/------------------------- Parametri wi-fi Esp8266
IPAddress ip(192, 168, 1, 20);
IPAddress gateway(192, 168, 1, 1);
IPAddress subnet(255, 255, 255, 0);
char server[] = "www.solare.altervista.org";//nomedelduosito
WiFiClient client;
//-------------------------- Setta le varibili
const char* ssid = "SSID";
const char* password = "password";



Non indispensabile ma serve 


const unsigned long  capacita_batteria = 300000000; //indica la capacità della batteria in carica in micro Ah


seconda password che hai inserito nel server nel file
nometuosito.altervista.org/arduino/arduino.php


  String strURL = "GET /arduino/arduino.php?psw=5678&tensione_pannello=";


prima password che hai inserito nel server nel file

    String strURL = "GET /arduino/arduino.php?psw=1234  HTTP/1.1";


poi ci sono due


    client.println("Host: solare.altervista.org");


Se vuoi ho un server libero per fare delle prove già configurato  ;)

dovrebbe essere ok  ;)

http://gigi600.altervista.org/index.php
prima password 1234 seconda 4567



electronic il 6/5/2016, 10:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie mille Gigi600 per la tua disponibilità ma per il tethering quale ip , subnet e gateway devo mettere? Io volevo provare prima uno sketch semplice per verificare la connessione. Usando il router sicuramente è più semplice, con il telefono l'esp sembra connesso ma digitando l'ip non lo trovo

Gigi600 il 6/5/2016, 13:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Quello è un problema visto che varia 
e non è possibile visualizzarla .
Si può impostare ip quando si è in wifi ma in tethering ?
Si potrebbe collegare un ripetitore wifi  ;)

Si lascia il DHCP al ricevitore e IP statico al trasmettitore 



danye il 6/5/2016, 16:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Ho provato a collegare l'esp con lo smartphone tramite tethering ma non ci riesco: ho caricato arduterm modificando
ssid e password, devo cambiare altro? (ip, gateway,subnet)


Prova cosi:
Ip 192.168.1.10
Gateway 192.168.1.1
Subnet 255.255.255.0

electronic il 6/5/2016, 20:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
Niente da fare, non va
E se uso il tethering usb? Collego il telefono al router 3g al posto della chiavetta...si può fare? Chissà...

danye il 6/5/2016, 20:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
No non credo proprio...

Gigi600 il 6/5/2016, 22:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si confermo telefono tramite usb non va.
i router 3g hanno all'interno un software che riconoscono le varie chiavette , e non tutte  ;) quindi non il cellulare
Se hai android .
Ho provato a collegare un portatile per visualizzare l'ip in tethering
Mi da questo indirizzo 192.168.43.178
Il gateway 192.168.43.1

Per visualizzare collega un portatile wifi
Clic su Start > esegui, nella finestra digita cmd /k ipconfig /all quindi dai Invio



Allegati:
ip2.jpg

danye il 7/5/2016, 0:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grande Gigi600!

electronic il 7/5/2016, 23:50
Re: Monitoraggio regolatori Ep Solar tracer dal web
E' veramente forte!
Gigi, senza leggere il tuo ultimo post ho fatto quello che dici tu: ho ricavato l'ip e alla fine ho usato un valore simile, per il gateway ho usato questo: 192, 168, 43, 1 e con un po' di fortuna... funziona!!! 

electronic il 12/5/2016, 19:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Le sperimentazioni sono ferme ma appena possibile vedrò di fare qualcosa. Provando con il regolatore scollegato cosa dovrei vedere sulla pagina web?

marco2431 il 25/5/2016, 13:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buongiono a tutti sono nuovo del forum.ho un pannello da 250w regolatore carica ep tracere 2215bn e una batteria da 100a..premetto che conosco poco il linguaggio di arduino volevo chiedere se era possibile avere uno schec per vedere anche solo i valori dal serial monitor di arduino..
Grazie marco

Gigi600 il 25/5/2016, 16:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao
Il regolatore 2215BN è come il primo che ho acquistato   
Purtroppo la serie BN non è supportata causa la mancanza di conoscenza scambio dati tra arduino e srie xxxxBN   


marco2431 il 25/5/2016, 18:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
O cavolo quindi non ho alternativa per monitorare il tutto?

marco2431 il 25/5/2016, 18:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Volevo cmq chiederw se cortesemente potevate passarmi il listato per il solo monitor con arduino senza la parte del web grazie

danye il 27/5/2016, 11:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Prova questo.
Ciao.

Allegati:
sketch_reg_epsolar_monitor_seriale_002.rar

marco2431 il 27/5/2016, 13:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie questa sera provo grazie

marco2431 il 28/5/2016, 10:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao ho provato il listaoto ma non funziona..mi esce solo un carattere inconprensibile..ma perche non si vede cmq il resto che sino solo comandi di srampa?

marco2431 il 31/5/2016, 23:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Rieccomi ricevo dei simboli strani cosa potrebbe essere
..so che ci avete gia provato ma quei simboli cosa sono?

Gigi600 il 1/6/2016, 7:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Stessa anche a me quando avevo provato con il 2215BN , penso il problema che Ti dicevo sopra ,NON comunica con il regolatore.
Arduino invia una stringa (una serie di codici ) al regolatore ma non comprensibili per il regolatore e risponde con quei simboli. Come Ti dicevo  con la serie BN non funziona.

marco2431 il 5/6/2016, 0:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
https://github.com/kasbert/epsolar-tracer/blob/master/pyepsolartracer/registers.py
Ciao magari puo servire a qualcosa

Gigi600 il 5/6/2016, 9:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
La pagina non è accessibile penso che bisogna essere registrati ;)
In sintesi sarebbe ?

marco2431 il 5/6/2016, 17:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
ma io non sono registrato a quel sito..
cmq sembra che ci siano cose interessanti per il BN

Gigi600 il 5/6/2016, 18:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Il link che hai postato non si vede , non è accessibile "Page not found "  ;)

marco2431 il 5/6/2016, 21:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
LINK

NON ci capisco una virgola

danye il 6/6/2016, 9:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
marco2431 :
LINK

NON ci capisco una virgola


Interessante questo documento, verso la fine c'è un esempio per richiedere i dati al regolatore! Potrebbe essere una base per capirne il funzionamento.

marco2431 il 6/6/2016, 19:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
https://github.com/kasbert/epsolar-tracer
qui ci sono un o di cose
non so speriamo siano utili

marco2431 il 8/6/2016, 19:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
https://github.com/xxv/tracer/blob/master/arduino/Tracer/Tracer.ino

?che ne pensate?

danye il 8/6/2016, 20:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve, ho finalmente trovato un po di tempo per cercare di far funzionare i regolatori serie BN, mi serve però il tuo aiuto Gigi600, visto che hai un server di prova.
Dovresti provare a modificare questo blocco di codice:

bool update()
{
  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;

    lettura_ah_consumati = ((float)corrente_carico / 3600) * (millis() - time_Ah_old) *10; //restituisce la lettura in micro Ah
    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;

    time_Ah_old = millis();

    calcolo_soc();

    return true;
  }
  else
  {
    return false;
  }
}


con questo:

bool update()
{
  byte t[] = {0x01, 0x04, 0x31, 0x04, 0x00, 0x01};
  Serial.write(t, 6);
  Serial.write(0x7E);
  Serial.write(0xF7);
  delay(500);
  if (Serial.available())
  {
    int data_long = Serial.available();
    for (int n = 0; n < data_long; n++)
    {
      data[n] = Serial.read();
    }
    tensione_batteria = (data[3] << 8) | data[4];
  }
  return true;
}


In questo modo il regolatore dovrebbe inviare solo il dato della tensione batteria...
Almeno vediamo se funziona, poi eventualmente andiamo avanti  ;)
Logicamente devi usare il convertitore automatico ttl a rs485 che hai acquistato
Un saluto.


Gigi600 il 8/6/2016, 20:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok domani provo 
Grazie

danye il 8/6/2016, 21:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Dimenticavo... Modifica anche
Serial.begin(9600);
In
Serial.begin(115200);

Gigi600 il 9/6/2016, 10:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
Qualche dato si vede 
Ma non si è visto collegando solo la batteria  ;)

Ho provato simulare la carica con un alimentatore , niente.
Casualmente ho staccato il negativo della carica pannello e sono stati inviati dei dati.
Appena collegato arduino I dati all'inizio si sono azzerati tutti  .
Verificato 3 volte sempre gli stessi
Ora non so se è  di un invio causale dallo stacco del negativo interpretato male dal convertitore 

Comunque qualcosa si muove 

Allegati:
epsolar.jpg

20160609_100241.jpg

danye il 9/6/2016, 19:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Mhhh capisco... Il problema è che avrei bisogno di fare delle prove in "diretta"... Casomai ci mettiamo d'accordo
Intanto puoi invertire queste due righe e riprovare?
Serial.write(0x7E);
Serial.write(0xF7);
a
Serial.write(0xF7);
Serial.write(0x7E);



Gigi600 il 9/6/2016, 20:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok domani provo.
Per la diretta potrei fare di meglio non so se conosci TeamViewer è un programma per gestire da remoto un altro pc così puoi gestire il tutto come fossi a quasi  casa 
Basta che ci mettiamo d'accordo nell'orario e in messaggio privato Ti do user e password  ;)

danye il 10/6/2016, 7:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo, sabato mattina alle 9.30 si può fare?

Gigi600 il 10/6/2016, 11:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao
Ho provato non cambia nulla .
Unico parametro che vedo sono quei dati quando stacco il negativo della carica pannello .
Domani  mattina sono impegnato .
Ora sarei disponibile
Poi  oggi pomeriggio o domani pomeriggio  ;)

danye il 10/6/2016, 11:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
ok stasera alle 17:30?

Gigi600 il 10/6/2016, 11:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok

marco2431 il 10/6/2016, 20:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buona sera a tutti.
Volevo chiedere sr cmq in ogni caso ls scheda ttl rs485 va presa..
Mi dareste cortesemenrte il link
Geazie

danye il 10/6/2016, 23:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si va presa per adattare arduino con il regolatore.
Ho trovato questo link:
LINK
Considera che ancora non sappiamo interfacciare il regolatore, ma con gigi600 abbiamo iniziato a fare dei test.
Ciao.

Gigi600 il 10/6/2016, 23:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si il link è dove lo ho preso io 

Daniele Visto che domani pomeriggio provo fare dei test.
Non ho capito la stringa dei dati in hex 
Tu oggi scrivevi una successione di dati che hai ricavato dal documento pdf postato tempo fa.
Ora vedo che in Address ci sono i valori esempio :
Battery Temp 331D  questo dovrebbe restituirmi il valore in hex della temperatura
Quindi  33 è la posizione nella "eprom " interna e 1D è il valore riferito alla temperatura ?

dei valori utili di esempio carica pannello  potrebbero essere questi ?
Charging equipment input voltage   [color=#ff0000]3100 Solar charge controller--PV array voltage V 100
Charging equipment input current   [color=#ff0000]3101 Solar charge controller--PV array current A 100
Charging equipment input power L   [color=#ff0000]3102  Solar charge controller--PV array power W 100
Charging equipment input power H  [color=#ff0000]3103  W 100
Charging equipment output voltage  [color=#ff0000]3104  Battery voltage V 100
Charging equipment output current  [color=#ff0000]3105  Battery charging current A 100

danye il 11/6/2016, 10:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
La stringa che ho provato a mandare è questa:

01 04 31 04 00 01 7E F7

Dove:
01  id del regolatore
04 il comando
3104 richiede la tensione batteria
0001 register count(non l'ho capito)
7EF7 checksum

Il regolatore dovrebbe rispondere con:

01 04 02 04 CE 3A 64

Dove il quarto e quinto byte "04 CE" è la tensione batteria in HEX

04CE(hex)=1230(dec)
1230/100=12.3 volt

È facile intuire che cambiando 3104 con un altra richiesta dovremmo ottenere i dati che ci interessano, vanno però ricalcolati i due byte di checksum finali.
LINK
(non capisco perchè il calcolatore online mi restituisce i byte dui checksum invertiti...)

Fino ad ora il nostro problema è che il regolatore non risponde proprio...

A questo link invece c'è un file txt con alcuni comandi da provare
LINK

marco2431 il 11/6/2016, 14:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma scusate il cavo originale epsolar che tipo di cavo e?non serve a nulla tranne che per il software originale?

danye il 11/6/2016, 14:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Temo che il cavo originale non puo essere utile. Occorre il convertitore ttl-rs485.

Gigi600 il 11/6/2016, 14:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Per il cavo originale ci avevo pensato anche Io.
Visto che i dati sicuramente tra  usb e  rs485 c'è uno scambio confermato dal software in dotazione.
Ora non so se sia possibile applicare una porta usb a arduino e bai passando la rs 485  ;)

Ovviamente dopo aver capito il sistema di comunicazione.

Ora sto facendo delle prove con HTerm.exe LINK

Speriamo 

marco2431 il 11/6/2016, 17:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Cmq ho preso il convertitore al massimo sono pochi euri
Ma quello sketch che avevo postato non dice nulla di interessante?

Gigi600 il 11/6/2016, 18:35
Re: Monitoraggio regolatori Ep Solar tracer dal web
Quel sketch serve per i vecchi regolatori serie RN che hanno la seriale RS 232
Per la serie BN hanno la seriale RS 485 e cambia tutto.
Con Daniele abbiamo fatte delle prove al momento il regolatore risponde a certi comandi con HTerm.exe e il fatto è incoraggiante   
Ora c'è da capire se il convertitore rs 485 fa il suo lavoro.
Daniele Mi ha inviato uno sketch per testare la rs 485 con arduino , domani la provo  ;)

Si procede per gradi e esclusione 

Prossimamente su questo forum gli aggiornamenti 

marco2431 il 11/6/2016, 19:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Io ho provato con il cavo originale e hterm..nessuna risposta..
Ma ci sono settaggi particolari?cone avete detto ci vuole sicuranente il convertitore..ma tentare non nuoce in attesa ..
Ciao

marco2431 il 11/6/2016, 19:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma quali sono i comandi da inviare?

danye il 11/6/2016, 20:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Devi settare Hterm come di seguito, selezionando la giusta porta com a cui è collegato il cavo originale ed inviare il comando 01 04 31 04 00 01 7E F7 
Se tutto è ok riceverai la risposta del regolatore;)

Allegati:
Cattura.JPG

marco2431 il 11/6/2016, 21:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Nessuna risposta ovviamente.. >  >

danye il 11/6/2016, 22:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 ha fatto la stessa tua prova ed il regolatore risponde...

marco2431 il 12/6/2016, 10:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
E ma io non ho il convertitore bisogna collegare quello giusto?

marco2431 il 12/6/2016, 10:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
riprovato e la risposta e
01 04 02 05 A8 BB DE


Gigi600 il 12/6/2016, 11:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiorno
Il test è per verificare se arduino convertitore RS 485 e 2215BN dialogano  ;)
Daniele ha fatto questo sketch da caricare su arduino

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup() {
  Serial.begin(115200);
  mySerial.begin(115200);
}

void loop() {
  if (mySerial.available()) {
    Serial.write(mySerial.read());
  }
  if (Serial.available()) {
    mySerial.write(Serial.read());
  }
}


Poi bisogna collegare il pin 10 RX e 11 TX del convertitore RS 485 che a sua volta va alimentato a 3.5 o 5 volt ( io ho  5 volt ) poi collegato A e B al 2215 BN
Aprire HTerm.exe scegliere la porta com che è collegato arduino
connettere selezionare come nella immagine
inviare per prova 01 04 31 04 00 01 7E F7
Il regolatore risponde nel Mio caso  con 01 04 02 05 06 3A 62

La prova è che il convertitore funziona 
Ora sarà da costruire tutto il resto 
Qualcosa si muove  ;)



Allegati:
test_rs485.jpg

test_rs485_001.jpg

rs485.JPG

danye il 12/6/2016, 13:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
marco2431 :
riprovato e la risposta e
01 04 02 05 A8 BB DE


Grazie per il test, della stringa ricevuta in risposta il quarto e quinto byte sono quelli che indicano la tensione batteria:
05 A8 hex = 1448/100 = 14.48Volts
Prossimamente devo adattare lo scheck che invia i dati sul server web ;)

Gigi600 il 12/6/2016, 14:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo , quindi nel Mio caso  05 06 = 12,86  ;)
il beta tester è pronto  

marco2431 il 12/6/2016, 15:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
Domanda ma se ho risposte con il cavo originale vuole dire che funxuona anche quello?

Gigi600 il 12/6/2016, 15:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si il problema è farlo dialogare con arduino o con la rs 485 o la usb .
Ma visto che con la rs 485 funziona penso sia più facile questa strada  ;)
Ma la parola al guru .. Daniele 

danye il 12/6/2016, 16:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si il problema è farlo dialogare con arduino o con la rs 485 o la usb .
Ma visto che con la rs 485 funziona penso sia più facile questa strada  ;)
Ma la parola al guru .. Daniele 


Guru? Se fossi un guru avremmo gia risolto il problema... .
Si in effetti sarebbe arduo far funzionare il cavo originale su arduino se non credo impossibile. Il convertitore è la strada piu breve.
Gigi quando hai tempo facciamo altre prove, incrementerei il valore "delay(500)" a "delay(1000)" incrementando altri 500 per volta fino a 2000.
Trovi la riga da modificare nel blocco di codice che ti avevo inviato per provare la trasmissione al server

marco2431 il 12/6/2016, 16:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma tipo di cavo sarebbe il mio?sono proprio una frana vorrwi essere piu utile

Gigi600 il 12/6/2016, 17:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok domani provo.
Tu hai un cavo uguale al Mio .. quello in foto.
Questo serve solo per dialogare con la serie BN e un pc
è un convertitore usb RS 485

Ora si sta percorrendo la strada "più facile " quello di far funzionare arduino con il software per la serie RN testato , con le opportune modifiche , per adattare al convertitore RS 485 ( quello che hai acquistato ) immagine nel Mio post sopra .



Allegati:
__35.JPG

index.jpg

index2.jpg

Gigi600 il 12/6/2016, 18:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Daniele provato ma nulla
1000 1500 2000 
Intendevi questo delay perchè all'inizio ne ho visti altri  ;)


bool update()
{
  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(2000);
  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];
  return true;
  }
  return false;
}




danye il 12/6/2016, 18:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Gigi, si quella era la riga da modificare.
Probabilmente mi sfugge qualcosa, domani mattina vedo di capire cosa non va...
Le password 1 e 2 del tuo sito di prova sono quelle postate qualche pagina fa?? 

Gigi600 il 12/6/2016, 19:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si 5678 per up dei dati in diretta
provato ora con la stringa e funziona  ;)

danye il 13/6/2016, 10:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho inviato a Gigi uno scketch di prova da caricare, attendiamo l'esito...

Gigi600 il 13/6/2016, 12:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Esito positivo !! si vede la tensione batteria nel sito 
La serie BN sta approdando on linea 
Ho anche un LS pomeriggio provo ha sempre seriale 485  ;)
Ovviamente c'è da costruire il resto dei comandi/dati 

Gigi600 il 13/6/2016, 16:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Provato Funziona anche con la serie economica  LS  ;)
Ovviamente il test finale quando sarà messo a punto il codice

Allegati:
epsolar4.jpg

Gigi600 il 14/6/2016, 21:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiorno  ;)

Comandi da inviare alla serie BN e LS  :
Ce ne sono moltissimi ma ho riassunto i principali 

[color=#ff0000]Serie 2215 BN e serie  LS


[color=#666666]Pannello

tensione pannello        V  01 04 31 00 00 01 3F 36

corrente pannello         A  01 04 31 01 00 01 6E F6
corrente pannello  L     W  01 04 31 02 00 01 9E F6
corrente pannello   H   W  01 04 31 03 00 01 CF 36

[color=#0000ff]Batteria

Tensione batteria    V      01 04 31 04 00 01 7E F7

corrente batteria      A      01 04 31 05 00 01 2F 37
corrente    L            W       01 04 31 06 00 01 DF 37     ???
corrente   H             W      01 04 31 07 00 01 8E F7      ??
Battery             %   SOC     01 04 31 1A 00 01 1E F1


[color=#ff00ff]Carico  "Lampade "

Tensione carico       V          01 04 31 0C 00 01 FF 35
corrente del carico   A       01 04 31 0D 00 01 AE F5
corrente del carico    W       01 04 31 0E 00 01 5E F5
corrente del carico    W       01 04 31 0F 00 01 0F 35

Temperatura regolatore  °C    01 04 31 11 00 01 6F 33

Con Daniele abbiamo fatto un grande lavoro ora arduino comunica con il 2215 BN invia i dati al sito 

C'è un problema nella lettura della corrente batteria quando va in prelievo segna 00 , quando carica è ok.
Poi ci sono delle cosine da sistemare. 

marco2431 il 14/6/2016, 23:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non mi passa piu aspettare che arrivi il convertitore >

Gigi600 il 14/6/2016, 23:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se sei fortunato 25 giorni  ho atteso anche 60 gg a volte 
Io ne ho uno in più ma non penso che sei dalle Mie parti  ;)


Questi test si possono fare con HTerm.exe cavetto e regolatore
Inviando la stringa il ricevitore risponderà bisogna prendere la 4 e 5 coppia
Es se inviamo 01 04 [color=#ff0000]31 04 00 01 7E F7
31 04 è il valore per la richiesta tensione batteria

Il ricevitore risponde 01 04 02 [color=#ff0000]05 06 3A 62
quindi 05 06 sono valori in hex convertiti in decimali LINK
da 1286 poi /100 = 12,86 volt
così per tutti i valori

Forse risolto problema nella lettura corrente batteria
Tradotto + o -
Corrente di carica meno la scarica uno. Il valore positivo rappresenta la ricarica e negativo, scaricando il valore in Ah domani provo 
Ce ne sono due il primo chiamato L il secondo H
  01 04 33 1B 00 01 4E 89
   01 04 33 1C 00 01 FF 48 questo  non è molto chiaro

danye il 15/6/2016, 1:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grande Gigi!
Grazie soprattutto per la condivisione del tuo lavoro con il forum!!!


marco2431 il 15/6/2016, 6:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
Cnq io nin sono interessato al server web cosa devo togliere dallo sketch?
A proposito ma quello finale o quasi cime e?grazie siete forti


danye il 15/6/2016, 10:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
marco2431 :
Cnq io nin sono interessato al server web cosa devo togliere dallo sketch?
A proposito ma quello finale o quasi cime e?grazie siete forti


Se non vuoi il server web come intendi monitorare il regolatore??

marco2431 il 15/6/2016, 18:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
io vorrei monitorare il suo stato e fagli gestire i carichi
pero non  e escluso che possa cmq fare il server web
anche se sono completamente privo di informazioni su come fare..
ma quindi devo prendere anche la scheda di rete?se si quale?
grazie

Gigi600 il 15/6/2016, 20:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si serve Arduino uno ( io ho usato un clone come nell'immagine ) e la scheda Ethernet Shield w5100.
C'è anche un modo alternativo che ha fatto Daniele solo in wifi ma è più complicato  ;)
LINK

Lo testerò più avanti 

Allegati:
1_002.JPG

2_002.JPG

marco2431 il 15/6/2016, 22:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
GRAZIE MILLE..
ma io non ho ben capito la storia del server altervista..
se io dovessi usare il mio pc come server?
mi potresti postare lo skecth finale per il funzionamento?

Gigi600 il 15/6/2016, 23:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non penso si possa fare senza server esterno a meno di non rielaborare completamente il codice del server per il PC   ;) NON cosa facile 
Oppure rielaborare entrambi
Lo skecth lo stiamo ancora facendo , ci sono dei problemi con un comando 
Se devi solo vedere i dati a casa puoi semplicemente acquistare un MT 50
oppure usi il tuo PC con il software in dotazione PC software V1.2



Allegati:
Affichage_MT50_ecran_1.jpg

display-lcd-per-regolatori-di-carica-mt50.jpg

marco2431 il 16/6/2016, 6:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Io vorrei fare in mido che poi mi gestisce dei carichi e da interfaccia via pc mi faccia vedere le varie cose..utopia?

Gigi600 il 16/6/2016, 12:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Anche la serie BN e LS è onlinea 
Il grande lavoro di Daniele ha permesso che i regolatori serie BN e LS    ( la seie LS ha delle limitazioni causa prodotto di prezzo ) e con il Mio contributo di beta tester  ;)
Il test del regolatore lo si vede nel Mio sito di prova LINK

Grande soddisfazione che fino a poco tempo fa sembrava un traguardo irraggiungibile.
Il bello che da una ricerca su google nessuno "al Mondo " abbia fatto una cosa simile per la serie Ep solar .
Si potrebbe vendere il brevetto alla Ep solar 
Un grazie anche a ElettroshockNow che Ci ha consigliato il convertitore RS 485 a 232 LINK

Prossimamente aggiungeremo dettagli 

David il 16/6/2016, 15:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie per il lavoro svolto !!!


Gigi600 il 23/6/2016, 23:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
L'evoluzione 

Allegati:
Schema_coll_esp_bn.JPG

Gigi600 il 28/6/2016, 23:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Questo è lo schema con arduino  ;)

Visto che in giro si trovano schemi RJ 45 errati , questo sotto è quello corretto 



Allegati:
arduino_ep_solra_2215_bn.jpg

bn_ok.jpg

David il 29/6/2016, 10:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Gigi per gli schemi.
ma il codice da caricare su Arduino  ?? 

Gigi600 il 29/6/2016, 19:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Presto arriveranno sia per arduino e l'ESP 8266 un po di pazienza  ;)
Direi che per comodità e costo esp8266 ( senza cavi via wifi ) secondo Me è la soluzione migliore.
Per la programmazione del esp 8266 se può essere utile seguite questa guida LINK Per esperienza e non so perchè, su XP non si riesce a programmare  >  quindi da win 7 in su  ;)

Devo dire che è TUTTO MERITO di Daniele Io ho solo testato 

La mia scatola magica che Mi ha accompagnato in questi giorni.


Allegati:
IMG-20160629-WA0008_jpg.jpeg

David il 29/6/2016, 19:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Un grandissimo grazie a Daniele allora !!!! [smiley=beer.gif] [smiley=beer.gif] ma anche a te per aver testato il tutto  [smiley=rolleyes.gif]


danye il 29/6/2016, 20:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
DAVID_SUN :
Grazie Gigi per gli schemi.
ma il codice da caricare su Arduino  ?? 


Appena possibile aggiornerò il primo post con il nuovo codice arduino, esp8266, e server web ;)

Gigi600 il 1/7/2016, 11:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ecco la scatola il pcb è molto artigianale ma funziona 
Ho fatto in modo che possa ospitare sia il esp8266-01 che il 02
Ho messo i pin per  la possibilità di programmare .
La versione 02 "dovrebbe essere " avvantaggiata dalla antenna esterna quindi collocandolo più distante , anche se ho constatato che il 01 copre una buona distanza .
Che dire ora attendiamo Daniele con piccole finiture dal lato firmware 


Allegati:
esp1.jpg

esp2.jpg

esp3.jpg

esp5.jpg

jackie2_it il 1/7/2016, 15:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao Danye, ma questo oggetto lo possiamo usare anche con i nostri regolatori EP Solar?

Gigi600 il 1/7/2016, 16:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Certamente. Quello sopra è l'hardware per la serie BN .
Attualmente serie RN poi BN e LS ma penso tutti quelli di ultima generazione che hanno la porta rs485 ovviamente da testare , Daniele sta mettendo a punto un firmware per esp8266 universale siamo in fase di test  ... ancora un po di pazienza  ;)

danye il 2/7/2016, 12:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiornato il primo post con codici arduino, esp8266-01 e web server ultima versione, che gestiscono entrambi i tipi di regolatore BN ed RN
Un saluto! ;)

Gigi600 il 2/7/2016, 16:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
Un grazie a Daniele per la pazienza e tenacia 

David il 4/7/2016, 18:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Daniele per il codice sei un grande !!

Una piccola curiosità ma per il codice da caricare su Arduino con scheda ethernet e' corretta la riga di codice :

client.println("User-Agent: esp8266 wi-fi"); ?

mentre per la versione con la scheda wifi esp :

client.println("User-Agent: arduino-ethernet"



Gigi600 il 4/7/2016, 18:50
Re: Monitoraggio regolatori Ep Solar tracer dal web
David ... quella è per esp8266 il codice per arduino è il primo  ;)

David il 4/7/2016, 23:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
forse ho interpretato male io l' ordine degli sketch ....o il caldo mi sta giocando qualche scherzo :


Allegati:
errore.jpg

Gigi600 il 4/7/2016, 23:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
" Una piccola curiosità ma per il codice da caricare su Arduino con scheda ethernet e' corretta la riga di codice "

L'immagine che hai postato è per esp8266 
quello per arduino è questo  ;)
nel post iniziale c'è scritto 



#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

//------------------------- Settaggi
IPAddress ip(192, 168, 178, 40);//indirizzo ip da assegnare ad arduino
char server[] = "tuosito.altervista.org";//indirizzo del server web
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
const int psw = 1234; //password per l'aggiornamento dati server web
const int psw2 = 5678; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- br=regolatori serie RN
//-------------------------- Fine settaggi

EthernetClient client;
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
int data_long = 0;
int data[50];
int 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 = 5; // pin di uscita dedicato al stato di segnalazione di funzionamento

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

//---------------------------
int stato = 1;

void setup()
{
  if (regolatore == "bn")
  {
    Serial.begin(115200);
  }
  else
  {
    Serial.begin(9600);
  }
  pinMode(4, OUTPUT); // disattiva il pin della SD card
  digitalWrite(4, HIGH);
  pinMode(led_pin, OUTPUT);
  Ethernet.begin(mac, ip);
  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(1000);
    rispostaServer();
  }
  else
  {
    while (true);
  }
}

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(0x10);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x3E);
      Serial.write(0xF3);
      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
    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 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);
  }
}

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("update_ok") > 0)
    {
      stato = 1;
    }
    else
    {
      stato = 3;
    }
    if (strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
      ah_prodotti = 0;
    }
    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 ledStato(int st)
{

  switch (st)
  {
    case 1: // Nessun errore di funzionamento
      for (int i = 1; i <= 1; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 2: // Impossibile leggere i dati dal regolatore
      for (int i = 1; i <= 2; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 3: // Errore di comunicazone con il server remoto
      for (int i = 1; i <= 3; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 4: // Attesa reset ethernet shield
      for (int i = 1; i <= 4; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;
  }
  delay(1000);
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else {
      httpRequest();
      lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}


danye il 5/7/2016, 17:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
DAVID_SUN :
forse ho interpretato male io l' ordine degli sketch ....o il caldo mi sta giocando qualche scherzo :


Ciao David si avevi ragione non erano corretti, tuttavia non compromettevano il corretto funzionamento degli scketch. Li ho sistemati.
Grazie.  ;)

Gigi600 il 5/7/2016, 19:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Oggi ho sostituito in malga arduino con esp8266
Funziona 

Allegati:
IMG-20160705-WA0000_jpg.jpeg

IMG-20160705-WA0001_jpg.jpeg

danye il 5/7/2016, 20:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Bene! Vediamo se anche gli altri riescono metter su il sistema!


jackie2_it il 6/7/2016, 9:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao dove l'hai preso quel bel contenitore nero?

Gigi600 il 6/7/2016, 11:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
In un negozio di elettronica della Mia città  ;)

David il 6/7/2016, 12:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
non vorrei sembrare "bastian contrario" ma nel file zip del web server mi sembra manchino i files "stile" e "stile2" senza di quelli non riesco a visualizzare correttamente il sito web...
succede anche a voi ?


Gigi600 il 6/7/2016, 13:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si mancano
Questi sono i Miei forse discostano dall'originale, non ricordo , perchè ho modificato la pagina principale

stile1.css


@charset "utf-8";
body {
     background-image: url(immagini/sfondo.png);
     background-repeat: repeat;
     font-size:12px;
}
#contenitore {
     margin-top: 0px;
     margin-right: auto;
     margin-bottom: 0px;
     margin-left: auto;
     width: 1000px;
}
#header {
     height: 100px;
     width: 100%;
     background-color: #69F;
}
#logo {
     float: left;
     height: 100px;
     width: 100px;
     background-image: url(immagini/logo.jpg);
     background-repeat: no-repeat;
     background-position: center;
}
#contenuto {
     float: left;
     width: 100%;
}
.display {
     background-color: #EDEDED;
     float: none;
     height: 1000px;
     border: 1px none #69F;
     margin-right: auto;
     margin-left: auto;
     color: #000000;
     font-family: Arial, Helvetica, sans-serif;
     font-size: 18px;
     background-repeat: no-repeat;
     background-image: url(immagini/display2.png);
     background-position: top center;
}
a, p, li, ul, td, h3, h5 {
     margin: 0px;
     padding: 0px;
     background-color: #EDEDED;
}
#footer {
     background-color: #69F;
     height: 10px;
     width: 100%;
     float: left;
     margin-bottom: 20px;
}
.tabella      {
     width: 100px;
     height: 30px;
     margin-right: auto;
     margin-left: auto;
     float: left;
}
#vpannello{
     position: relative;
     top: 310px;
     left: 170px;
}
#vbatteria{
     position: relative;
     top: 530px;
     left: 245px;
}
#vcarico{
     position: relative;
     top: 310px;
     left: 320px;
}
#soc{
     position: relative;
     top: 650px;
     left: 260px;
}
#temp{
     position: relative;
     top: 650px;
     left: 485px;
}
#ahprod{
     position: relative;
     top:600px;
     left: -280px;
}
#ahcons{
     position: relative;
     top: 600px;
     left: -250px;
}
#ahprod_mensili{
     position: relative;
     top: 700px;
     left: -480px;
}
#ahcons_mensili{
     position: relative;
     top: 700px;
     left: -450px;
}
#ahprod_annuali{
     position: relative;
     top: 800px;
     left: -680px;
}
#ahcons_annuali{
     position: relative;
     top: 800px;
     left: -650px;
}
.contatore_ah{
     height:80px;
     width:100px;
     background-color:#CCCCCC;
     float: left;
     box-shadow: 1px 1px 10px #828282;
}
.contatore_ah a{
     text-decoration:none;
     background:none;
}
.contatore_ah a:hover{
     text-decoration:underline;
     background:#80B2FF;
}
.img_grafico{
     width: 1500px;
}
#loader {
     height: 24px;
     display: none;
}


stile2.css


@charset "utf-8";
body {
     background-image: url(immagini/sfondo.png);
     background-repeat: repeat;
     font-size:12px;
}
#contenitore {
     margin-top: 0px;
     margin-right: auto;
     margin-bottom: 0px;
     margin-left: auto;
     width: 1600px;
}
#header {
     height: 100px;
     width: 100%;
     background-color: #69F;
}
#logo {
     float: left;
     height: 100px;
     width: 100px;
     background-image: url(immagini/logo.jpg);
     background-repeat: no-repeat;
     background-position: center;
}
#contenuto {
     float: left;
     width: 100%;
}
.display {
     background-color: #EDEDED;
     float: none;
     height: 1000px;
     border: 1px none #69F;
     margin-right: auto;
     margin-left: auto;
     color: #000000;
     font-family: Arial, Helvetica, sans-serif;
     font-size: 18px;
     background-repeat: no-repeat;
     background-image: url(immagini/display2.png);
     background-position: top center;
}
a, p, li, ul, td, h3, h5 {
     margin: 0px;
     padding: 0px;
     background-color: #EDEDED;
}
#footer {
     background-color: #69F;
     height: 10px;
     width: 100%;
     float: left;
     margin-bottom: 20px;
}
.tabella      {
     width: 100px;
     height: 30px;
     margin-right: auto;
     margin-left: auto;
     float: left;
}
#vpannello{
     position: relative;
     top: 310px;
     left: 470px;
}
#vbatteria{
     position: relative;
     top: 530px;
     left: 545px;
}
#vcarico{
     position: relative;
     top: 310px;
     left: 620px;
}
#soc{
     position: relative;
     top: 750px;
     left: -330px;
}
#temp{
     position: relative;
     top: 750px;
     left: -135px;
}
#ahprod{
     position: relative;
     top: 700px;
     left: -000px;
}
#ahcons{
     position: relative;
     top: 800px;
     left: -100px;
}
#ahprod_mensili{
     position: relative;
     top: 700px;
     left: -50px;
}
#ahcons_mensili{
     position: relative;
     top: 800px;
     left: -150px;
}
#ahprod_annuali{
     position: relative;
     top: 700px;
     left: 400px;
}
#ahcons_annuali{
     position: relative;
     top: 800px;
     left: 300px;
}
.contatore_ah{
     height:80px;
     width:100px;
     background-color:#CCCCCC;
     float: left;
     box-shadow: 1px 1px 10px #828282;
}
.contatore_ah a{
     text-decoration:none;
     background:none;
}
.contatore_ah a:hover{
     text-decoration:underline;
     background:#80B2FF;
}
.img_grafico{
     width: 1500px;
}
#loader {
     height: 24px;
     display: none;
}



David il 6/7/2016, 14:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
[smiley=beer.gif] [smiley=beer.gif] [smiley=beer.gif] prima o poi riusciremo ad offrirti questa birra ?

danye il 6/7/2016, 17:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ci risiamo, mi dimentico sempre qualcosa, vabbè accettatemi per quello che sono!
In realtà occorre solo stile2.css
Ho aggiornato l'archivio  ;)

marco2431 il 10/8/2016, 13:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buongiorno finalmente il convertitore è arrivato .
Ieri sera ho provato velocemente ma sul monitor swriale mi inviava caratteri strani.come mai?ma i pin da collegare quali sono esattamente?lo skech per il solo arduino quale è?io non ho ancora preso la scheda di rete ma volevo cmq provare..grazie siete grandi

danye il 16/8/2016, 9:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao, che regolatore hai? Che convertitore hai acquistato?

marco2431 il 16/8/2016, 14:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao il regolatore è 2215 bn
Il convertitore è quello che avete consigliato nei precedenti post
Grazie

danye il 16/8/2016, 19:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Segui queste istruzioni:

LINK

Come monitor seriale devi usare hterm LINK

Lo scketch per arduino lo trovi al primo post

marco2431 il 16/8/2016, 19:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Io ho seguito le istruzioni ma nel monitor seriale di arduino non vedo nulla.il cavo funziona xke ho risposte da hterm.pero su monitor di arduino non vedo nulla come mai?o forse devo usare solo hterm?

danye il 16/8/2016, 19:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Puoi vedere le risposte solo su hterm ;)
che stringa invii? cosa ricevi in risposta?

marco2431 il 16/8/2016, 19:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Capito dopo provo..ma su hterm usa i pin 10 e 11.mentre nello scheck no o sbaglio?quindi non devo usare rx e tx?

marco2431 il 16/8/2016, 20:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma se uso hterm non ho bisogno nello schetch della parte riguardante server web e cose del tipo giusto?devo toglierli dallo schetch o non ci sono problemi?grazie

marco2431 il 16/8/2016, 20:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
La risposta con la stringa 0104310400017ef7
È 0104020501fa61


David il 17/8/2016, 10:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
allora... 010402 [color=#ff0000]0501 = 12,81 volt verifica con un voltmetro...nei post precedenti comunque e' spiegato il significato di quei numeri.

"Questi test si possono fare con HTerm.exe cavetto e regolatore
Inviando la stringa il ricevitore risponderà bisogna prendere la 4 e 5 coppia
Es se inviamo 01 04 31 04 00 01 7E F7
31 04 è il valore per la richiesta tensione batteria

Il ricevitore risponde 01 04 02 05 06 3A 62
quindi 05 06 sono valori in hex convertiti in decimali http://didattica.claudiomagni.com/convertitore-binario
da 1286 poi /100 = 12,86 volt
così per tutti i valori
"



marco2431 il 17/8/2016, 10:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma è possibile stampare a video il risultato in modo che sia leggibile?usando lo schetch pero non vedo i caratteri tipo tensione batteria e cosi via devo usare un comando per poterli associare a quello che leggo?nn so se mi sono spiegato

marco2431 il 17/8/2016, 10:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si ho letto e seguito un po tutto ma la mia scarsissima conoscenza del codice purtroppo mi porta a capire poco 

danye il 17/8/2016, 13:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Marco, quello che puoi fare è scritto nei post precedenti. Se vuoi ottenere risposte leggibili anche dal terminale di arduino bisogna creare uno scketch specifico.

Ps: David hai messo su il sistema di monitoraggio?

marco2431 il 17/8/2016, 13:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allora per vedere qualcosa di leggibile devo prendere la scheda wifi o ethernet?

danye il 17/8/2016, 14:01
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si e devi mettere su il server web come spiegato al primo post

David il 17/8/2016, 14:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Ps: David hai messo su il sistema di monitoraggio?
                   



si si una settimana fa era tutto on line..poi in un delirio di onnipotenza  volevo provare l' ESP ....Tutto perfetto ma all' improvviso mentre collegavo i cavi ho "fritto" il convertitore.Morale devo aspettare settembre per averne un altro ...
Anche se dentro il regolatore solare, da qualche parte vicino al microprocessore...esiste una linea seriale dedicata alla comunicazione in standard rs232...quasi quasi lo collego diretto... ;)

danye il 17/8/2016, 14:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo! Che regolatore hai? Quanti pannelli? Quante batterie? Cosa alimenti?
Ti andrebbe di condividere il link del tuo monitoraggio? Se preferisci anche in privato, sono troppo curioso...
Ma si è bruciato il convertitore interno al regolatore?

David il 17/8/2016, 15:35
Re: Monitoraggio regolatori Ep Solar tracer dal web
allora per ordine :

regolatore Tracer1215BN mppt
1 pannello 140 watt
1 mucchio di batterie usate
ci alimento tutta l' illuminazione notturna del giardino esterno naturalmente a led...
per link nessun problema solo che e' fermo l 'aggiornamento dei valori  :

http://www.solardavid.altervista.org/

No penso sia andato fuori uso il convertitore RS485 per Arduino.



marco2431 il 4/9/2016, 15:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
La scheda 8226 e arrivata ma devo anche prendere la scheda ttl per programmarlo?
Qualchuno mi potrebbe dare una infarinatura per gestire anche i xarichi con arduino?a me piu che il datalog interessa piu usare arduino per gestire delle luci tramite i valori letti dal regolatore..
Graziem

marco2431 il 5/9/2016, 13:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ragazzi mi servirebbe solo sapere i comandi per interrgare il regolatore e leggere le risposte 

Gigi600 il 5/9/2016, 13:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
I principali sono elencati in questo post LINK

marco2431 il 5/9/2016, 19:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ok ma su arduino devo usare lo stesso metodo di collegamento come hterm o devo sempee usare rx tx?

marco2431 il 6/9/2016, 0:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
https://github.com/asukiaaa/TracerSolarChargeController

Sembra interessante


marco2431 il 25/9/2016, 11:09
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buongiorno ragazzi..
Qualcuno mi protrebbe spiegare il funzionamenti di questa riga?
Ho cercato di capire ma nn ci riesco

    
     Data[3] << 8 data[4]
Come funziona

Grazie

marco2431 il 25/9/2016, 11:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sono riuscito a fare lo schectk prendendo qua e la dai vostri
Il problema e che casualmente legge qualcosa di diverso qualcuno sa dire come mai?mi da una lettura della batteria errata ma nn sempre a caso
Grazie


danye il 26/9/2016, 14:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se posti lo sketch gli do un' occhiata.

marco2431 il 26/9/2016, 19:31
Re: Monitoraggio regolatori Ep Solar tracer dal web
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

#define SER_SIZE 256 //dimensione massima del buffer
static uint8_t bufferRegolatore[SER_SIZE + 1] = ""; //buffer che conterrà i byte letti dalla seriale.
int serind; //indice per il buffer.

//variabili d'appoggio per i valori letti dal regolatore.
int tensioneBatteria = 0;
int uscita = 0;
int data_long = 0;
int data[50];
int volt = 0;
int ok;
//-------------rele--------------------------
int rele1 = 6;
void setup() {

  Serial.begin(115200);
  mySerial.begin(115200);
}

void loop() {
  Serial.println("--------------------------------");
  Serial.print("Tensione Batteria: ");
  Serial.println(volt);
  Serial.println("interrogo regolatore");
  Serial.println("--------------------------------");
  Serial.print("datientrata:");
  Serial.println(data_long);
  Serial.println("--------------------------------");
  Serial.print("mySerial.read =");
  Serial.println(data[0], HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[1] , HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[2] , HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[3] , HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[4] , HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[5] , HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[6] , HEX );
  Serial.print("mySerial.read =");
  Serial.println(data[7] , HEX);
  Serial.print("mySerial.read =");
  Serial.println("--------------------------------");
  delay(10000);

  mySerial.write(0x01);
  mySerial.write(0x04);
  mySerial.write(0x31);
  mySerial.write(0x04);
  mySerial.write( (uint8_t) 0x00);
  mySerial.write(0x01);
  mySerial.write(0x7E);
  mySerial.write(0xF7);

  delay(500);
  if (mySerial.available() < 0);
  {
    data_long = mySerial.available();
    for (int n = 0; n < data_long; n++)
      data[n] = mySerial.read();

  }
  volt = ((data[3] << 8) | data[4]);
}


marco2431 il 26/9/2016, 19:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
mi sa che ho sbagliato a postarlo 
non so come fare

marco2431 il 28/9/2016, 13:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
Danye help 
Grazie

danye il 28/9/2016, 21:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allega il file in formato zip

marco2431 il 28/9/2016, 21:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ultima versionr ma problema uguale 

Allegati:
bn.zip

saviothecnic il 29/9/2016, 0:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Ottimo, sono curioso  Ho zippato il file dtb.sql, riprova... ;)



Molto interessante l'Amico BennyMeteo mi ha segnalato la cosa
Ho provato a caricalro sul mio sito http://www.saviot.com/meteo/solare/

Domanda il mio Hosting non consente di modificare il DB da fuori quindi vorrei capire se
una volta importate le tabelle sul DB nel mio hosting poi aggiornamento avvinene tramite arduino
che scrive su un fles .txt tramite ftp sul mio spazio web
il quale tramite uno script php aggiorna le stesse stando al interno del hosting stesso
dato che solo cosi ho capito che mi è possibile avere un db aggiornato da fuori.

Premetto che non so neanche io quello che ho scritto dato che non sono un esperto WEB ma spero che sia cosi

In caso mi indicate come configurare il tutto non ho capito bene
dove devo inserire il nome e pass del DB che ho sul hosting ?

Grazie

marco2431 il 30/9/2016, 13:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Danye sei riuscito a capire il perche mi funziona male lo schectk?
Grazie

danye il 30/9/2016, 18:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
marco2431 :
Danye sei riuscito a capire il perche mi funziona male lo schectk?
Grazie


Prova questo:


#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX

//variabili d'appoggio per i valori letti dal regolatore.
float tensione_batteria;
int data_long = 0;
int data[50];

void setup() {
  Serial.begin(115200);
  mySerial.begin(115200);
}

void loop() {

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(1000);

if (mySerial.available())
{
  data_long = mySerial.available();
  for (int n = 0; n < data_long; n++)
  {
    data[n] = mySerial.read();
  }
  tensione_batteria = (data[3] << 8) | data[4];
  tensione_batteria = tensione_batteria /100;

  Serial.print("dati entrata:");
  Serial.println(data_long);
  Serial.println("--------------------------------");
  Serial.print("Tensione Batteria: ");
  Serial.println(tensione_batteria);
  Serial.println("V");
}
}


marco2431 il 30/9/2016, 19:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma cosa non funziona nel mio schetck secondo te?

danye il 30/9/2016, 19:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
saviothecnic :
danye :
Ottimo, sono curioso  Ho zippato il file dtb.sql, riprova... ;)



Molto interessante l'Amico BennyMeteo mi ha segnalato la cosa
Ho provato a caricalro sul mio sito http://www.saviot.com/meteo/solare/

Domanda il mio Hosting non consente di modificare il DB da fuori quindi vorrei capire se
una volta importate le tabelle sul DB nel mio hosting poi aggiornamento avvinene tramite arduino
che scrive su un fles .txt tramite ftp sul mio spazio web
il quale tramite uno script php aggiorna le stesse stando al interno del hosting stesso
dato che solo cosi ho capito che mi è possibile avere un db aggiornato da fuori.

Premetto che non so neanche io quello che ho scritto dato che non sono un esperto WEB ma spero che sia cosi

In caso mi indicate come configurare il tutto non ho capito bene
dove devo inserire il nome e pass del DB che ho sul hosting ?

Grazie



Ciao e benvenuto,  ;) nel tuo caso puoi seguire tranquillamente le istruzioni del primo post. Controlla però se mysql è in esecuzione sul server web!!
Inoltre modifica 1 cosa visto che la tua installazione sul server web è in
http://www.saviot.com/meteo/solare/

1) Modifica le righe  65 e 274 dello scketch arduino così:

String strURL = "GET /meteo/solare/arduino/arduino.php?psw=";




danye il 30/9/2016, 19:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
marco2431 :
Ma cosa non funziona nel mio schetck secondo te?


Ho semplificato il tuo con quello che ti ho postato, l'hai provato? funziona?

marco2431 il 30/9/2016, 19:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si ora ma i dati sono peggiorati ..la prina lettura e giusta poi basta 

danye il 30/9/2016, 20:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
marco2431 :
Si ora ma i dati sono peggiorati ..la prina lettura e giusta poi basta 


Puoi allegare cosa leggi nel monitor seriale?

prova anche a modificare:

delay(1000);

con

delay(5000);

marco2431 il 30/9/2016, 20:50
Re: Monitoraggio regolatori Ep Solar tracer dal web
Certo poi lo allego.
Ma tu sai spiegarmi quella cosa di prendere un dato poi fare uno shift  e prendere altro dato?

marco2431 il 30/9/2016, 23:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ti invio il txt..ti ringrazio x l aiuto..

Allegati:
danye.txt

marco2431 il 2/10/2016, 9:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Danye una domanda perche se funziona con l esp8226 e l invio di dati al sito web nn dovrebbe funzionare anche cosi?anche io ho esp ma non avevo capito che dovevo prendere anche quello x programmarlo pensavo bastasse arduino..sei riuscito a capire perche non va?o meglio riporta dati sbagliati?
Grazie

saviothecnic il 3/10/2016, 10:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
saviothecnic :
danye :
Ottimo, sono curioso  Ho zippato il file dtb.sql


Molto interessante l'Amico BennyMeteo mi ha segnalato la cosa
Ho provato a caricalro sul mio sito http://www.saviot.com/meteo/solare/


Quindi nessuno mi sa aiutare

Sto prendendo accoppiata Regolatore EPT1015BN e Pannelo 100W

Per creare in Isola una stazione meteo autonoma per un amico

Appena mi arriva il tutto inizio a montare a banco
Ho già in casa Arduino Modulo Eternet e qualche altra cosetta

Ma do molti dubbi lato WEB
Ho caricato le Tabbelle del DB allegato ad inizio topic sul dattabase
del mio Hosting WEB

Ma adesso vorrei capire come arduino aggiorna il DB

Il mio hosting non consente d'aggiornare il DB dall' esterno
Lo so per certo perche già con la stazione Meteo con RaspBerry con
CumulusMX non sono risucito a farlo.
Ma li per fortuna il sistema prevede invio in ftp di un .TXT
che poi viene letto da una pagina web già realizzata da loro in PHP
Che lato web ha uno script che legge le tabelle del DB in fomrato .txt

Questo sistema fa le stesse cose magari con un php
aggiorna direttamente le tabelle sql sul hosting ?

Lo chiedo perche non sono esperto ma spulciando i vosti files
non vedo nulla che puo essere configurato per indrizzare al DB MySql
del host interno o invio dei dati in ftp ?

Quindi vorrei capire bene lato web come funziona e si deve configurare il tutto

Lato elettrico mi è tutto abbastanza chiaro ed iniziero a montare / testare
non appena mi arrivano i componenti ordinati.

Grazie

Gigi600 il 3/10/2016, 11:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Stai meno ad aprire uno spazio gratuito che funziona al 100% su LINK


marco2431 il 3/10/2016, 13:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Danye non mi sai dire nulla del mio problema?

marco2431 il 4/10/2016, 13:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
Scusate la domanda forse banale..ma l esp 8226 posso programmarlo con arduino?grazie

danye il 4/10/2016, 17:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
[quote]
Questo sistema fa le stesse cose magari con un php
aggiorna direttamente le tabelle sql sul hosting ?


Esatto lo fa arduino.php
Segui la guida del primo post con le raccomandazioni che ti ho fatto qualche post fa... ;)

marco2431 il 4/10/2016, 21:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
non ho capito cosa lo fa???
volevo anche chiedere visto che scrivo ma senza risposta se avevi capito il perche diquei dati cosi sballati


saviothecnic il 6/10/2016, 23:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Stai meno ad aprire uno spazio gratuito che funziona al 100% su LINK



Ormai lo spazio web e relativo DB MySql anche se è un banale sito personale
l'ho pagato per 5 Anni
Quindi se riesco mi piacerebbe farlo rimanere sul mio sito e hosting attuale  ;)

saviothecnic il 7/10/2016, 0:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :

Esatto lo fa arduino.php


Ok ottimo allora se lo fa il .Php al intenro dello spazio web funziona
anche con il mio provider 
danye :

Segui la guida del primo post con le raccomandazioni che ti ho fatto qualche post fa... ;)

Scusa è qui che non ho capito

In particolare non trovo la parte dove dico ad arduino indirzzo host per mandare
in ftp i dati verso lo spazio web e nel .php lato web non trovo i parametri
dove indico il nome del db e relativa password d'acesso al db ?

Intanto oggi è arrivato qualcosa e spero di poter iniziare grazie al vostro aiutro
d' iniziare a provare qualcosa almeno a banco

Adesso ho:
Il Regolatore di carica MPPT Tracer 1215BN
Una Cavo LAN RJ45 da tagliare per collegare i segnali ad Arduino
Arduino Uno e Il Modulo Eternet
Ho anche qualche regolatore per la 3,3V
un adattatore Logico
E uno Step Down Module LM2596 per adattare la tensione
Poi non so consigliate voi se conviene lasciare questi con il Display LED
o se per via del consumo in un sistema in isola meglio usare
moduli Step Down LM2596 senza Display LED

O già Ordinato su Ali ESP8266 ESP-01S ma ci vorra un po mentre arriva
Intanto provo con il Modulo Eternet che ho gia in casa
Credo che devo attendere anche il convertitore RS-485 232 esatto ?
TTL Turn RS485 Module Automatic Flow Control
LINK
Mi manca Altro ?

Be anche se ora non posso collegare al regolare in caso è necessario il convertitore posso gia iniziare i test Arduino Moduo Eternet per invio dei dato a Web esatto ?

Grazie

Allegati:
RegolatoreBN_Arduino.png

Gigi600 il 7/10/2016, 8:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Esatto manca il modulo TTL Turn RS485 , il display consuma per niente io lo cambierei con uno senza . Per arduino e SOLO arduino puoi collegare direttamente dal pin 1 e 8 escono 7,5 volt , 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

danye il 7/10/2016, 13:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
[quote]
In particolare non trovo la parte dove dico ad arduino indirzzo host per mandare
in ftp i dati verso lo spazio web e nel .php lato web non trovo i parametri
dove indico il nome del db e relativa password d'acesso al db ?


I dati non vengono inviati in FTP ma con una semplice richiesta di tipo GET, che tutti i siti umani accettano.
E' intuitivo... questa è la riga del codice arduino da settare:

char server[] = " http://www.saviot.com/";//indirizzo del server web

Inoltre comi ti ho già spiegato modifica le righe  65 e 274 dello scketch arduino così:

String strURL = "GET /meteo/solare/arduino/arduino.php?psw=";


Lato php in settaggi.php:

$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.

saviothecnic il 7/10/2016, 17:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :

Ciao e benvenuto,  ;) nel tuo caso puoi seguire tranquillamente le istruzioni del primo post. Controlla però se mysql è in esecuzione sul server web!!
Inoltre modifica 1 cosa visto che la tua installazione sul server web è in
http://www.saviot.com/meteo/solare/
1) Modifica le righe  65 e 274 dello scketch arduino così:

String strURL = "GET /meteo/solare/arduino/arduino.php?psw=";


Ottimo grazie della dritta sto rileggendo tutto il topic
scusami mi era sfuggita questa tua prima risposta
Onorato di poter sperimentare questo vostro progetto

Una domanda forse stupida ma preferisco chiedere che tenermi
il dubbio qualle parte dopo .php ovvero ?psw="
devo metterla cosi o dopo = devo inserere la mia passaword ?

Grazie

saviothecnic il 7/10/2016, 18:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
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 :
E' intuitivo... questa è la riga del codice arduino da settare:
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

danye :


Inoltre comi ti ho già spiegato modifica le righe  65 e 274 dello scketch arduino così:

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 :

Lato php in settaggi.php:

$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

Allegati:
ConfigurationPHP_Esempio.png

saviothecnic il 7/10/2016, 18:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
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 :

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 :
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 :
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

Gigi600 il 7/10/2016, 19:55
Re: Monitoraggio regolatori Ep Solar tracer dal web
Unico modo se non hai il TTL485 per vedere se il DB funziona è inviare una stringa tipo questa

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 LINK
Io ho preferito usare un riduttore con LM2596 e tarato a 3,3 volt al posto del semplice AMS1117 
Il TTL 485 funziona sia a 3,3 volt sia a 5 volt

saviothecnic il 8/10/2016, 0:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
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
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 :
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

Gigi600 :
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

Gigi600 :
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 :
Quindi come dallo schema LINK
Io ho preferito usare un riduttore con LM2596 e tarato a 3,3 volt al posto del semplice AMS1117 
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 

Gigi600 il 8/10/2016, 8:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
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.

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



LINK

danye il 8/10/2016, 16:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
[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:

$connessione = @mysql_connect('localhost', 'nome_utente', 'password')      or die("Connessione non riuscita: " . mysql_error());


saviothecnic il 10/10/2016, 17:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
[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:

$connessione = @mysql_connect('localhost', 'nome_utente', 'password')      or die("Connessione non riuscita: " . mysql_error());


Ok ottimo adesso ho questa risposta 

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

Gigi600 il 12/10/2016, 21:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
Vado OT ma la butto la 

Per la temperatura e umidità sarei interessato anche Io 
Partendo dal progetto di Daniele LINK
Come hardware direi che è ok 
La necessità di vedere temperatura e umidità in una pagina web in php o html
esempio LINK
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 

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  ;)

danye il 13/10/2016, 17:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Vado OT ma la butto la 

Per la temperatura e umidità sarei interessato anche Io 
Partendo dal progetto di Daniele LINK
Come hardware direi che è ok 
La necessità di vedere temperatura e umidità in una pagina web in php o html
esempio LINK
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 

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  ;)


Si può fare! Chi apre una nuova discussione? ;)

Gigi600 il 13/10/2016, 18:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :

Si può fare! Chi apre una nuova discussione? ;)


Il genio Daniele 


Gigi600 il 13/10/2016, 21:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
Da questa sera ho attivato il BN LINK

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à 
Se andrà a buon fine 

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 
Nel dati ricarica  non vedo anomalie 
.
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  ;)

Allegati:
bn1.jpg

bn2.jpg

Gigi600 il 8/11/2016, 11:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Con l'aiuto di Daniele sistemato l'ultimo bug  anche la serie BN ora è ok  ;)
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

jackie2_it il 11/11/2016, 10:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao a tutti, oggi mi è venuta in mente un idea prendendo spunto da dei nuovi oggetti in commercio tipo "ash 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?

Gigi600 il 11/11/2016, 13:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
@ jackie2_it Ottima segnalazione 

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 

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

Da inserire i vostri dati 


#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();
}



Taglio il 22/11/2016, 12:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
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 
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!


danye il 22/11/2016, 17:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao e benvenuto su EA!
Sono contento che sei riuscito a replicare il progetto! Le implementazioni che chiedi sono possibili, per la temperatura basterà controllare che se supera i 30° un pin digitale di arduino andrà a livello logico 1.Per accendere invece un carico consideriamo un livello di tensione oltre la quale accendere i carichi per poi spegnerli sotto un livello minimo?

Taglio il 22/11/2016, 18:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Esatto, proprio così!!

attualmente per accendere i due miseri faretti, dovevano essere 6w l'uno a 12volt, che ho collegato in serie per farli andare a 24, ma che sono si e no 2w  , sono comandati dal regolatore mppt, con la funzione dal tramonto all'alba. A regime vorrei utilizzare l'uscita regolatore sempre attiva, (in modo da lasciare al regolatore il controllo tensione minima delle batterie per non danneggiarle) da qui alcuni relè comandati da arduino:
- luci primarie che si attivano quando la tensione dei pannelli arriva a 0v
- ventilazione quando la T arriva ad una certa soglia
- eventuali lampade aggiuntive, quando la produzione è molto maggiore (es estate)
- pompa di irrigazione durante il giorno, quando le batterie sono cariche

insomma ho tanti buoni propositi, ma non ho idea di dove inserire gli "if" senza fare danni, visto che il monitoraggio funziona egregiamente ed è uno spettacolo!!!



danye il 22/11/2016, 20:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Taglio :

insomma ho tanti buoni propositi, ma non ho idea di dove inserire gli "if" senza fare danni, visto che il monitoraggio funziona egregiamente ed è uno spettacolo!!!


Facile... basta programmare una funzione che monitora i parametri che ci interessano e setta/resetta i pin digitali di arduino.

esempio:

void controlloPin()
{
  if(tensione_pannello < 5)
  {
    digitalWrite(pin_luciPrimarie, HIGH);// accende le luci primarie
  }
  else if(tensione_pannello > 10)
  {
    digitalWrite(pin_luciPrimarie, LOW);// spegne le luci primarie
  }
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else {
      httpRequest();
      controlloPin();
      lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}


Naturalmente alla variabile "pin_luciPrimarie" va associato un pin libero di arduino che va correttamente inizializzato nel setup.

E' solo uno spunto per iniziare...

Taglio il 23/11/2016, 7:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
grandissimo Danye, sabato provo ad inserire il codice, con arduino non sono molto pratico, vado meglio con stagnatore e cacciaviti..
quindi void controllo_pin lo inserisco prima di void loop
nel void loop esistente integro gli ulteriori comandi.

immagino qualcosa di simile per la ventilazione.

Per le lampade aggiuntive, cosa ne pensi di verificare la produzione di Ah prodotti nel giorno, se maggiore di una certa soglia (assorbimento delle sole luci primarie, che è un dato costante), accenderà anche le luci secondarie. così il bilancio energetico sulle batterie dovrebbe rimanere sempre positivo, giusto?

per la pompa di irrigazione (è una sentina nautica, da 100w) che si accenderà di giorno, non ho idea se sia meglio controllare anche in questo caso Ah_prodotti > (luci primarie + luci secondarie), o direttamente quando il soc è al 100%, se scende al 99-98% la spegne (e secco le piante della moglie  )




Taglio il 24/11/2016, 19:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
vi chiedo info
ho notato che la casella Amp prodotti giornalmente, decresce degli Amp consumati giornalmente, forse ho impostato male qualcosa.
esempio a fine giornata prodotti 10ah, ne consumo 2, il giorno dopo quando verifico, trovo 8ah prodotti il giorno precedente

ieri invece il contatore si è azzerato, credo si tratti del bug già risolto nei post sopra, sostituendo 5000 allo 0, che però da ignorante non ho capito cosa controlla...

grazie per le indicazioni

Gigi600 il 24/11/2016, 20:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non è solo quello bisogna sostituire altro
Prova con questo non lo ho testato su arduino ma solo con esp8266
ho fatto un po di copia e incolla spero di averlo fatto giusto  ;)


#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

//------------------------- Settaggi
IPAddress ip(192, 168, 178, 40);//indirizzo ip da assegnare ad arduino
char server[] = "tuosito.altervista.org";//indirizzo del server web
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
const int psw = 1234; //password per l'aggiornamento dati server web
const int psw2 = 5678; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//solo per la serie BN alla riga 337  ah_prodotti = 5000;  per la serie RN mettere ah_prodotti = 0
//-------------------------- Fine settaggi

EthernetClient client;
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
int data_long = 0;
int data[50];
int 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 = 5; // pin di uscita dedicato al stato di segnalazione di funzionamento

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

//---------------------------
int stato = 1;

void setup()
{
  if (regolatore == "bn")
  {
    Serial.begin(115200);
  }
  else
  {
    Serial.begin(9600);
  }
  pinMode(4, OUTPUT); // disattiva il pin della SD card
  digitalWrite(4, HIGH);
  pinMode(led_pin, OUTPUT);
  Ethernet.begin(mac, ip);
  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: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
  }
  else
  {
    while (true);
  }
}

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(0x10);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x3E);
      Serial.write(0xF3);
      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 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);
  }
}

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("update_ok") > 0)
    {
      stato = 1;
    }
    else
    {
      stato = 3;
    }
    if (strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
     ah_prodotti = 5000; //solo per la serie BN 5000 , per la serie RN mettere 0
    }
    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 ledStato(int st)
{

  switch (st)
  {
    case 1: // Nessun errore di funzionamento
      for (int i = 1; i <= 1; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 2: // Impossibile leggere i dati dal regolatore
      for (int i = 1; i <= 2; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 3: // Errore di comunicazone con il server remoto
      for (int i = 1; i <= 3; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 4: // Attesa reset ethernet shield
      for (int i = 1; i <= 4; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;
  }
  delay(1000);
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else {
      httpRequest();
      lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}





danye il 25/11/2016, 20:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Gigi ho aggiornato il primo post con lo scketch corretto! ;)

Taglio il 28/11/2016, 8:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
grazie ragazzi, sabato ho caricato lo sketch aggiornato (arduino + BN), la lettura istantanea è ancora corretta, ma a fine giornata ha resettato nuovamente la produzione e consumi in Ah. Ieri mattina non ha creato il giorno 27/11, e ho ricaricato nuovamente, appena ho resettato la eth ha ricominciato a calcolare gli Ah nella giornata corretta. questa mattina idem.. sicuramente sono brocco io..

per ora ho modificato i valori direttamente sul DB di altervista con i valori delle ultime letture..

ho notato anche una cosa, quando carico lo sketch, non parte immediatamente la lettura, ma dopo un paio d'ore, resettando la eth (sono momenti di delusione, non capendo il 50% del codice non so cosa stia facendo!!), non si vedono blinkare i led tx/rx sul convertitore 485/232. Ho pensato fosse un problema di alimentazione, utilizzando i 5v che escono dal regolatore MPPT per alimentare arduino, ma anche collegando alim esterno ha fatto uguale. forse è colpa di arduino dagli occhi troppo a mandorla.



Taglio il 29/11/2016, 18:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
anche oggi, il grafico è stato copiato dal giorno precedente ed a fine produzione dei pannelli ed accensione del carico, gli ah prodotti decrementano degli ah consumati.. sto cercando sempre più di capire lo sketch, ma non ci arrivo 
ho notato una differenza tra ESP funzionante di Gigi ed Arduino in queste righe:
     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 = "";
}


la A maiuscola e minuscola in Ah_consumati e prodotti, potrebbe essere questo?


danye il 30/11/2016, 12:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
@Taglio posta per favore lo scketch che usi su arduino che controlliamo.
Per l'alimentazione di arduino non usare assolutamente i 5V del regolatore, ma usa uno stepdown collegato come dai schemi al primo post! ;)

Taglio il 30/11/2016, 13:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie Daniele, Ti posto lo scketch in test su Arduino. Per l'alimentazione provvedo ad usare il dc-dc.

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

//------------------------- Settaggi
IPAddress ip(192, 168, 1, 253);//indirizzo ip da assegnare ad arduino
char server[] = "taglioweb.altervista.org";//indirizzo del server web
int unsigned long  capacita_batteria = 200; //indica la capacità della batteria in carica in Ah
const int psw = xxxx; //password per l'aggiornamento dati server web
const int psw2 = xxxx; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//solo per la serie BN alla riga 337  ah_prodotti = 5000;  per la serie RN mettere ah_prodotti = 0
//-------------------------- Fine settaggi

EthernetClient client;
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
int data_long = 0;
int data[50];
int 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 = 5; // pin di uscita dedicato al stato di segnalazione di funzionamento

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

//---------------------------
int stato = 1;

void setup()
{
  if (regolatore == "bn")
  {
    Serial.begin(115200);
  }
  else
  {
    Serial.begin(9600);
  }
  pinMode(4, OUTPUT); // disattiva il pin della SD card
  digitalWrite(4, HIGH);
  pinMode(led_pin, OUTPUT);
  Ethernet.begin(mac, ip);
  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: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
  }
  else
  {
    while (true);
  }
}

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(0x10);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x3E);
      Serial.write(0xF3);
      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 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);
  }
}

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("update_ok") > 0)
    {
      stato = 1;
    }
    else
    {
      stato = 3;
    }
    if (strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
     ah_prodotti = 5000; //solo per la serie BN 5000 , per la serie RN mettere 0
    }
    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 ledStato(int st)
{

  switch (st)
  {
    case 1: // Nessun errore di funzionamento
      for (int i = 1; i <= 1; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 2: // Impossibile leggere i dati dal regolatore
      for (int i = 1; i <= 2; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 3: // Errore di comunicazone con il server remoto
      for (int i = 1; i <= 3; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 4: // Attesa reset ethernet shield
      for (int i = 1; i <= 4; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;
  }
  delay(1000);
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else {
      httpRequest();
      lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}



è quello della prima pagina del post.
una differenza che ho notato con quello di Gigi per ESP sono le A maiuscole/minuscole, ma il compilatore in entrambi i casi non restituisce errori.

grazie
fabio

danye il 2/12/2016, 13:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allora lo scketch sembra giusto a parte la riga 211 che è così:

else if (regolatore = "rn")


va modificata così


else if (regolatore == "rn")


in pratica devi aggiungere un altro "="

Fammi sapere.


Taglio il 2/12/2016, 15:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo, domani provo, quindi le A maiuscole/minuscole non influiscono.
quando il conteggio degli amp prodotti e consumati funziona,  procedo con l'aggiunta del controllo pin aggiuntivi, a tal proposito pensavo di controllare:
1) luci primarie (hanno assorbimento che anche in inverno i pannelli coprono) quindi utilizzo solo la soglia tensione dei pannelli, in stile crepuscolare
2) luci secondarie, funzioneranno sempre con buio, ma solo se i pannelli durante il giorno hanno prodotto oltre una certa soglia
3) carico extra diurno (pompa irrigazione...) solo quando le batterie saranno già cariche

per il punto 1, mi hai già dato la soluzione. Per il punto 2, il dato ah_prodotti rimane disponibile su arduino o alle 00:00 si resetta e quindi spegne il carico secondario? credi sia una buona idea?
Per il punto 3, direi di utilizzare SOC sopra al 98-99% solo con pannelli in produzione.

Vi aggiorno sugli sviluppi

grazie ancora

p.s. domani accendo anche l'albero di natale a basso impatto energetico!




sponn il 7/12/2016, 23:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Hello. I would like to thank Danye, the author of this project, for his perfect work. I made use of  that myself and learned a lot. Thank you again. This is the result: http://www.ppasweb.mzf.cz/



danye il 9/12/2016, 8:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
sponn :
Hello. I would like to thank Danye, the author of this project, for his perfect work. I made use of  that myself and learned a lot. Thank you again. This is the result: http://www.ppasweb.mzf.cz/



Wow! Hai usato arduino o esp8266?
Che regolatore hai, BN o RN?

sponn il 9/12/2016, 9:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
Hello
Regulator: Ep Solar 2215BN, Arduino over TTL turn RS 485. Solar panel 250W, battery 150Ah.

Taglio il 13/12/2016, 15:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Vi aggiorno sullo stato del controllo PIN, per ora sono riuscito a comandare accensione/spegnimento di un carico con la soglia di tensione dei pannelli (come crepuscolare) e la ventilazione con la temperatura delle batterie. Vi chiedo un consiglio, potrebbe aver senso, monitorare anche la temperatura esterna?
mi spiego meglio se la temp delle batterie raggiunge es. i 28°, ma quella esterna è maggiore non ventila, viceversa si.

prossimamente procedo con gli altri due pin di controllo, gli Ah_prodotti e consumati (o lettura Ah_prodotti/consumati) all'interno dello sketch di arduino sono in micro Ah? che differenza c'è con lettura_Ah?
grazie ancora



danye il 13/12/2016, 17:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se il tuo scopo è raffreddare le batterie "pompare" aria calda dall'esterno più calda delle batterie otterresti il risultato inverso... Anche se personalmente avvierei un eventuale ventilazione solo oltre i 40 gradi.
Un micro Ah corrisponde semplicemente a 0,000001Ah.
Hai poi risolto i problemi che avevi?


Taglio il 14/12/2016, 8:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
si lo scopo sarebbe quello di raffreddare le batterie, per questo pensavo di monitorare anche la temperatura esterna, per ottenere beneficio e non aumentarla. Eventualmente valuto quest'estate.
Ti chiedevo il discorso micro amp perché nell'if farei comparare gli Ah_prodotti > 2*10^6 (2ah) accendo anche le luci secondarie

Per il problema del conteggio che si replicava, risolto ora funziona perfettamente, era come mi hai indicato quell'uguale mancante sulla parte rn che non avevo visto 

qui c'è nebbia ormai da un mese, pochissimi ah prodotti anche dai pannelli CdTe.





sponn il 11/1/2017, 13:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
prego
come regolare il programma visualizza temperatura negativa
grazie


Taglio il 8/5/2017, 8:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
ciao a tutti, in queste settimane sto cercando di far gestire i carichi (luci giardino) ad arduino con questo codice:void controlloPinPrimarie()
{
  if((tensione_pannello < 5.0) && (tensione_batteria >= 24.6))
  {
    digitalWrite(pin_luciPrimarie, LOW); // accende le luci primarie logica invertita per relè
  }
  else if((tensione_pannello > 10.0) || (tensione_batteria < 24.5))
  {
    digitalWrite(pin_luciPrimarie, HIGH); // spegne le luci primarie logica invertita per relè
  }
}


si comporta in modo anomalo, ovvero il pin cambia stato solo quando la tensione del pannello arriva a 0,00, sostanzialmente non a tensione inferiore di 5v (cambia stato a buio pesto o aprendo i fusibili della stringa).
ho fatto varie prove, 5 5.0 5,0 5.00 5,00 ma in tutti i casi solo a 0v.
Avete qualche consiglio, spiegazione o idea per aggirare il problema?
Con la temperatura invece non ho riscontrato problemi, la soglia comanda egregiamente la ventilazione.
grazie




lemax74 il 8/5/2017, 10:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Hai provato con <= o >=?

danye il 8/5/2017, 22:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
Taglio :
ciao a tutti, in queste settimane sto cercando di far gestire i carichi (luci giardino) ad arduino con questo codice:void controlloPinPrimarie()
{
  if((tensione_pannello < 5.0) && (tensione_batteria >= 24.6))
  {
    digitalWrite(pin_luciPrimarie, LOW); // accende le luci primarie logica invertita per relè
  }
  else if((tensione_pannello > 10.0) || (tensione_batteria < 24.5))
  {
    digitalWrite(pin_luciPrimarie, HIGH); // spegne le luci primarie logica invertita per relè
  }
}


si comporta in modo anomalo, ovvero il pin cambia stato solo quando la tensione del pannello arriva a 0,00, sostanzialmente non a tensione inferiore di 5v (cambia stato a buio pesto o aprendo i fusibili della stringa).
ho fatto varie prove, 5 5.0 5,0 5.00 5,00 ma in tutti i casi solo a 0v.
Avete qualche consiglio, spiegazione o idea per aggirare il problema?
Con la temperatura invece non ho riscontrato problemi, la soglia comanda egregiamente la ventilazione.
grazie



Tutti i valori  tranne appunto la temperatura sono moltiplicati x 100. Quindi ad esempio 5.0 diventa 500 e 24.6 diventa 2460!
Ciao ;)

Taglio il 9/5/2017, 7:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
ciao Danye, tra innumerevoli tentativi avevo provato anche i valori moltiplicati per cento (mi ero letto i comandi modbus), ma lo stato del pin cambiava comunque a 0,00v...forse tra le prove avevo cambiato troppi parametri..

il fine settimana scorso ho aggiunto anche la lettura dello stato giorno/notte direttamente dal regolatore:
//giorno notte
      Serial.write(0x01);
      Serial.write(0x02);
      Serial.write(0x20);
      Serial.write(0x0C);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x72);
      Serial.write(0x09);
      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        giorno_notte = (data[3] << 8) | data[4];
       
      }


dovrebbe restituire 0= giorno e 1=notte

Ti ringrazio per i consigli, in questi giorni riprovo con calma.



danye il 9/5/2017, 11:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
Bello bello!
Facci sapere... ;)

Ghiblix il 25/5/2017, 12:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao a tutti, ho finito di installare il mio impianto FV con 2panelli autocostruiti da 36celle collegati in serie (a breve diventeranno 4) regolatore 4210RN usato, inverter 3000w onda pure e batteria da 24v 150ah di un muletto. Sta funzionando tutto abbastanza bene, purtroppo ancora la corrente di carica è bassa sui 7Ah, ma appena aggiungo gli altri 2 dovrei essere apposto.
Ho collegato al regolatore il modulo ESP8266 e creato il db su altarvista (ghiblix.altervista.org) per controllare il funzionamento, ma ho dei picchi strani ogni tanto di corrente consumata dell'inverter,  attualmente è solo acceso, alimenta solamente un piccolo alimentatore per i 3v3  dell'ESP.  Come mai succede? L'inverter a volte assorbe parecchi anche senza carico?  Oppure è solo un falso allarme?
Grazie e attendo info dai voi esperti 

Ghiblix il 25/5/2017, 13:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allego anche uno screen shot del pannello nel momento del problema

Allegati:
Screenshot_20170525-122435.png

Ghiblix il 25/5/2017, 13:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Questo è il grafico del carico....

Allegati:
Screenshot_20170525-133903.png

danye il 25/5/2017, 21:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ghiblix :
Allego anche uno screen shot del pannello nel momento del problema


Ciao! Quanto dura in genere questo assorbimento anomalo??

Ghiblix il 26/5/2017, 9:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allora ieri sera ho fatto dei controlli più approfonditi, ho collegato il monitor mt-5  e ho notato che anche con quello da valori errati, quindi credo che sia proprio il regolatore che scrive cavolate.
Ho controllato anche il dbase sul sito altervista e anche li ogni 2-3  minuti si vedono questi valori strani.
Premetto che c'è solo una lampadina collegata.

Guardando per qualche minuto il pannello (ghiblix.altervista.org) online si nota anche li questi sbalzi.
Mah, mistero!!!

danye il 26/5/2017, 17:01
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ghiblix :
Allora ieri sera ho fatto dei controlli più approfonditi, ho collegato il monitor mt-5  e ho notato che anche con quello da valori errati, quindi credo che sia proprio il regolatore che scrive cavolate.
Ho controllato anche il dbase sul sito altervista e anche li ogni 2-3  minuti si vedono questi valori strani.
Premetto che c'è solo una lampadina collegata.

Guardando per qualche minuto il pannello (ghiblix.altervista.org) online si nota anche li questi sbalzi.
Mah, mistero!!!


Se ne hai la possibilità misura con un amperometro l'uscita del regolatrore.

Ghiblix il 28/5/2017, 13:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ieri ho misurato con un amperometro all'ingresso dell'inverter, ma non ci sono variazioni così evidenti. >

Taglio il 9/6/2017, 13:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao Ghiblix, se può confortarti, anche nel mio impianto ho notato i medesimi assorbimenti. Come inverter di prova io utilizzo un ups da 600VA dove ho rimosso le batterie interne e saltuariamente collego le batterie del FV.
Anche senza carico lato 230v, ho picchi di 300-400w e poi 0. Non ci ho dato molto peso perché non utilizzo l'energia prodotta a 230, ho ipotizzato, forse erroneamente che siano i condensatori interni all'UPS o qualche sporcizia elettromagnetica.


sonosempreio il 16/8/2017, 0:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Per l'alimentazione di arduino non usare assolutamente i 5V del regolatore, ma usa uno stepdown collegato come dai schemi al primo post! ;)



Ciao danye,
ho un regolatore LS3024B e vorrei provare a realizzare il monitoraggio come da tuo progetto.
Ho visto che dalla porta com escono 7,5 volt.
Perchè sconsigli di usare l'alimentazione della porta com del regolatore?

Vorrei utilizzare o un Wemos d1 mini(esp8266) che accetta in input 5 volt oppure un nodemcu(esp8266) che in input accetta 5-9 volt.

Se l'alimentazione in uscita dalla porta com fosse abbastanza stabile il nodemcu sarebbe la soluzione migliore perchè eviterebbe di utilizzare il dc-dc stepdown.



danye il 16/8/2017, 9:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
sonosempreio :
danye :
Per l'alimentazione di arduino non usare assolutamente i 5V del regolatore, ma usa uno stepdown collegato come dai schemi al primo post! ;)



Ciao danye,
ho un regolatore LS3024B e vorrei provare a realizzare il monitoraggio come da tuo progetto.
Ho visto che dalla porta com escono 7,5 volt.
Perchè sconsigli di usare l'alimentazione della porta com del regolatore?

Vorrei utilizzare o un Wemos d1 mini(esp8266) che accetta in input 5 volt oppure un nodemcu(esp8266) che in input accetta 5-9 volt.

Se l'alimentazione in uscita dalla porta com fosse abbastanza stabile il nodemcu sarebbe la soluzione migliore perchè eviterebbe di utilizzare il dc-dc stepdown.



Lo sconsiglio perché non abbiamo nessun riscontro alimentando arduino + ethernet shield direttamente
dalla porta, il timore è che le due schede insieme possano assorbire troppa corrente. Invece se vuoi usare un esp la corrente è minore e puoi farlo tranquillamente.
Fai sapere.  ;)

David il 20/9/2017, 10:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buongiorno a tutti .....se può essere di aiuto ho testato con successo questo modello di convertitore rs485 to ttl

http://www.ebay.it/itm/5271-1-%C3%A0-5pcs-UART-TTL-to-RS485-Two-way-Converter-convertisseur-TTL-vers-RS485/142457052180?ssPageName=STRK%3AMEBIDX%3AIT&var=441457990192&_trksid=p2060353.m2749.l2649

il precedente modulo causa fulmine e' passato a miglior vita insieme al regolatore MPPT ( almeno presumo visto il "buco" sul microprocessore ).
Nota positiva sono passato al modello da 20 ampere



ElettroshockNow il 20/9/2017, 15:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ogni volta che vengo a curiosare in questa discussione resto sempre a bocca aperta....
Bravissimi 

David il 3/10/2017, 10:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
non riesco a capire questo : come e' possibile che la corrente prelevata dalla batteria sia doppia rispetto a quella erogata sul carico ?

Allegati:
Immagine3.png

Immagine1_002.png

Immagine10.png

danye il 3/10/2017, 19:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se mi posti il codice caricato su arduino o esp8266 appena posso vedo se c'è qualcosa che non va.  ;)

ElettroshockNow il 4/10/2017, 14:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Perfettamente il doppio  ...
Se non è un errore bisogna studiare la curiosa anomalia

David il 5/10/2017, 8:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao Danye,

scusami se ti rispondo solo oggi ma volevo provare a modificare qualche settaggio nei files sul sito web ...
Allora in "settaggi.php" ho impostato correttamente la dicitura bn per quanto riguarda il regolatore utlizzato :

$tipo_regolatore="bn"; //indicare esclusivamente se il regolatore è serie rn oppure bn

mentre nel file arduino.php ho modificato questa parte :

<?php
include("../settaggi.php");
//controllo se sono presenti i parametri valore e localita
if(isset($_GET["psw"]))
{            
             $connessione = @mysql_connect("localhost", $nome_database)      or die("Connessione non riuscita: " . mysql_error());
           mysql_select_db($nome_database, $connessione) or die("Errore selezione database: " . mysql_error());      
           
     if($_GET["psw"] == $psw){            
           $tensione_pannello = $_GET["tensione_pannello"] / 100;
           //if($tipo_regolatore=="bn")
           //{
           //$corrente_pannello = $_GET["corrente_pannello"] / 100; //per regolatore serie bn
           //}

           $tensione_batteria = $_GET["tensione_batteria"] / 100;
           $corrente_batteria = $_GET["corrente_batteria"] / 100;


questa sera verifico se le modifiche hanno avuto effetto.

Controllando nel database ho verificato che  i valori della corrente prelevata dalla batteria sono corretti, quindi mi sembra che sia qualcosa nei file del sito web.

danye il 7/10/2017, 11:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Allora, se il tuo è un regolatore serie "BN" lo devi indicare in settaggi.php come hai fatto, in arduino.php invece non devi toccare nulla.

emuland2 il 25/12/2017, 16:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
questo software funziona anche con i tracer serie a?

tipo 2210a?

Taglio il 15/1/2018, 11:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao a tutti, con la mia configurazione, regolatore BN, convertitore 485 e arduino uno con dc-dc alimentato come carico, ho notato che collegando la GND (pin 7-8) dell'RJ45 del regolatore a GND del convertitore 485/232, l'assorbimento del sistema di monitoraggio non veniva letto e spegnendo il carico dal regolatore, l'arduino rimaneva acceso.
Ieri ho fatto una prova, scollegando la massa tra regolatore e convertitore (non dovrebbe far danni, quindi rimane solo la linea differenziale A-B), viene letto correttamente l'assorbimento del sistema di monitoraggio (100mA) e lo spegnimento del carico funziona. Mi viene da pensare che tra regolatore, convertitore e arduino transiti corrente sulla massa comune.


lucasky il 25/2/2018, 10:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve, ho realizzato tale progetto, e tutto sembra funzionare al primo colpo... Ho dei chiarimenti da chiedere:
1: Nello sketch finale (nel primo post) per il reset di Arduino non c'è una variabile che invoca il $reset  nella pagina arduino.php

void httpRequest() {
  client.stop();
  if (client.connect(server, 80)) {
    String strURL = "GET /fotovoltaico/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();
  }
}

.......Pagina arduino.php.......
$ah_prodotti = $_GET["ah_prodotti"];
$reset_shield = $_GET["reset_shield"];
if($tipo_regolatore=="rn")
.........ecc......

forse lo sketch è stato aggiornato e modificato, ma la pagina no?

2: Se volessi aumentare la temporizzazione del ciclo di lettura di Arduino da 5sec a 60sec quale valore nello skethc dovrei modificare (Non sono molto esperto di programmazione c++  )

3: Ho collegato il led al pin 5 per la lettura dello stato di funzionamento. Bene i due lampeggi veloci se non dialoga con il regolatore, ma quando funziona regolare fa 3 lampeggi anzichè uno come dovrebbe. Se stacco il cavo LAN per simulare la mancata risposta dal server il led lampeggia nello stesso modo di quando va tutto bene. Seve aggiustare qualche riga di codice?

Garzie a tutti per lo splendido progetto, attendo risposte.

lucasky il 25/2/2018, 10:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
[color=#0033cc]@ emuland2

Ho realizzato il mio progetto proprio con Epsolar 2210A e tutto funziona alla grande.

danye il 25/2/2018, 16:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
Salve, ho realizzato tale progetto, e tutto sembra funzionare al primo colpo... Ho dei chiarimenti da chiedere:
1: Nello sketch finale (nel primo post) per il reset di Arduino non c'è una variabile che invoca il $reset  nella pagina arduino.php

void httpRequest() {
  client.stop();
  if (client.connect(server, 80)) {
    String strURL = "GET /fotovoltaico/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();
  }
}

.......Pagina arduino.php.......
$ah_prodotti = $_GET["ah_prodotti"];
$reset_shield = $_GET["reset_shield"];
if($tipo_regolatore=="rn")
.........ecc......

forse lo sketch è stato aggiornato e modificato, ma la pagina no?

2: Se volessi aumentare la temporizzazione del ciclo di lettura di Arduino da 5sec a 60sec quale valore nello skethc dovrei modificare (Non sono molto esperto di programmazione c++  )

3: Ho collegato il led al pin 5 per la lettura dello stato di funzionamento. Bene i due lampeggi veloci se non dialoga con il regolatore, ma quando funziona regolare fa 3 lampeggi anzichè uno come dovrebbe. Se stacco il cavo LAN per simulare la mancata risposta dal server il led lampeggia nello stesso modo di quando va tutto bene. Seve aggiustare qualche riga di codice?

Garzie a tutti per lo splendido progetto, attendo risposte.


1)Il reset è stato tolto perchè inutile.
2)Devi modificare questa riga nel codice const int postingInterval = 3500;
3)Strano...

lucasky il 27/2/2018, 12:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Avevo intuito che il reset era stato tolto. Però nel codice PHP c'è ancora, anche se non viene invocato da Arduino. Per Gli Ah consumati giorno, mese, anno, ci pensa la pagina PHP e il database? Arduino si occupa solamente di inviare i dati letti...

Per la riga const int postingInterval = 3500;
avevo intuito, ma 3500 non sono millisecondi? L'aggiornamento dovrebbe essere 5Sec quindi 5000... no?



danye il 27/2/2018, 15:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
In realtà ci mette 5 secondi che è il minimo, prova ad aumentare il valore a quello che ti serve. Si sono millisecondi

Il calcolo degli ah lo fa arduino:


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;


lucasky il 27/2/2018, 17:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
Quindi nel database la tabella parametri non serve più perchè era relativa al reset. Giusto?

Ok provo ad aumentare i tempi di lettura.

Grazie



lucasky il 27/2/2018, 17:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Progetto comunque bello e utile. Unica pecca, se posso fare una critica, è che nel caso arduino si bloccasse, o la connessione internet non funzionasse, insomma qualsiasi problema succeda tale che il database non riceva più dati da arduino, la pagina Web restituisce sempre l'ultimo valore letto nel database come se tutto fosse operativo. Suggerirei di inserire la lettura del timestamp dell'ultima riga del database e visuallizzarla sulla pagina Web, in modo tale da poter vedere la data e l'ora dell'ultimo valore letto. In questo caso è subito intuibile se qualcosa non va, visto che le letture avvengono ogni 5sec.

emuland2 il 28/2/2018, 10:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
[color=#0033cc]@ emuland2

Ho realizzato il mio progetto proprio con Epsolar 2210A e tutto funziona alla grande.




Come hai configurato il tutto?? Cioè cavo di rete + arduino + TTL+ alimentatore switching??

come hai fatto i collegamenti?(schema in prima pagina?)

Io tra l'altro ne ho due, riuscirei a fare 2 controlli con lo stesso arduino, cambiando i pin?

lucasky il 28/2/2018, 16:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho fatto i collegamenti dello schema sulla prima pagina relativo a Arduino. Non credo che riusciresti a fare tutto con un solo Arduino. Puoi farlo con 2 tanto costano poco e mettendo indirizzi IP differenti

emuland2 il 28/2/2018, 17:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
Ho fatto i collegamenti dello schema sulla prima pagina relativo a Arduino. Non credo che riusciresti a fare tutto con un solo Arduino. Puoi farlo con 2 tanto costano poco e mettendo indirizzi IP differenti




quindi non hai acquistato nessun ttl rs 232/485?

se riesco allora provo pure io.

il software di base della casa è molto bello, ma non salva assolutamente nulla (cosa che invece vorrei fare)
(di arduino con scheda di rete a disposizione ne ho 4 a far nulla)

farò delle prove e poi vedo che ne risulta...

Grazie...

sponn il 1/3/2018, 11:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
Progetto comunque bello e utile. Unica pecca, se posso fare una critica, è che nel caso arduino si bloccasse, o la connessione internet non funzionasse, insomma qualsiasi problema succeda tale che il database non riceva più dati da arduino, la pagina Web restituisce sempre l'ultimo valore letto nel database come se tutto fosse operativo. Suggerirei di inserire la lettura del timestamp dell'ultima riga del database e visuallizzarla sulla pagina Web, in modo tale da poter vedere la data e l'ora dell'ultimo valore letto. In questo caso è subito intuibile se qualcosa non va, visto che le letture avvengono ogni 5sec.



I also think that adding time to the Web. page would be very useful. In case of Internet outages, display values often do not make sense.

Gigi600 il 1/3/2018, 13:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Metto al corrente che in questi giorni un ESP 8266 ha lavorato dai -10 °C ai -14.7 °C
Ho notato che sui -12 °C a scendere inizia ad avere problemi di lavoro di invio dati .
Probabilmente i componenti hanno il suo limite di lavoro 
Tutto ritorna normale quando la temperatura rientra sotto i - 12 °C 
Tutto Ok dopo due anni  Grazie a Danye
http://solaresacile.altervista.org/

emuland2 il 2/3/2018, 15:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
non è che a -14 le batterie invece che fornire alimentazione a sufficienza, erano sotto XX volt di funzionamento dell'esp?

Gigi600 il 2/3/2018, 17:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
No assolutamente perché le altre apparecchiature funzionano /funzionavano 2 webcam , una stazione meteo , due router e ponte radio wifi   ;)
http://sacilemeteo.altervista.org/fos/webcam.html

Il bello che da ieri per la prima volta si è bloccato 
Forse si è solo sconnesso ma preparo un esp8266 riprogrammato e lo sostituisco .
Lo sapevo che non dovevo scrivere  Ora Mi tocca andar su a 1460 MT farmi  due ore con la neve 

danye il 2/3/2018, 20:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
No assolutamente perché le altre apparecchiature funzionano /funzionavano 2 webcam , una stazione meteo , due router e ponte radio wifi   ;)
http://sacilemeteo.altervista.org/fos/webcam.html

Il bello che da ieri per la prima volta si è bloccato 
Forse si è solo sconnesso ma preparo un esp8266 riprogrammato e lo sostituisco .
Lo sapevo che non dovevo scrivere  Ora Mi tocca andar su a 1460 MT farmi  due ore con la neve 


Facci sapere! ;)

emuland2 il 2/3/2018, 20:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Oggi ho caricato lo sketch sub Arduino e creati accoiunt altervista per provare.

Sulla serie al leggo un sacco di ???????

Pero se ci butto un serial sprint. Almeno scrive qualcosa.

Devi collegarlo al regolatore, domenica vedo di crimpare il terminale

Gigi600 il 3/3/2018, 18:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Bene tutto OK ho staccato e riattaccato l'esp8266 e ripartito probabilmente il freddo ha mandato in tilt l'esp8266  ;)
Per precauzione lo ho sostituito con uno nuovo già programmato 
 

Allegati:
esp2_001.jpg

lucasky il 3/3/2018, 23:50
Re: Monitoraggio regolatori Ep Solar tracer dal web
Con Arduino e Epsolar 2210A, devi utilizzare il convertitore RS485/Rs232

Gigi600 il 4/3/2018, 0:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non conosco il 2210A ma sembra uguale alla serie BN .
Se il protocollo è uguale SI serve il convertitore RS485 a RS232
Da un mese circa  ho rimesso in funzione il monitoraggio , si era guastato il ripetitore wifi .
http://gigi600.altervista.org/index.php
Un impianto da Mia Madre gestisce 3 luci a led giardino , ho solo due batterie da 70 Ah .
In malga invece 2 batterie da autocarro da 220 ah e una da 170 Ah usate.




Allegati:
esp3_001.jpg

emuland2 il 4/3/2018, 11:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma senza il convertitore arduinonsulla seriale dovrebbe buttare qualcosa no?.#se forzo dei print la seriale rimane bianca..

Gigi600 il 4/3/2018, 11:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aruino/esp8266 invia una serie di richieste nel protocollo rs232 ma non dialoga con con la serie BN perchè usa rs485.
Quindi serve un convertitore .
Anche Io all'inizio ci speravo ma con Danye abbiamo fatto moltissime prove e la soluzione è RS232 > RS 485

https://www.ebay.it/itm/Single-Chip-Microcomputer-TTL-Turn-RS485-Modul-Automatic-Flow-Control-New/272459024509?hash=item3f6fd2c87d:g:Zp8AAOSwux5YNFW2

Allegati:
s-l1600_001.jpg

emuland2 il 4/3/2018, 13:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Il codice da usare é quello.di pagina 1 con allegato il file del DB e del webserver?

A questo punto ordino il convertitore

Gigi600 il 4/3/2018, 14:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si a pagina uno Mi sembra che Danye abbia aggiornato dopo il Mio test con il BN.
E' passato diverso tempo e a memoria non ricordo.
Ora NON lo so se il Tuo abbia lo stesso protocollo , sembra di si.
Ma sai finché non si prova la sicurezza al 100 % non si ha 

Edit:

Cercando in internet un altro progetto usano lo stesso convertitore e sembra compatibile tracer-2210a


LINK



emuland2 il 4/3/2018, 21:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
https://m.ebay.it/itm/5pcs-MAX485-Module-RS-485-TTL-to-RS485-MAX485CSA-Converter-Module-for-Arduino/322525074523?hash=item4b17fe145b:g:GNgAAOSwaeRZIrvE

Questo va bene?

Gigi600 il 5/3/2018, 7:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non va bene.
Quello che ho postato Io va bene .


emuland2 il 5/3/2018, 8:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
A me serve in Europa

Gigi600 il 5/3/2018, 10:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
Europa
Questo costa meno "ovrebbe" essere uguale ma non ne sono sicuro.
LINK

Questo è uguale ai Miei

LINK

LINK

Edit:
Trovato su amazon

LINK

Allegati:
20180305_101903.jpg

emuland2 il 5/3/2018, 12:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
se il pro prietario del codice me lo consente, una volta che l' ho provato a dovere, se ho tempo vorrei integrarlo in domoticz

ordinato su Amazon per fare prima.

ora vediamo se uno dei 4 Arduino nel cassetto funziona

danye il 5/3/2018, 20:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
se il pro prietario del codice me lo consente, una volta che l' ho provato a dovere, se ho tempo vorrei integrarlo in domoticz


Sentiti libero di farlo! ;)

saviothecnic il 8/3/2018, 10:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Domanda dato che sto facendo oltre al isola per la Postazione Meteo
dove ho un Tracer1215BN abbinato ad un pannello da 100W

Anche un impianto per casa quindi dovro ovviamente usare un regolatore più grande
o anche piu di loro in parallelo

Vi chiedo va bene questo modello per questa supervisione Web IT6415ND ?
In caso gli collego in parallelo come funziona per la supervisione ?

Per la postazione meteo la parte web ho gia messa su
i moduli arduino devo cablarli ma ho tutto HW in casa
LINK

Ho il dubbio perche Inizio topic parla della Serie RN e BN e questa è ND
pero noto che ha sempre la porta RS-232 e 485
in caso va bene quale sarebbe lo schema di cablaggio usando esp8266 ?
anche su questo serve il modulo convertitore TTL 485 ?

Grazie

lucasky il 8/3/2018, 18:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Avrei bisogno di un aiutino per modificare due righe di C++. Oltre al controllo del regolatore, vorrei che arduino leggesse anche degli ingressi analogici per poi inviare il risultato anche nel valore tra 0 e 1023 alla pagina php (modificherò poi io la pagina arduino.php che riceve la stringa). Dove inserisco il codice  int sensorValue = analogRead(A0); per poi inviarlo tramite stringa ...&valore_letto=... da aggiungere al resto che già invia. Grazie a chi mi aiuta

emuland2 il 11/3/2018, 12:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Mi sta venendo.un dobbio sul codice de.pagina uno.

4 Arduino su 4 bloccati dopo averlo programmati. Nulla in uscita a seriale(ho fatto alcuni print per.debug)

E difficoltà a riprogrammare.l Arduino con altri firmware funzionanti.

Dopo un po di tentativi riesco a riprogrammare con altri firmware, ma questo mi inchioda l Arduino..


emuland2 il 11/3/2018, 14:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
qualche buon uomo con il tracerA mi linkerebbe il codice?

io ho collegato e saldato tutto (ho visto che in uscita il mio regolatore su vcc da 5 volt non 7,5)


ma di aggiornare la pagina non se ne parla.


l'arduino dopo mille caricamenti ora è in rete ed è pingabile...

non capisco cosa stia sbaglaindo

saviothecnic il 12/3/2018, 8:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Il sistema è testato sia con arduino sia con esp8266-01, per entrambi i tipi di regolatore.Buon lavoro a tutti! ;)

Ma questi Link alla seconda pagina del topic sono le ultime versioni ?

Sai se posso usarlo anche su i regolatori ET4415BND o IT3415ND ?
Chiedo perche prima di comprargli vorrei conferma se è compatibile
con questa supervisione che mi piace molto

Mi è arrivato il moduloESP8266-01 ma non ricordo piu come si ci carica il codice dentro :O

La parte WEB ho già fatta e spero sia funzionale LINK

Grazie

danye il 12/3/2018, 17:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
saviothecnic :
danye :
Il sistema è testato sia con arduino sia con esp8266-01, per entrambi i tipi di regolatore.Buon lavoro a tutti! ;)

Ma questi Link alla seconda pagina del topic sono le ultime versioni ?

Sai se posso usarlo anche su i regolatori ET4415BND o IT3415ND ?
Chiedo perche prima di comprargli vorrei conferma se è compatibile
con questa supervisione che mi piace molto

Mi è arrivato il moduloESP8266-01 ma non ricordo piu come si ci carica il codice dentro :O

La parte WEB ho già fatta e spero sia funzionale LINK

Grazie


Si

Non abbiamo fatto test su quei regolatori, saresti il primo!  ;)

Segui questa guida LINK

Gigi600 il 12/3/2018, 17:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
saviothecnic :


Sai se posso usarlo anche su i regolatori ET4415BND o IT3415ND ?

Mi è arrivato il moduloESP8266-01 ma non ricordo piu come si ci carica il codice dentro

Grazie



Sembra uguale alla serie BN ma non lo so se funziona sui ET4415BND o IT3415ND  .  ;)

Qui c'è il link aggiornato
LINK


emuland2 il 12/3/2018, 20:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
il modulo TTL accende il led rosso TX, ma non ho mai visto accendersi RX. può essere li il problema?
nessuno con il tracer A può postare il suo codice?
solo per verificare dove sto sbagliando...

domoticz aspetta il mio contributo...
(recentemente gli ho fatto leggere dei microinverter enphase è un froniusprimo, se riuscissi anche con questi regolatori sarebbe carinissimo)



Gigi600 il 12/3/2018, 21:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
il modulo TTL accende il led rosso TX, ma non ho mai visto accendersi RX. può essere li il problema?
nessuno con il tracer A può postare il suo codice?
solo per verificare dove sto sbagliando...

domoticz aspetta il mio contributo...
(recentemente gli ho fatto leggere dei microinverter enphase è un froniusprimo, se riuscissi anche con questi regolatori sarebbe carinissimo)




Non ricordo Su arduino ma con l'esp8266 fa 5 lampeggi veloci ogni 8 -9  secondi circa .
I codici sono all'inizio pagina .
Ora per rinfrescarmi la memoria dovrei riprogrammare un arduino e provare con un regolatore . Vedrò domani se ho tempo .


emuland2 il 12/3/2018, 21:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
solo il TX?

comunque ho sniffato il traffico di rete e nonostante.sia configurato correttamente l Arduino non riceve/fa interrogazioni alla rete



Gigi600 il 12/3/2018, 21:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Controlla i parametri , poi ovviamente se arduino non dialoga con il tracer  non invia nulla 

IPAddress ip(192, 168, 178, 40);//indirizzo ip da assegnare ad arduino
char server[] = "gigi600.altervista.org";//indirizzo del server web
int unsigned long  capacita_batteria = 210; //indica la capacit� della batteria in carica in Ah
const int psw = XXXX; //password per l'aggiornamento dati server web
const int psw2 = XXXX; // password valida per ottenere la sincronizzazione di arduino con gli Ah del giorno salvati per regolatore
const char* regolatore = "bn"; //bn=regolatori serie BN ---- br=regolatori serie RN
//-------------------------- Fine settaggi      


emuland2 :
solo il TX?

comunque ho sniffato il traffico di rete e nonostante.sia configurato correttamente l Arduino non riceve/fa interrogazioni alla rete





emuland2 il 13/3/2018, 9:20
Re: Monitoraggio regolatori Ep Solar tracer dal web

verifico il codice ma mi pare corretto.

Vorrei capire se non è un problema di saldatura a questo punto.

Cioè il TX del TTL to 485 è verso il regolatore?

mentre RX è la risposta del regolatore stesso?

Appena posso riguardo pure il cablaggio del RJ45.

unico dubbio che ho è il fatto che il tracer A abbia VCC 5v e non 7,5V.

Se hai tempo puoi misurarmi sul A / B del TTL se vedi tensione?
( se si quanti V)
Grazie

Gigi600 il 13/3/2018, 10:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
La tensione 5 volt in uscita dal regolatore  non è un problema serve solo per alimentare il TTL e  ESP8266   ma poltrebbe essere alimentatao in altro modo.
Io ho prelevato la corrente dal regolatore per comodità

A e B  hanno una tensione di 0,28 volt oscilla
I due led del TTL lampeggiano contemporaneamente di Tx e RX per 5 volte ogni 6 secondi circa

emuland2 :

verifico il codice ma mi pare corretto.

Vorrei capire se non è un problema di saldatura a questo punto.

Cioè il TX del TTL to 485 è verso il regolatore?

mentre RX è la risposta del regolatore stesso?

Appena posso riguardo pure il cablaggio del RJ45.

unico dubbio che ho è il fatto che il tracer A abbia VCC 5v e non 7,5V.

Se hai tempo puoi misurarmi sul A / B del TTL se vedi tensione?
( se si quanti V)
Grazie




emuland2 il 13/3/2018, 10:36
Re: Monitoraggio regolatori Ep Solar tracer dal web
perfetto, allora rifaccio i collegamenti verso il regolatore.

sul db è riuscito a scrivere 1 valore ieri sera... tutti zero... quindi la connessione al db c'è. non c'è la comunicazione col regolatore...

vediamo

Gigi600 il 13/3/2018, 10:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho fatto un ulteriore test su un nuovo serve per non "incasinare " i due che ho e funziona  ;)
Ti allego una foto per capire oltre che lo schema come lo ho fatto

Allegati:
20180313_095725.jpg

emuland2 il 13/3/2018, 12:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
cos'è quell attrezzo vicino al ttl? regolatore di tensione?

il cablaggio è come il mio., tranne il ground che l ho preso dall'altro lato. detto questo devo riguardare i cavi usati, sul A - B del TTL.

forse ho sbaglaito li

Gigi600 il 13/3/2018, 13:36
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si regolatore di tensione .
Ho fatto a blocchi da poter fare prove sia con arduino che con l'esp8266.

Mi sono accorto che ci sono degli errori nella compilazione dello  scketch 

Danye Ah e ah non so se Ti ricordi 

Poi c'è un altro errore nello  scketch nel calcolo consumo per la serie   BN in arduino  ;)

Se riesco lo modifico Io altrimenti chiedo aiuto a Danye 

Mentre nel ESP 8266 è ok

Allegati:
arduino_002.jpg

emuland2 il 13/3/2018, 15:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciep dici che c'è un errore nella maiuscola?

stasera se riesco provo solo quello.

Gigi600 il 13/3/2018, 16:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si . Ma serve solo nel recupero Ah consumati e prodotti .
Se con la maiuscola non recupera i dati perchè nel database è ah non Ah .
Me ne sono accorto ora e solo per arduino .
Probabilmente in tutti i copia e incolla è stato riportato questo errore iniziale  ;)
Poi c'è anche un altra cosa che sto testando che vedo che c'è differenza tra esp 8266 e arduino .
Probabilmente è una delle ultime modifiche apportate all'esp forse che ho fatto io  ( che non compare nella prima pagina ) NON ricordo. 

nel Mio ho

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")
  {
    lettura_ah_prodotti = (((float)corrente_batteria + (float)corrente_carico) / 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;
}


Prima pagina

  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()



Allegati:
ard1.jpg

emuland2 il 13/3/2018, 20:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
fatte due modifiche al software. ho rifatto saldatura, di fretta... ora non si accende più TX... devo fare con più calma...

Gigi600 il 14/3/2018, 9:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Finito il test con Arduino e BN
Modificato da Ah a ah e calcolo consumo
Non dovrei aver toccato nulla per la serie RN

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};

//------------------------- Settaggi
IPAddress ip(192, 168, 178, 40);//indirizzo ip da assegnare ad arduino
char server[] = "solare.altervista.org";//indirizzo del server web
int unsigned long  capacita_batteria = 210; //indica la capacit� della batteria in carica in ah
const int psw = 1234; //password per l'aggiornamento dati server web
const int psw2 = 5678; // password valida per ottenere la sincronizzazione di arduino con gli ah del giorno salvati per regolatore
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//-------------------------- Fine settaggi


EthernetClient client;
String strURL = "";
String strEsito = "";
int tensione_pannello;
int corrente_pannello;
int tensione_batteria;
int corrente_batteria;
int tensione_carico;
int corrente_carico;
int data_long = 0;
int data[50];
int 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 = 5; // pin di uscita dedicato al stato di segnalazione di funzionamento

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

//---------------------------
int stato = 1;

void setup()
{
  if (regolatore == "bn")
  {
    Serial.begin(115200);
  }
  else
  {
    Serial.begin(9600);
  }
  pinMode(4, OUTPUT); // disattiva il pin della SD card
  digitalWrite(4, HIGH);
  pinMode(led_pin, OUTPUT);
  Ethernet.begin(mac, ip);
  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: arduino-ethernet");
    client.println("Connection: close");
    client.println();
    delay(1000);
    rispostaServer();
  }
  else
  {
    while (true);
  }
}

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(0x10);
      Serial.write(0x00);
      Serial.write(0x01);
      Serial.write(0x3E);
      Serial.write(0xF3);
      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")
  {
    lettura_ah_prodotti = (((float)corrente_batteria + (float)corrente_carico) / 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 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);
  }
}

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("update_ok") > 0)
    {
      stato = 1;
    }
    else
    {
      stato = 3;
    }
    if (strEsito.indexOf("reset_ah") > 0)
    {
      ah_consumati = 0;
     ah_prodotti = 5000; //solo per la serie BN 5000 , per la serie RN mettere 0
    }
    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 ledStato(int st)
{

  switch (st)
  {
    case 1: // Nessun errore di funzionamento
      for (int i = 1; i <= 1; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 2: // Impossibile leggere i dati dal regolatore
      for (int i = 1; i <= 2; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 3: // Errore di comunicazone con il server remoto
      for (int i = 1; i <= 3; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;

    case 4: // Attesa reset ethernet shield
      for (int i = 1; i <= 4; i++)
      {
        digitalWrite(led_pin, HIGH);
        delay(50);
        digitalWrite(led_pin, LOW);
        delay(500);
      }
      break;
  }
  delay(1000);
}

void loop() {

  rispostaServer();

  if (millis() - lastTime >= postingInterval)
  {
    if (update() == false)
    {
      stato = 2;
      lastTime = millis();
    }
    else {
      httpRequest();
      lastTime = millis();
    }
  }
  else
  {
    ledStato(stato);
  }
}




lucasky il 14/3/2018, 14:21
Re: Monitoraggio regolatori Ep Solar tracer dal web
      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());

Se non vado errato, questa parte di codice, recupera i dati dal server interrogando la pagina arduino.php

Sulla pagina del file zip, su arduino.php, le righe che si occupano di fare questo sono:

     // Restituisce ad arduino i valori del giorno salvati di Ah
     if($_GET["psw"] == $psw2){
           $query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
           $risultato = mysql_query($query, $connessione);
           $riga = mysql_fetch_row($risultato);      
           echo "Ah_prodotti=$riga[1] Ah_consumati=$riga[2] endAh";

Come vedi sono Ah e non ah. Quindi se si modifica lo sketch, bisogna modificare anche la pagina arduino.php

Gigi600 il 14/3/2018, 16:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si
Di fatti nel Mio ho così 


// Restituisce ad arduino i valori del giorno salvati di Ah
     if($_GET["psw"] == $psw2){
           $query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
           $risultato = mysql_query($query, $connessione);
           $riga = mysql_fetch_row($risultato);      
           echo "ah_prodotti=$riga[1] ah_consumati=$riga[2] endah";


Probabilmente è un file che Mi porto dietro dall'inizio ( il Mio )  poi modificato o viceversa.
Ci vuole Danye che chiarisca 

lucasky :
      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());

Se non vado errato, questa parte di codice, recupera i dati dal server interrogando la pagina arduino.php

Sulla pagina del file zip, su arduino.php, le righe che si occupano di fare questo sono:

     // Restituisce ad arduino i valori del giorno salvati di Ah
     if($_GET["psw"] == $psw2){
           $query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
           $risultato = mysql_query($query, $connessione);
           $riga = mysql_fetch_row($risultato);      
           echo "Ah_prodotti=$riga[1] Ah_consumati=$riga[2] endAh";

Come vedi sono Ah e non ah. Quindi se si modifica lo sketch, bisogna modificare anche la pagina arduino.php




danye il 14/3/2018, 18:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
Eccomi... Avete ragione, ho modificato lo scketch arduino con "ah" in minuscolo ed il file arduino.php ;)

lucasky il 14/3/2018, 22:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho notato che avviando Arduino senza il cavo lan, la trasmissione dati si blocca. Il led di segnalazione (pin 5) non lampeggia. Ricollegando il cavo lan, rimane bloccato senza trasmettere nessun dato. Se invece si avvia con il cavo rete attaccato, tutto funziona. Una volta avviato, se si stacca e riattacca, continua a funzionare. Solo nel primo caso, per farlo ripartire, basta schiacciare il tasto di reset della ethernet shield. Sapevo di un problema di reset della scheda ethernet, sarà quello? si può risolvere?

Gigi600 il 14/3/2018, 22:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si lo fa.
Bisogna dare alimentazione a arduino con cavo lan e regolatore collegato.
Per Me la soluzione migliore è l'ESP8266 , ovviamente se si ha il WiFi  ;)
Costa un decimo e più piccolo
Sarebbe utile con arduino e ethernet shield ( visto che ha il posto SD ) , come detto in precedenza, implementare l'archivio senza connessione internet .
Una volta connesso invii i dati , ma la vedo una cosa ardua

Oppure creare una pagina php all'interno della sd che una volta digitato indirizzo IP di arduino si vedano i dati come nella pagina web 


lucasky :
Ho notato che avviando Arduino senza il cavo lan, la trasmissione dati si blocca. Il led di segnalazione (pin 5) non lampeggia. Ricollegando il cavo lan, rimane bloccato senza trasmettere nessun dato. Se invece si avvia con il cavo rete attaccato, tutto funziona. Una volta avviato, se si stacca e riattacca, continua a funzionare. Solo nel primo caso, per farlo ripartire, basta schiacciare il tasto di reset della ethernet shield. Sapevo di un problema di reset della scheda ethernet, sarà quello? si può risolvere?




emuland2 il 15/3/2018, 6:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
PHP su Arduino impossibile.
al max HTML.

Gigi600 il 15/3/2018, 8:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ogni tanto bisogna sognare e lavorare di fantasia 
Dalla fantasia a volte vengono fuori le idee 

Per Mè è stato un sogno avverato avere il monitoraggio della produzione del panello in Malga a  1460 Mt 
Questo mese sono male  > in deficit    al mattino presto  si stacca



Allegati:
marzo.jpg

emuland2 il 15/3/2018, 12:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
ma vai giù per batterie o per mancanza di carica?
Non ti conviene mettere un secondo pannello?

Ci sono degli stock in giro di amorfi a 10/15€ (se hai posto) oppure dei poli / mono usati abbastanza convenienti

lucasky il 15/3/2018, 12:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve, ho visto che sulla pagina database.php è stata inserita la riga $data = $dati[9]; per ricavare la variabile timestamp.
Probabile dopo il mio suggerimento di qualche post fa, per verificare se il sistema è in funzione, perchè visualizza sempre l'ultimo dato acquisito anche in caso di blocco. Quindi nel caso di malfunzionamento, solo dai grafici si capirebbe. Tale valore però, non è stato riportato nella pagina index.php.
Se vi interessa, sto sviluppando una webapp dove si possono leggere i dati vitali da smartphone e viene visualizzato un alert in caso di blocco del sistema. Sto implementando anche l'invio di un sms in caso di carenza batteria o blocco sistema.
Stay Tuned  ;)

Gigi600 il 15/3/2018, 16:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky se ho capito interpella l'aggiornamento dati/data e se non aggiorna invia un allert .
Sarebbe ottimo basterebbe anche una email

lucasky :
Salve, ho visto che sulla pagina database.php è stata inserita la riga $data = $dati[9]; per ricavare la variabile timestamp.
Probabile dopo il mio suggerimento di qualche post fa, per verificare se il sistema è in funzione, perchè visualizza sempre l'ultimo dato acquisito anche in caso di blocco. Quindi nel caso di malfunzionamento, solo dai grafici si capirebbe. Tale valore però, non è stato riportato nella pagina index.php.
Se vi interessa, sto sviluppando una webapp dove si possono leggere i dati vitali da smartphone e viene visualizzato un alert in caso di blocco del sistema. Sto implementando anche l'invio di un sms in caso di carenza batteria o blocco sistema.
Stay Tuned  ;)



Il panello è sufficiente nelle giornate di sole e più corte carica circa 65 Ah Estate anche 90 Ah , il consumo giornaliero è sui 35 Ah
Il problema in certe situazioni climatice  è quando il panello è coperto di neve o c'è nebbia.
Ora il problema si verifica in inverno ( Neve/nebbia ) atunno nebbia .

Ora aggiungere un panello dovrei cambiare anche il regolatore fissarlo sul tetto cosa non facile per qualche giorno di blocco e forse non risolvere il problema 
Poi il lato comico è che c'è un impianto da circa 4 Kw ( Non nostro vedi foto Il nostro è il panello in alto a dx  ) ma non funziona in inverno portano via le batterie  ;) e tra l'altro non funziona bene

emuland2 :
ma vai giù per batterie o per mancanza di carica?
Non ti conviene mettere un secondo pannello?

Ci sono degli stock in giro di amorfi a 10/15€ (se hai posto) oppure dei poli / mono usati abbastanza convenienti




Allegati:
20180303_160701.jpg

emuland2 il 15/3/2018, 19:21
Re: Monitoraggio regolatori Ep Solar tracer dal web
ho riprovato. però milampeggia sempre e solo tx non rx sul ttl.

può essere quello il problema?

edit: sono partiti una serie di misurazioni, il problema sono i cablaggi.

le misurazioni andavano anche con tensione batteria -7, per cui c'è un effettivo problema di cavi da/verso TTL.

vedo di mettere con calma mano al saldatore e ricontrollo.

ps: ho visto che registra ogni pochissimi secondi su db, forse è un po "esagerato"?

stay tuned

Gigi600 il 15/3/2018, 21:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
Fa 5 mini lampeggi appena visibili stia TX e RX molto veloci frazione di secondi tra uno e l'altro poi pausa per 5-6 secondi e poi riparte con 5 lampeggi .

Registrare su db a pochi secondi è normale i Miei lo fanno da due anni e non crea problemi.
Prova a collegare la massa invece che dalla parte di A e B dall'altra parte GND


Allegati:
schema_arduino_reg_bn_001.jpg

lucasky il 16/3/2018, 21:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky se ho capito interpella l'aggiornamento dati/data e se non aggiorna invia un allert .
Sarebbe ottimo basterebbe anche una email

lucasky :
Salve, ho visto che sulla pagina database.php è stata inserita la riga $data = $dati[9]; per ricavare la variabile timestamp.
Probabile dopo il mio suggerimento di qualche post fa, per verificare se il sistema è in funzione, perchè visualizza sempre l'ultimo dato acquisito anche in caso di blocco. Quindi nel caso di malfunzionamento, solo dai grafici si capirebbe. Tale valore però, non è stato riportato nella pagina index.php.
Se vi interessa, sto sviluppando una webapp dove si possono leggere i dati vitali da smartphone e viene visualizzato un alert in caso di blocco del sistema. Sto implementando anche l'invio di un sms in caso di carenza batteria o blocco sistema.
Stay Tuned  ;)



Il panello è sufficiente nelle giornate di sole e più corte carica circa 65 Ah Estate anche 90 Ah , il consumo giornaliero è sui 35 Ah
Il problema in certe situazioni climatice  è quando il panello è coperto di neve o c'è nebbia.
Ora il problema si verifica in inverno ( Neve/nebbia ) atunno nebbia .

Ora aggiungere un panello dovrei cambiare anche il regolatore fissarlo sul tetto cosa non facile per qualche giorno di blocco e forse non risolvere il problema 
Poi il lato comico è che c'è un impianto da circa 4 Kw ( Non nostro vedi foto Il nostro è il panello in alto a dx  ) ma non funziona in inverno portano via le batterie  ;) e tra l'altro non funziona bene

emuland2 :
ma vai giù per batterie o per mancanza di carica?
Non ti conviene mettere un secondo pannello?

Ci sono degli stock in giro di amorfi a 10/15€ (se hai posto) oppure dei poli / mono usati abbastanza convenienti





Per l'invio mail basta aggiungere qualche riga php al file arduino.php. Invocato da Arduino stesso, se i parametri non rientrano in un determinato range, invia una mail. Per sms serve un gateway sms

emuland2 il 18/3/2018, 10:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Rifatto cablaggio e saldature, ricrimpato il cavo rj45.

Ottengo solo lampeggi su tx.

prima avevo usato il cavo 3 e il cavo 5.

ora come da schema ho usato 3-4 su b
5-6 su A
7-8 su gnd.


Non va. continua solo un lsingolo lampeggio su tx e basta...

ricordo però che non so come l'altra sera aveva iniziato a lampeggiare rx.... non so cosa ho toccato... ma ora nulla


edit. ho provatyo misurare tra A e GND leggo 3,8V...

Tra B e GND leggo 0,18V.... ce qualcosa che no quadra?

Gigi600 il 18/3/2018, 11:07
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
Rifatto cablaggio e saldature, ricrimpato il cavo rj45.

Ottengo solo lampeggi su tx.

prima avevo usato il cavo 3 e il cavo 5.

ora come da schema ho usato 3-4 su b
5-6 su A
7-8 su gnd.


Non va. continua solo un lsingolo lampeggio su tx e basta...

ricordo però che non so come l'altra sera aveva iniziato a lampeggiare rx.... non so cosa ho toccato... ma ora nulla


edit. ho provatyo misurare tra A e GND leggo 3,8V...

Tra B e GND leggo 0,18V.... ce qualcosa che no quadra?




Parliamo del Tracer A lo schema connessione dati è uguale allaserie BN e LS
Quindi dubbio accantonato.  ;)

Anche perchè a lucasky funziona
lucasky :
[color=#0033cc]@ emuland2

Ho realizzato il mio progetto proprio con Epsolar 2210A e tutto funziona alla grande.





Come ripeto deve fare 5 lampeggi veloci si di tx e rx sul ttl
Penso che il collegamento lo hai fatto giusto 
L'arduino programmato giusto ?
Collegato al cavo di rete ?
Dai alimentazione a tutto insieme arduino e regolatore , per questo sfruttavo il pin 1 e 8 per prelevare alimentazione , ho messo un regolatore per sicurezza tarato a 6,0 volt.

Sicuramente c'è un errore perchè di proposito l'altro giorno per togliere ogni dubbio  ho rispolverato l'arduino per Te e configurato su un nuovo server e funziona 
Per esempio ho un TTL che funziona sulla serie  BN e NON su un LS
Lo ho sostituito nuovo e funziona sia su uno che sull'altro , forse lo ho danneggiato.
Ma perchè va sul BN e non sul LS pur avendo la stessa comunicazione ? Misteri.
Quindi possibile che sia danneggiato il TTL ne hai un altro da provare ?
Che Dirti Me lo spedisci Te lo programmo lo testo e Te lo torno rispedire .Ha! Ha! Ha! 


Allegati:
Tracer_A.jpg

lucasky il 18/3/2018, 11:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
emuland2 :
Rifatto cablaggio e saldature, ricrimpato il cavo rj45.

Ottengo solo lampeggi su tx.

prima avevo usato il cavo 3 e il cavo 5.

ora come da schema ho usato 3-4 su b
5-6 su A
7-8 su gnd.


Non va. continua solo un lsingolo lampeggio su tx e basta...

ricordo però che non so come l'altra sera aveva iniziato a lampeggiare rx.... non so cosa ho toccato... ma ora nulla


edit. ho provatyo misurare tra A e GND leggo 3,8V...

Tra B e GND leggo 0,18V.... ce qualcosa che no quadra?




Parliamo del Tracer A lo schema connessione dati è uguale allaserie BN e LS
Quindi dubbio accantonato.  ;)

Anche perchè a lucasky funziona
lucasky :
[color=#0033cc]@ emuland2

Ho realizzato il mio progetto proprio con Epsolar 2210A e tutto funziona alla grande.





Come ripeto deve fare 5 lampeggi veloci si di tx e rx sul ttl
Penso che il collegamento lo hai fatto giusto 
L'arduino programmato giusto ?
Collegato al cavo di rete ?
Dai alimentazione a tutto insieme arduino e regolatore , per questo sfruttavo il pin 1 e 8 per prelevare alimentazione , ho messo un regolatore per sicurezza tarato a 6,0 volt.

Sicuramente c'è un errore perchè di proposito l'altro giorno per togliere ogni dubbio  ho rispolverato l'arduino per Te e configurato su un nuovo server e funziona 
Per esempio ho un TTL che funziona sulla serie  BN e NON su un LS
Lo ho sostituito nuovo e funziona sia su uno che sull'altro , forse lo ho danneggiato.
Ma perchè va sul BN e non sul LS pur avendo la stessa comunicazione ? Misteri.
Quindi possibile che sia danneggiato il TTL ne hai un altro da provare ?
Che Dirti Me lo spedisci Te lo programmo lo testo e Te lo torno rispedire .Ha! Ha! Ha! 



Ma perchè hai usato un regolatore a 6V su uscita 7,5V?
Arduino ha uno stabilizzatore integrato a 5V che sopporta benissimo 7,5V

Gigi600 il 18/3/2018, 13:36
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :


Ma perchè hai usato un regolatore a 6V su uscita 7,5V?
Arduino ha uno stabilizzatore integrato a 5V che sopporta benissimo 7,5V



Si lo so si dice anche fino a 12 V , Ma non mi costa nulla un riduttore ,ne ho a decine, solo una tranquillità in più   ;)

emuland2 il 18/3/2018, 14:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
il problema non è arduino.

arduino l'altra sera aveva sparato dei dati online.

il problema è far funzionare il TTL.

quello che ho usato questa mattina è il secondo (ho 2 tracerA)

il primo l'avevo scartato pensando di averlo danneggiato.

ha fatto un po di lampeggi solo sul TX, come sempre, poi ha smesso pure quello.

Il mio più grosso dubbio è leggere 4/5 volt... sul terminale A del TTL e leggere 0.25 sul B.
qualcosa non va. il cavo è un vado di rete normale, ho già ri crimpato stamattina, ho controllato l'ordine dei pin. tutto ok.

mi sono accorto che uno dei 4 arduino non viene riconosciuto, l ho accantonato.


però di funzionare l'RX non se ne parla.


edit :

ma ci devo andare con entrambi i pin 3-4 e 5-6 su A e B del TTL?

Gigi600 il 18/3/2018, 14:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Hai una foto dettagliata di arduino ,TTl e cablaggio ?
Magari sfugge un particolare  ;)


Gigi600 il 18/3/2018, 15:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Basta uno Io ho collegato
8= Massa
6= A
4= B

Poi per facilità ho preso per alimentare arduino e TTL
Pins 1 alimentazione 7,5 volt
Pins 8 Massa



emuland2 il 18/3/2018, 15:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Hai una foto dettagliata di arduino ,TTl e cablaggio ?
Magari sfugge un particolare  ;)



vado a fare na foto.

in questo momento però ho collegato entrambi i terminali 3-4 e 5-6


emuland2 il 18/3/2018, 15:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Photo nn sono il max

Allegati:
IMG_20180318_153638_405.JPG

IMG_20180318_153538_628.JPG

IMG_20180318_153518_859.JPG

Gigi600 il 18/3/2018, 16:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si è tutto Ok , rimane la parte dove hai criptato sul RJ 45 che non si vede .
Ma presumo che sia ok .
Ma ... dove sarà l'inghippo !? 
A differenza del Mio la massa è collegata dalla parte  GDN del TX, RX e VCC .
Ho visto che la massa dalla parte di A e B e simboli cinesi ( Massa ) ha una certa resistenza verso GND

emuland2 il 18/3/2018, 19:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si è tutto Ok , rimane la parte dove hai criptato sul RJ 45 che non si vede .
Ma presumo che sia ok .
Ma ... dove sarà l'inghippo !? 
A differenza del Mio la massa è collegata dalla parte  GDN del TX, RX e VCC .
Ho visto che la massa dalla parte di A e B e simboli cinesi ( Massa ) ha una certa resistenza verso GND


farò foto anche dell' Rj45.

sehai ancora Arduino montato, mi provi tra massa è a/b quanti volt leggi?

lucasky il 19/3/2018, 22:36
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho notato che i valori caricati sul server da Arduino, sono discontinui. Nel senso che esegue 4/5 letture regolari ogni tot secondi, poi si blocca per un minuto o più, massimo due, per poi ritrasmettere di nuovo altre 4/5 letture giuste.. e così via... Niente di importante ai fini del monitoraggio, però non mi spiego il perchè... Qualcuno lo aveva mai notato?

P.S. se vi interessa ho finito l'App e se volete posso mettere i file da aggiungere sul vostro dominio così da poterla utilzzare dopo averla configurata. In realtà è una webApp che non va installata, ma solo configurata sul file settaggi.php

lucasky il 19/3/2018, 22:44
Re: Monitoraggio regolatori Ep Solar tracer dal web
Alcuni screen dell'App in funzione. Ho messo il tempo di aggiornamento del server in basso, così da rendersi conto se il sistema funziona, più con delle icone indicano se è collegato, in aggiornamento o se c'è un problema. Anche il colore delle scritte dei display cambiano in verde (se tutto ok) o rosso (problema). Tutto in Ajax quindi i dati si aggiornano in live...

Allegati:
IMG_3401.PNG

IMG_3408.PNG

IMG_3409.PNG

Gigi600 il 19/3/2018, 23:34
Re: Monitoraggio regolatori Ep Solar tracer dal web


emuland2 :
Gigi600 :
Si è tutto Ok , rimane la parte dove hai criptato sul RJ 45 che non si vede .
Ma presumo che sia ok .
Ma ... dove sarà l'inghippo !? 
A differenza del Mio la massa è collegata dalla parte  GDN del TX, RX e VCC .
Ho visto che la massa dalla parte di A e B e simboli cinesi ( Massa ) ha una certa resistenza verso GND


farò foto anche dell' Rj45.

sehai ancora Arduino montato, mi provi tra massa è a/b quanti volt leggi?



Arduino lo ho,al momento  ma mi manca il regolatore 


lucasky :
Ho notato che i valori caricati sul server da Arduino, sono discontinui. Nel senso che esegue 4/5 letture regolari ogni tot secondi, poi si blocca per un minuto o più, massimo due, per poi ritrasmettere di nuovo altre 4/5 letture giuste.. e così via... Niente di importante ai fini del monitoraggio, però non mi spiego il perchè... Qualcuno lo aveva mai notato?

P.S. se vi interessa ho finito l'App e se volete posso mettere i file da aggiungere sul vostro dominio così da poterla utilzzare dopo averla configurata. In realtà è una webApp che non va installata, ma solo configurata sul file settaggi.php




Ok metti pure che provo 


danye il 20/3/2018, 13:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
Alcuni screen dell'App in funzione. Ho messo il tempo di aggiornamento del server in basso, così da rendersi conto se il sistema funziona, più con delle icone indicano se è collegato, in aggiornamento o se c'è un problema. Anche il colore delle scritte dei display cambiano in verde (se tutto ok) o rosso (problema). Tutto in Ajax quindi i dati si aggiornano in live...


Straordinario quando ho pensato al progetto non avrei mai pensato ad uno sviluppo del genere! Grande! Se vuoi condividire i sorgenti te ne sarei grato!

lucasky il 21/3/2018, 9:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sto definendo alcuni particolari, poi li posterò. Sono file da aggiungere sul vostro server che non vanno ad interagire con quelli già in uso. Per cui avrete una versione desktop (con la grafica che già usate) e una versione mobile, ridotta ai dati essenziali, ma che vi sarà utile per monitorare la funzionalità del sistema.

lucasky il 22/3/2018, 17:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao a tutti. Spulcinado tra lo skatch Arduino, ho notato che gli Ah prodotti e consumati, vengono calcolati in base alla corrente del carico e della batteria. Così come il Soc viente interpretato in base alla capacità batteria. I regolatori BN hanno sul display il valore SOC e Kwh prodotti e consumati. Non si potrebbe leggere tali valori direttamente dalla seriale, come fa per gli altri dati ( tensione, corrente, temperatura), in modo da risultare reali e non simulati?

P.S. Applicazione terminata e testata a sufficienza. Stasera posto i file e le modalità per installarla.

Gigi600 il 22/3/2018, 20:59
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
Ciao a tutti. Spulcinado tra lo skatch Arduino, ho notato che gli Ah prodotti e consumati, vengono calcolati in base alla corrente del carico e della batteria. Così come il Soc viente interpretato in base alla capacità batteria. I regolatori BN hanno sul display il valore SOC e Kwh prodotti e consumati. Non si potrebbe leggere tali valori direttamente dalla seriale, come fa per gli altri dati ( tensione, corrente, temperatura), in modo da risultare reali e non simulati?

P.S. Applicazione terminata e testata a sufficienza. Stasera posto i file e le modalità per installarla.




Si si sapeva  ;)
E ce ne sono molti altri  ;)
Solo che si è cercato con un unico stecker di far funzionare sia la serie RN che BN e Mi sono accontentato 
Bisognerebbe metter mano e ricostruirlo di sana pianta  e modificare anche il Ph Admin nel server, il php nella cartella arduino nel server ecc.

Allegati:
BN_energy.jpg

emuland2 il 23/3/2018, 6:35
Re: Monitoraggio regolatori Ep Solar tracer dal web
io, con batterie da muletto, ho problemi di lettura soc.

cioè le mie batterie a 25,6V sono cariche 100%
per il doc sono a 30% circa...

lucasky il 23/3/2018, 14:36
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
io, con batterie da muletto, ho problemi di lettura soc.

cioè le mie batterie a 25,6V sono cariche 100%
per il doc sono a 30% circa...



Anche io mi sono accorto che il SOC non coincide con la lettura del regolatore, proprio perchè come dicevo è un valore simulato e non reale. Tieni presente che le batterie hanno una vita e a volte sembrano cariche, ma in realtà si scaricano velocemente proprio perchè usurate. In questo caso la lettura sarebbe errata perchè la capacità della batteria scende con gli anni.

lucasky il 23/3/2018, 14:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :
Ciao a tutti. Spulcinado tra lo skatch Arduino, ho notato che gli Ah prodotti e consumati, vengono calcolati in base alla corrente del carico e della batteria. Così come il Soc viente interpretato in base alla capacità batteria. I regolatori BN hanno sul display il valore SOC e Kwh prodotti e consumati. Non si potrebbe leggere tali valori direttamente dalla seriale, come fa per gli altri dati ( tensione, corrente, temperatura), in modo da risultare reali e non simulati?

P.S. Applicazione terminata e testata a sufficienza. Stasera posto i file e le modalità per installarla.




Si si sapeva  ;)
E ce ne sono molti altri  ;)
Solo che si è cercato con un unico stecker di far funzionare sia la serie RN che BN e Mi sono accontentato 
Bisognerebbe metter mano e ricostruirlo di sana pianta  e modificare anche il Ph Admin nel server, il php nella cartella arduino nel server ecc.



Non sarebbe così complicato. Io di Arduino ne so poco, però basterebbe togliere le varie righe di letture simulate e mettere le letture reali dal regolatore. Così facendo, oltre ad avere un sistema reale,non servirebbe leggere due volte il database (una per i valori salvati, una per aggiornamenti) perchè sarà il regolatore stesso a restituire i dati. Nota importante rigurda il SOC, che così interpretato, non sarà mai reale perchè la capacità della batteria, varia con il tempo e la temperatura esterna. Per quanto riguarda il PHP Admin non serve variare nulla, per arduino.php nemmeno o pochissimo, dato che già è arduino che invia i dati. Arduino.php li salva solo nel database. Attualmente il SOC sarebbe più "reale" interpretando la variazione di tensione in percentuale, tra batteria carica e batteria scarica, secondo il regolatore. Di solito tra 10,5V (sgancio carico) e 15V (sgancio pannello). Per sistemi a 24v si raddoppia.

Se qualcuno di voi si occupa della modifica dello sketch per letture del SOC e consumi direttamente dal regolatore (serie BN) io mi occupo delle pagine php e "raffiniamo" il lavoro fatto...!!  ;) ;) ;) ;)

lucasky il 23/3/2018, 15:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Questi sono i file sorgenti per l'app. Installateli nella stessa directory dove avete gli altri file. Editate il file settings.php con i vostri dati di connessione. Una volta fatto, per avere l'icona dell'app sul vostro smartphone, basta richiamare il file index.php con il browser (safari iOS - chrome Android) poi con l'apposito cursore, fare "Aggiungi a Home". Senza modificare nulla, fate aggiungi e avrete l'icona sullo schermo del telefono. Quando aprirete l'App avrà le stesse funzioni di una installata nel telefono, ma in realtà risiede nel vostro server.
Per qualsiasi suggerimento sono qui....

Allegati:
app.rar

emuland2 il 23/3/2018, 16:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
emuland2 :
io, con batterie da muletto, ho problemi di lettura soc.

cioè le mie batterie a 25,6V sono cariche 100%
per il doc sono a 30% circa...



Anche io mi sono accorto che il SOC non coincide con la lettura del regolatore, proprio perchè come dicevo è un valore simulato e non reale. Tieni presente che le batterie hanno una vita e a volte sembrano cariche, ma in realtà si scaricano velocemente proprio perchè usurate. In questo caso la lettura sarebbe errata perchè la capacità della batteria scende con gli anni.


le mie batterie hanno meno di un anno,
hanno entrambe un clen collegato, entrambe alla prova "voltaggio" a vuoti, danno valori abbastanza coerenti (se prelevo 1,2Kwh dalle batterie, poi le lascio riposare qualche minuto (da 30 a 1 ora)la tensione si stabilizza a 25v, che corrispondono a circa l'80% cella carica.



lucasky il 23/3/2018, 17:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Questi alcuni screen dell'App. Le icone del sole in alto a Dx cambia con la tensione del pannello. Luna se non carica (come sul regolatore)  ;) Il tempo in basso a Dx indica il tempo di aggiornamento di Arduino verso il server (Di norma ogni 8 sec). La barra di controllo indica stato del sistema ok se rientra entro i 10sec. Stato di ritardo con relativo tempo se i dati sono al di sotto dei 2 minuti. Oltre i due minuti il sistema va in FAULT indicando il tempo trascorso dall'ultimo dato corretto. La scritta  Power Data è cliccabile e indica i consumi e la CO2 risparmiata.....
La batteria cambia in base al livello di carica/scarica, un pò come sul display del cellulare con le tacche che calano e crescono.. 

Nei settaggi si possono cambiare i colori dei display, sfondo e tempo di intervento..... file settings.php

Allegati:
IMG_3420.PNG

IMG_3422.PNG

IMG_3423.PNG

IMG_3433.PNG

Gigi600 il 23/3/2018, 17:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho dato una occhiata veloce e non ho provato ,la prima cosa che noto e non mi torna se sostituisco index.php con il Tuo va a sostituire quello che ho non avendo più la pagina index. php vecchia 
Se voglio mantenere entrambi basta che rinomino index1.php o si "scombussola"  tutto ?  ;)


lucasky :
Questi sono i file sorgenti per l'app. Installateli nella stessa directory dove avete gli altri file. Editate il file settings.php con i vostri dati di connessione. Una volta fatto, per avere l'icona dell'app sul vostro smartphone, basta richiamare il file index.php con il browser (safari iOS - chrome Android) poi con l'apposito cursore, fare "Aggiungi a Home". Senza modificare nulla, fate aggiungi e avrete l'icona sullo schermo del telefono. Quando aprirete l'App avrà le stesse funzioni di una installata nel telefono, ma in realtà risiede nel vostro server.
Per qualsiasi suggerimento sono qui....




emuland2 il 23/3/2018, 19:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Rj45

Allegati:
IMG_20180323_192553.jpg

Gigi600 il 23/3/2018, 20:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si è Ok .
emuland2 :
Rj45



Caricato nel server dove ho il epsolar LS ( ex BN )  la cartella /app/index.php configurata e funziona 

Lo ho caricato nel server della malga ( epsolar RN ) che al momento è KO  >
Mi da le ore dall'ultimo carico dati .
Però cliccando Power data non si vede produzione/consumi anno e mese tutto a 000




Allegati:
2_A.jpg

lucasky il 23/3/2018, 23:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si è Ok .
emuland2 :
Rj45



Caricato nel server dove ho il epsolar LS ( ex BN )  la cartella /app/index.php configurata e funziona 

Lo ho caricato nel server della malga ( epsolar RN ) che al momento è KO  >
Mi da le ore dall'ultimo carico dati .
Però cliccando Power data non si vede produzione/consumi anno e mese tutto a 000




I file non vanno sotituiti con nulla. Vanno copiati cosi come sono nella cartella app. Nel senso copiate tutta la cartella app così com'è nel vostro server. L'importante è configurare il dati database perchè lei lavora per conto suo. I file che avete già lasciateli così come sono. L'app si collega allo stesso database delle pagine vecchie. Controlla i dati di connessione al database perchè il file app_database.php lavora per entrambi i regolatori. E' una copia modificata del file database.php
Controlla se il database ha Ah o ah... solita storia della lettera maiuscola o minuscola del database. Il mio file legge queli con ah_prodotti e ah_consumati

Gigi600 il 23/3/2018, 23:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si i miei sono tutti ah minuscolo, Li legge i dati ma sembra che quando sia out non legga il mese e anno produzione   
Al momento questo non funziona , vado su domani spero sia solo l'esp8266 andato 
ha poca ricezione wifi

LINK

Questo funziona

LINK


Allegati:
3_005.jpg

emuland2 il 24/3/2018, 17:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
domani salvo imprevisti riprovo entrambi i TTL, secondo me sono farlocchi e li rimando ad amazon

lucasky il 24/3/2018, 18:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si i miei sono tutti ah minuscolo, Li legge i dati ma sembra che quando sia out non legga il mese e anno produzione   
Al momento questo non funziona , vado su domani spero sia solo l'esp8266 andato 
ha poca ricezione wifi

LINK

Questo funziona

LINK



Ho dato un'occhiata ai valori. Quello che funziona è OK. L'altro non penso dipenda dal sistema. L'app si connette al database sul server no alla postazione. Però leggo dei valori secondo me errati anche nella corrente e tensione. Hai pannelli a 24V? Controlla i valori che inserisce nel database, sembrano errati quelli. Secondo me non hai settato il tipo di regolatore nell'app...

Gigi600 il 24/3/2018, 18:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sono andato su oggi a ripristinare  ;)
Fino alle 15.40 non funzionava , i valori di prima non fanno testo.
L'impianto è a 12 volt pannello 30 volt LINK
In ogni caso l'archivio dovrebbe darlo giusto 
Questo è il settaggio del RN
Come ripeto il BN funziona

<?php

/*!
* Solar Monitor Web-App.
*
* Autore: Luca Ercoli
*
* email: ercoli.lucasky@gmail.com
*
* Date: 23-03-2018
*
*/

$tipo_regolatore = "rn"; //indicare esclusivamente se il regolatore è serie rn oppure bn

//Connect to database - UTILIZZARE LE STESSE IMPOSTAZIONI DI CONNESSIONE AL DATABASE IN USO -
$DBhost = "solaresacile.altervista.org";
$DBuser = "solaresacile";
$DBpass = "xxxxxxxxxxxxx";
$nome_database = "my_solaresacile";

$volt = 12; // Tensione nominale dell'impianto ( 12V o 24V ) per il calcolo del valore di CO2

$nome_app = "Solar Monitor";  // Nome della postazione da monitorare

$color = "red"; // Setta il colore dei display ( Rosso=red - Rosso tenue=#CC3300 - Verde=#00A651 -  Giallo=#FCD900 Blu=#33CCFF )

$bgcolor = "#000000"; // Setta il colore di sfondo dei display ( Nero=#000000 - Bianco=#FFFFFF - Grigio=#666666 - Default=lasciare vuoto )

$max = 120; // Tempo massimo di attesa prima di entrare in FAULT MODE espresso in secondi ( Default = 120s = 2 minuti )

?>


lucasky :

Ho dato un'occhiata ai valori. Quello che funziona è OK. L'altro non penso dipenda dal sistema. L'app si connette al database sul server no alla postazione. Però leggo dei valori secondo me errati anche nella corrente e tensione. Hai pannelli a 24V? Controlla i valori che inserisce nel database, sembrano errati quelli. Secondo me non hai settato il tipo di regolatore nell'app...




lucasky il 24/3/2018, 18:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Sono andato su oggi a ripristinare  ;)
Fino alle 15.40 non funzionava , i valori di prima non fanno testo.
L'impianto è a 12 volt
In ogni caso l'archivio dovrebbe darlo giusto 
Questo è il settaggio del RN
Come ripeto il BN funziona

<?php

/*!
* Solar Monitor Web-App.
*
* Autore: Luca Ercoli
*
* email: ercoli.lucasky@gmail.com
*
* Date: 23-03-2018
*
*/

$tipo_regolatore = "rn"; //indicare esclusivamente se il regolatore è serie rn oppure bn

//Connect to database - UTILIZZARE LE STESSE IMPOSTAZIONI DI CONNESSIONE AL DATABASE IN USO -
$DBhost = "solaresacile.altervista.org";
$DBuser = "solaresacile";
$DBpass = "xxxxxxxxxxxxx";
$nome_database = "my_solaresacile";

$volt = 12; // Tensione nominale dell'impianto ( 12V o 24V ) per il calcolo del valore di CO2

$nome_app = "Solar Monitor";  // Nome della postazione da monitorare

$color = "red"; // Setta il colore dei display ( Rosso=red - Rosso tenue=#CC3300 - Verde=#00A651 -  Giallo=#FCD900 Blu=#33CCFF )

$bgcolor = "#000000"; // Setta il colore di sfondo dei display ( Nero=#000000 - Bianco=#FFFFFF - Grigio=#666666 - Default=lasciare vuoto )

$max = 120; // Tempo massimo di attesa prima di entrare in FAULT MODE espresso in secondi ( Default = 120s = 2 minuti )

?>


lucasky :

Ho dato un'occhiata ai valori. Quello che funziona è OK. L'altro non penso dipenda dal sistema. L'app si connette al database sul server no alla postazione. Però leggo dei valori secondo me errati anche nella corrente e tensione. Hai pannelli a 24V? Controlla i valori che inserisce nel database, sembrano errati quelli. Secondo me non hai settato il tipo di regolatore nell'app...





Ho rivisto adesso e le tensioni e correnti sono regolari. Ma la tensione pannello prima era sopra a 24V adesso 14. I pannelli sono a 24V! Il sistema a 12V. Comunque l'app si connette al database esistente. Deve per forza visualizzare i dati, a meno che il database ha altro nome (quello dei consumi)

$query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
$risultato = mysql_query($query,$connessione);
$consumi = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_mens = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM consumi WHERE YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_anno = mysql_fetch_row($risultato);            


Gigi600 il 24/3/2018, 19:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Trovato nel database ho [color=#ff0000]Consumi 
Vecchi errori che si trascinano 
Modificato nel database app per non stravolgere l'originale .Ora funziona   


$query = "SELECT * FROM Consumi WHERE DATE(data) = CURDATE()";
$risultato = mysql_query($query,$connessione);
$consumi = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM Consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_mens = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM Consumi WHERE YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_anno = mysql_fetch_row($risultato);            
     
mysql_close($connessione);


lucasky :


Ho rivisto adesso e le tensioni e correnti sono regolari. Ma la tensione pannello prima era sopra a 24V adesso 14. I pannelli sono a 24V! Il sistema a 12V. Comunque l'app si connette al database esistente. Deve per forza visualizzare i dati, a meno che il database ha altro nome (quello dei consumi)

$query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
$risultato = mysql_query($query,$connessione);
$consumi = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_mens = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM consumi WHERE YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_anno = mysql_fetch_row($risultato);            




lucasky il 24/3/2018, 19:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Trovato nel database ho [color=#ff0000]Consumi 
Vecchi errori che si trascinano 
Modificato nel database app per non stravolgere l'originale .Ora funziona   


$query = "SELECT * FROM Consumi WHERE DATE(data) = CURDATE()";
$risultato = mysql_query($query,$connessione);
$consumi = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM Consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_mens = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM Consumi WHERE YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_anno = mysql_fetch_row($risultato);            
     
mysql_close($connessione);


lucasky :


Ho rivisto adesso e le tensioni e correnti sono regolari. Ma la tensione pannello prima era sopra a 24V adesso 14. I pannelli sono a 24V! Il sistema a 12V. Comunque l'app si connette al database esistente. Deve per forza visualizzare i dati, a meno che il database ha altro nome (quello dei consumi)

$query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
$risultato = mysql_query($query,$connessione);
$consumi = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM consumi WHERE MONTH(data) = MONTH(curdate()) AND YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_mens = mysql_fetch_row($risultato);

$query = "SELECT SUM(ah_prodotti), SUM(ah_consumati) FROM consumi WHERE YEAR(data) = YEAR(curdate())";
$risultato = mysql_query($query,$connessione);
$consumi_anno = mysql_fetch_row($risultato);            





Perfetto... Un consiglio su un nuovo impianto che ssto facendo.. Sistema a 12V, meglio un pannello 300W 24V o 2x150W a 12V?
Ovviamente le correnti a 24V si dimezzano, ma non avrei problemi perchè i cavi sono spessi. Secondo me quello a 24V caricherebbe meglio le batterie anche ccon scarsa luce solare perchè raggiunge la tensione nominale che è molto a di sopra dei 12V richiesti dalla batteria... Che ne dite?

Gigi600 il 24/3/2018, 21:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
Io preferirei un unico panello a parità di costo ( costa meno uno sicuramente )  perché sono certificati per la potenza in uscita ovviamente collegato a un regolatore mppt
Due pannelli  quelli a 12 volt , secondo Me , sono più ad uso " hobby " ma non sempre  ;)

Anche se Io ho un impianto che alimenta luci di un garage e portone sezionale due pannelli da 12 volt in serie da 50 watt in funzione dal 1995 e  funziona ancora , ha una cella visibilmente arrostita 

Mi viene in mente la Mia prima esperienza nel 1992 con il fotovoltaico 
Pubblicata in una rivista Camper nel 1994



Allegati:
Fotovlotaico_camper.jpg

lucasky il 24/3/2018, 22:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Io preferirei un unico panello a parità di costo ( costa meno uno sicuramente )  perché sono certificati per la potenza in uscita ovviamente collegato a un regolatore mppt
Due pannelli  quelli a 12 volt , secondo Me , sono più ad uso " hobby " ma non sempre  ;)

Anche se Io ho un impianto che alimenta luci di un garage e portone sezionale due pannelli da 12 volt in serie da 50 watt in funzione dal 1995 e  funziona ancora , ha una cella visibilmente arrostita 

Mi viene in mente la Mia prima esperienza nel 1992 con il fotovoltaico 
Pubblicata in una rivista Camper nel 1994




No io intendevo se a parità di potenza (300W) è meglio usare tensioni a 24V o 12v sul pannello ma fermo restando batterie a 12v. Nel mio caso un pannello da 300W 24v o due 150 12v collegati in parallelo?

Gigi600 il 24/3/2018, 22:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non cambia , devi però mettere un diodo su ogni panello e Sezioni maggiori per 12 volt ( 17 volt )

Avresti un solo vantaggio con due panelli se uno va in ombra l'altro continua a produrre .
Quello unico dipende da come sono disposte le celle rispetto l'ombra e diodi interni.

Ma come Ti dicevo preferisco panello unico i diodi sono già dentro , calcolati e certificati   e costa meno  ;)

danye il 24/3/2018, 22:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Bravissimi! Mi piace moltissimo l'app! La butto lì, perché non collaboriamo alla creazione di un portale unico dove ogni utente previa registrazione può inviare i dati del proprio regolatore? Si eviterebbe di aprire siti web per lo stesso scopo e l'utente semplice sarebbe di molto facilitato...

lucasky il 25/3/2018, 0:09
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Bravissimi! Mi piace moltissimo l'app! La butto lì, perché non collaboriamo alla creazione di un portale unico dove ogni utente previa registrazione può inviare i dati del proprio regolatore? Si eviterebbe di aprire siti web per lo stesso scopo e l'utente semplice sarebbe di molto facilitato...



Danye Modifica lo sketch per leggere il soc direttame dal regolatore... già quello sarebbe molto importante.......!!!! Poi sviluppiamo ;) ;)

danye il 25/3/2018, 0:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Il SoC  l'avevo pensato così com'è ora perché non mi piaceva che venisse calcolato in base alla tensione della batteria. Appena avrò qualche ora da dedicarci farò la modifica. Dovrò rispolverare i PDF con i protocolli seriali dei regolatori...

EDIT:
Allora ho visto che per la serie bn il dato del soc lo fornisce il regolatore, mentre per la serie rn deve essere calcolato in quanto il regolatore non calcola in autonomia il soc.
Modificato il codice per esp ed arduino in prima pagina. ;)

lucasky il 25/3/2018, 11:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Il SoC  l'avevo pensato così com'è ora perché non mi piaceva che venisse calcolato in base alla tensione della batteria. Appena avrò qualche ora da dedicarci farò la modifica. Dovrò rispolverare i PDF con i protocolli seriali dei regolatori...

EDIT:
Allora ho visto che per la serie bn il dato del soc lo fornisce il regolatore, mentre per la serie rn deve essere calcolato in quanto il regolatore non calcola in autonomia il soc.
Modificato il codice per esp ed arduino in prima pagina. ;)



  Grande..!!! Domani provo..!! Si io intendevo per serie BN e altri compatibili che calcolano il SOC già nel regolatore. Sempre per i regolatori BN, calcolano i KW prodotti e consumati. Prendendo il dato diretto, si avrebbe un quadro molto più preciso. Comunque già ottimo lavoro.. ;) ;)

Gigi600 il 25/3/2018, 12:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Spulciando tra i vecchi doc ho trovato la stringa
Battery             %   SOC     01 04 31 1A 00 01 1E F1

Dovrebbe essere cosi la richiesta 

  //SOC %
    Serial.write(0x01);
    Serial.write(0x04);
    Serial.write(0x31);
    Serial.write(0x1A);
    Serial.write(0x00);
    Serial.write(0x01);
    Serial.write(0x1E);
    Serial.write(0xF1);
    delay(500);
    if (Serial.available())
    {
      data_long = Serial.available();
      for (int n = 0; n < data_long; n++)
      {
        data[n] = Serial.read();
      }
      soc = (data[3] << 8) | data[4];
    }


lucasky il 25/3/2018, 18:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Spulciando tra i vecchi doc ho trovato la stringa
Battery             %   SOC     01 04 31 1A 00 01 1E F1

Dovrebbe essere cosi la richiesta 

  //SOC %
    Serial.write(0x01);
    Serial.write(0x04);
    Serial.write(0x31);
    Serial.write(0x1A);
    Serial.write(0x00);
    Serial.write(0x01);
    Serial.write(0x1E);
    Serial.write(0xF1);
    delay(500);
    if (Serial.available())
    {
      data_long = Serial.available();
      for (int n = 0; n < data_long; n++)
      {
        data[n] = Serial.read();
      }
      soc = (data[3] << 8) | data[4];
    }



Si sembra lo stesso che ha fatto Danye
      //SOC Batteria
      Serial.write(0x01);
      Serial.write(0x04);
      Serial.write(0x31);
      Serial.write(0x1A);
      Serial.write((uint8_t)0x00);
      Serial.write(0x01);
      Serial.write(0x1E);
      Serial.write(0xF1);

      delay(500);
      if (Serial.available())
      {
        data_long = Serial.available();
        for (int n = 0; n < data_long; n++)
        {
          data[n] = Serial.read();
        }
        soc = (data[3] << 8) | data[4];
      }

Vorrei iniziare a capire come funziona la seriale di Arduino... Chi mi spiega i codici esadecimali che ho evidenziato? I primi ho capito che sono la richiesta del Soc al regolatore

danye il 25/3/2018, 18:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si esatto, per i BN aggiornato codici pubblicati al primo post, test please... ;)

lucasky il 26/3/2018, 11:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Si esatto, per i BN aggiornato codici pubblicati al primo post, test please... ;)




Serial.write(0x01);  // ID
    Serial.write(0x04); // Richiesta dati in tempo reale
    Serial.write(0x31); // Richiesta SOC
    Serial.write(0x1A); // Richiesta SOC
    Serial.write(0x00);
    Serial.write(0x01);
    Serial.write(0x1E);
    Serial.write(0xF1);


MI descrivi i byte evidenziati a cosa si riferiscono? 

Gigi600 il 26/3/2018, 12:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Funziona  ;)


danye il 26/3/2018, 12:35
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
danye :
Si esatto, per i BN aggiornato codici pubblicati al primo post, test please... ;)




Serial.write(0x01);  // ID
    Serial.write(0x04); // Richiesta dati in tempo reale
    Serial.write(0x31); // Richiesta SOC
    Serial.write(0x1A); // Richiesta SOC
    Serial.write(0x00);
    Serial.write(0x01);
    Serial.write(0x1E);
    Serial.write(0xF1);


MI descrivi i byte evidenziati a cosa si riferiscono? 



Serial.write(0x01);  // ID
    Serial.write(0x04); // Richiesta dati in tempo reale
    Serial.write(0x31); // Richiesta SOC
    Serial.write(0x1A); // Richiesta SOC
    Serial.write(0x00);
    Serial.write(0x01);// Con il  byte precedente dovrebbe indicare quanti registri di memoria leggere
    Serial.write(0x1E);//
    Serial.write(0xF1);// Con il byte precedente è il checksum del comando facilmente calcolabile da quì LINK
Basta ad esempio inserire nel campo calculate crc i byte  dal 1° al 6° (es. 0104311A0001) e cliccare su CalculateCrc, prendere il valore di "CRC-16 (Modbus)" invertire il primo byte con il secondo e completare con essi la sequenza da inviare al regolatore che diventa  0104311A00011EF1  ;)

Allegati:
command.jpg

lucasky il 26/3/2018, 22:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
lucasky :
danye :
Si esatto, per i BN aggiornato codici pubblicati al primo post, test please... ;)



ORA E' CHIARO. GRAZIE  ;) ;)

Serial.write(0x01);  // ID
    Serial.write(0x04); // Richiesta dati in tempo reale
    Serial.write(0x31); // Richiesta SOC
    Serial.write(0x1A); // Richiesta SOC
    Serial.write(0x00);
    Serial.write(0x01);
    Serial.write(0x1E);
    Serial.write(0xF1);


MI descrivi i byte evidenziati a cosa si riferiscono? 



Serial.write(0x01);  // ID
    Serial.write(0x04); // Richiesta dati in tempo reale
    Serial.write(0x31); // Richiesta SOC
    Serial.write(0x1A); // Richiesta SOC
    Serial.write(0x00);
    Serial.write(0x01);// Con il  byte precedente dovrebbe indicare quanti registri di memoria leggere
    Serial.write(0x1E);//
    Serial.write(0xF1);// Con il byte precedente è il checksum del comando facilmente calcolabile da quì LINK
Basta ad esempio inserire nel campo calculate crc i byte  dal 1° al 6° (es. 0104311A0001) e cliccare su CalculateCrc, prendere il valore di "CRC-16 (Modbus)" invertire il primo byte con il secondo e completare con essi la sequenza da inviare al regolatore che diventa  0104311A00011EF1  ;)




Gigi600 il 27/3/2018, 7:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Aggiorno test dopo il cambio del SOC 
Ieri ho notato che il SOC oscillava tra il 60% e 90% 
Questa mattina me lo trovo al 13%
Ovviamente è un dato fornito dal regolatore  ;)
Si ...ho le batterie vecchie ma al 13% 
Mi sa che è farlocco 


Allegati:
soc.jpg

danye il 27/3/2018, 11:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
Per questo motivo avevo optato per l'altra soluzione di calcolo....

Gigi600 il 27/3/2018, 12:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ora è al 92 % dopo solo  11 Ah 
Forse è il Mio regolatore ? 
Danye ...Tengo d'occhio ma mi sa che ritorno al Tuo vecchio sistema 

danye :
Per questo motivo avevo optato per l'altra soluzione di calcolo....




emuland2 il 27/3/2018, 15:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
l ho detto che il calcolo del soc è quasi casuale dentro al regolatore...

secondo me l'unica è valutare in base ai volt...purtroppo c'è poco da fare

danye il 27/3/2018, 17:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non è casuale ma lo calcola in base alla tensione batteria.
Tensione vicina ai 14.4V SoC = 100%
Tensione vicina ai 12V SoC = 0%
Così è inutile secondo me, perché una forte corrente di scarica o carica fa oscillare la tensione e di conseguenza il SoC in modo anomalo, invece il mio sistema tiene conto della Ah di carica ricevuto e quelli di scarica, lo so non sarà precisissimoa è un indicazione più veritiera secondo me.


emuland2 il 27/3/2018, 21:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
a me segna 30% a 25v.....

N altra 68%

sono due batterie identiche a 24v.
stesso uso, stesso periodo di produzione, stesso consumo ah(non guardate quanto segna perché un contatore siné resettati)

Allegati:
Screenshot_20180327-213642.png

Screenshot_20180327-213632.png

Gigi600 il 28/3/2018, 8:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Questa mattina 19 % 
Bocciato la lettura soc direttamente dal regolatore  ;)
Oggi ripristino il vecchio soc 

Allegati:
soc_2.jpg

emuland2 il 28/3/2018, 9:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
vediamo se in questi giorni riesco a fare funzionare la lettura...

vorrei aggiungere la funzione per domoticz, per chi come me ha usato questi regolatori per caricare le batterie e utilizzarle come ups/sostegno ai consumi di casa...

emuland2 il 28/3/2018, 22:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
niente anche stasera. se non riesco a breve a far funzionare sto coso, chiedo a qualcuno di prendermi due TTL e farmi cavo+saldature lato cavo..e rj45.. ovviamente pagando..

emuland2 il 28/3/2018, 22:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
niente anche stasera. se non riesco a breve a far funzionare sto coso, chiedo a qualcuno di prendermi due TTL e farmi cavo+saldature lato cavo..e rj45.. ovviamente pagando..

lucasky il 29/3/2018, 8:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
danye :
Non è casuale ma lo calcola in base alla tensione batteria.
Tensione vicina ai 14.4V SoC = 100%
Tensione vicina ai 12V SoC = 0%
Così è inutile secondo me, perché una forte corrente di scarica o carica fa oscillare la tensione e di conseguenza il SoC in modo anomalo, invece il mio sistema tiene conto della Ah di carica ricevuto e quelli di scarica, lo so non sarà precisissimoa è un indicazione più veritiera secondo me.



COLPA DI EPSOLAR....!!
Cmq io sul Tracer-A sembra funzionare...

emuland2 il 29/3/2018, 12:21
Re: Monitoraggio regolatori Ep Solar tracer dal web
io col tracer A, 2 regolatori, stess tensione 2 SOC diversi

lucasky il 29/3/2018, 13:04
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
io col tracer A, 2 regolatori, stess tensione 2 SOC diversi



Non so come interpreti il SOC il regolatore, credo in tensione/corrente, ma certo quello reale è quello letto dal regolatore. Nel senso: avete mai visto la batteria del cellulare completamente carica (SOC 100%) poi alla prima telefonata, si spegne..!! Bene quello è il vero problema delle batterie e per questo l'interpretazione del vecchio sistema SOC (Ah) non sarà mai reale. Vera la teoria della grossa scarica/ricarica, ma se la batteria è in buono stato non scenderà mai sotto i 12V. Tutti i regolatori, staccano a 10,5V o quasi, per non rovinare le batterie. Ecco che con un SOC al 100% si avrà una tensione di 14V circa, ma poi quando scende a 50% circa 12V. Se la batteria è in buono stato, ci rimane magari per una settimana asseconda dell'assorbimento. Quindi un SOC calcolato sugli Ah non sarà mai reale perchè se la tensione scende al di sotto dei 10,5V il regolatore stacca il carico, quando magari leggi 80% perchè interpretato sugli Ah. Quindi secondo me è giusto il valore restituito dal regolatore stesso. Non preoccupatevi se prima avevate quasi sempre 100% o poco meno, mentre adesso sotto a 50%, perchè al valore di 12V (50%) la batteria magari ci rimane a lungo senza problemi. Considerate che la tensione nominale è tra 12V e 13V. Al di sotto e al di sopra solamente durante la carica o scarica, per tornare poi ai valori reali...  ;)

Gigi600 il 29/3/2018, 13:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ricapitoliamo:
Bisogna andare per esclusione  ;)
Sul server hai già installato tutto ?
Funziona ?
Se Si hai un Link ? Se Vuoi anche in privato  ;)

Programmare arduino non penso sia un problema 
Rimangono quei quattro collegamenti  con il TTL , rj 45 , tx e rx di arduino
Come Ti dicevo in precedenza prova a mettere la massa 7 o 8 e collegarla al GND di arduino

emuland2 :
niente anche stasera. se non riesco a breve a far funzionare sto coso, chiedo a qualcuno di prendermi due TTL e farmi cavo+saldature lato cavo..e rj45.. ovviamente pagando..




Allegati:
schema_arduino_reg_bn_002.jpg

emuland2 il 29/3/2018, 13:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
arduino : ok
sito : ok
db : ok

il problema è che nel ttl solo il tx lampeggia, rx no.

tra l'altro qualche tentativo fa invece aveva inziato a lampeggiare, mandando valori anomali, ma funzionado, ora nulla.

provo a ricrimpare rj45, perchè è assurdo...

Gigi600 il 29/3/2018, 14:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Il problema è li , forse è il TTL ,
Come Ti dicevo ne ho avuto uno difettoso che tra l'altro su un BN funzionava su LS no  ( entrambi stesso protocollo )   >

Prova collegare il 7 o 8 al GND
Controlla con il teser che siano crimptati bene .
Altrimenti è il TTL

emuland2 il 29/3/2018, 20:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
ne ho due di TTL...

comunque ho ricrimprato stasera e nulla.

ricontrollo magari in questi giorni con più calma


allego cattura a testimonianza che il db riceve randomicamente una sttringa quando faccio partire arduino. poi però non legge più nulla


Allegati:
Cattura.PNG

emuland2 il 30/3/2018, 16:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
mi sto veramente stufando e non so più che pesci prendere...

LINK


come vedete ho messo pure il led sul pin5.... e mi dice errore lettura dati da regolatore....


oggi facendo 1000 volte le saldature, ho ottenuto qualche lettura, ma senza senso....


Allegati:
Capture.PNG

Gigi600 il 30/3/2018, 16:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Dal video non vedo la massa dell'epsolar collegata ?!
Vedo il ponte OK .. Ma la massa 

emuland2 il 30/3/2018, 16:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
spetta spetta...
cioè nonostante la massa presa da arduino GND, devo comunque collegare il pin 8? a massa^?

Gigi600 il 30/3/2018, 22:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si Te lo avevo già scritto 
Vedi la linea verdina
http://www.energialternativa.org/cgi-bin/yabb2/YaBB.pl?num=1441124569/390#390

è un tentativo Con ESP 8266 lo ho collegato cosi

emuland2 :
spetta spetta...
cioè nonostante la massa presa da arduino GND, devo comunque collegare il pin 8? a massa^?




Allegati:
schema_esp_reg_bn_001.JPG

emuland2 il 31/3/2018, 7:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
avevo inteso che collegando massa Arduino la massa del regolatore potevo non saldarla

emuland2 il 31/3/2018, 8:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
nmiente, anche saldando massa del regolatore non va nulla.

qualche buon uomo che mi salda il TTL + cavi per arduino + RJ45 e crimpatura verso regolatore?

Faccio arrivare i TTL direttamente da amazon a Voi.

pago le spese di rispedizione via paypal....

grazie..

danye il 31/3/2018, 14:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
Domanda forse sciocca, ma il display originale del regolatore va?

lucasky il 31/3/2018, 15:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
nmiente, anche saldando massa del regolatore non va nulla.

qualche buon uomo che mi salda il TTL + cavi per arduino + RJ45 e crimpatura verso regolatore?

Faccio arrivare i TTL direttamente da amazon a Voi.

pago le spese di rispedizione via paypal....

grazie..



Se vuoi, io lo faccio di mestiere... Riparatore TV e tutto ciò che sia elettronica....
Funzionato al primo colpo.... ;) ;)
Dovrei acquistarne un altro anche io per provare ESP8266. Se li ordini tu, me li fai arrivare, poi sistemiamo tutto.

Allegati:
IMG_3506_2.PNG

Gigi600 il 31/3/2018, 15:38
Re: Monitoraggio regolatori Ep Solar tracer dal web
In una mezz'ora Mi sono preso la briga di farne uno nuovo di sana pianta e funziona  ;)
Seguito lo schema pagina iniziale tale e quale.
Il video 
LINK

Come vedi funziona.

Non penso che l'errore sia nei cablaggi che hai fatto.

Se vuoi Ti spedisco il cablaggio con il TTL.
Mi mandi l'indirizzo in privato martedì Te lo spedsisco 

Allegati:
schema_arduino_reg_bn_003.jpg

lucasky il 31/3/2018, 16:36
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
In una mezz'ora Mi sono preso la briga di farne uno nuovo di sana pianta e funziona  ;)
Seguito lo schema pagina iniziale tale e quale.
Il video 
LINK

Come vedi funziona.

Non penso che l'errore sia nei cablaggi che hai fatto.

Se vuoi Ti spedisco il cablaggio con il TTL.
Mi mandi l'indirizzo in privato martedì Te lo spedsisco 



Curiosità.... Perché i lampeggi del mio sono diversi..??
Anche il led di controllo lampeggia come se non fosse collegato il cavo lan, invece tutto funziona....

https://youtu.be/JSST6ZjxJWY

Gigi600 il 31/3/2018, 17:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non saprei .

Ma i led del TTL rx e tx lampeggiano contemporaneamente e fanno 5 lampeggi  ?
Se si è ok , sono quelli che confermano la comunicazione con epsolar.

Il resto lo gestisce Ethernet Shield W5100 forse in base al tipo di router, anche se non ha senso.


Il cablaggio

Allegati:
20180331_160644.jpg

emuland2 il 31/3/2018, 17:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
il mio lampeggio sul led di controllo (quello rosso per capirci estrerno arduino) è proprio un problema di connessione col il regolatore.

ne ho due di TTL

entrambi lampeggiano appena appena su TX,

praticamente una volta ogni mai su RX.

Ora mi sorge un solo dubbio

in questo video
LINK

il ttl è collegato a 7 Volt? sbaglio? io lo sto collegando al 5v di arduino (che poi sono 4,7 effettivi) sarà quello il problema?


il tuo Gigi600 lo apre in wmplayer ma non vedo nulla, sento solo musica....(ora lo scarico)

se facendo la prova alimentando a 7v e non a 5 dell'arduino va, esplodo...

faccio ultimi test e poi ci sentiamo (io ho 2 regolatori quindi in caso 2 TTL)...




emuland2 il 31/3/2018, 17:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
visto video, non è nemmeno li....

non so che dire... mi hanno mandato 2 TTL difettosi (2 su 2?)

faccio reso amazon in caso

lucasky il 31/3/2018, 17:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
il mio lampeggio sul led di controllo (quello rosso per capirci estrerno arduino) è proprio un problema di connessione col il regolatore.

ne ho due di TTL

entrambi lampeggiano appena appena su TX,

praticamente una volta ogni mai su RX.

Ora mi sorge un solo dubbio

in questo video
LINK

il ttl è collegato a 7 Volt? sbaglio? io lo sto collegando al 5v di arduino (che poi sono 4,7 effettivi) sarà quello il problema?


il tuo Gigi600 lo apre in wmplayer ma non vedo nulla, sento solo musica....(ora lo scarico)

se facendo la prova alimentando a 7v e non a 5 dell'arduino va, esplodo...

faccio ultimi test e poi ci sentiamo (io ho 2 regolatori quindi in caso 2 TTL)...





Il video è del mio... No arduino è collegato a 7V. Il TTL sui 5V di arduino... Guarda i fili bianco e rosso.

lucasky il 31/3/2018, 17:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Non saprei .

Ma i led del TTL rx e tx lampeggiano contemporaneamente e fanno 5 lampeggi  ?
Se si è ok , sono quelli che confermano la comunicazione con epsolar.

Il resto lo gestisce Ethernet Shield W5100 forse in base al tipo di router, anche se non ha senso.


Il cablaggio



Si si, i led TX e Rx ok... Tutto OK.. solo che mi chiedevo perché i led della Shield lampeggiano diversamente... Sarà questione di router.. 
Comunque il led di controllo dovrebbe fare un lampeggio solamente quando tutto OK, due se non comunica col regolatore e 3 se non comunica con il server.. Invece ne fa 3 anche se funziona... Forse qualcosa nello sketch da rivedere...

Gigi600 il 31/3/2018, 18:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma dubito che siano difettosi difficile ... forse un collegamento errato e ha danneggiato qualcosa magari scaldato troppo.

Come diceva Lucasky il TTL è alimentato a 5 volt NON a 7 volt
Comunque funziona anche con 3 ,3 volt che nell'esp8266 il riduttore alimenta entrambi.
Il tuo collegamento è giusto .
C'è qualcosa che non torna.
In questi casi io vado per esclusione.
Sarebbe stato bene aver fatto un cablaggio con dei connettori , come ho fatto Io, da poter staccare il TTL .
Staccato il TTL rimangono 4 + 3  fili collegati 
e se arduino funziona non rimane altro che il regolatore  ;)

emuland2 :
visto video, non è nemmeno li....

non so che dire... mi hanno mandato 2 TTL difettosi (2 su 2?)

faccio reso amazon in caso




Allegati:
TTL.jpg

emuland2 il 31/3/2018, 18:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
non ho il mulo esterno, il display integrato si.

col pc leggo senza problemi

Gigi600 il 31/3/2018, 18:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
A si ricordo di uno foto precedente il software è lo stesso che usavo per connettermi al BN.
Bene regolatore OK, Rimane il TTL , arduino o Ethernet Shield W5100.


emuland2 il 31/3/2018, 19:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
provo a connettermi direttamente ad Arduino ?
(ho tre Arduino diversi e tre errori uguali?)


ho tre shield ethernet, uno non va, bug delle.resistenze(ma stamatiina sono riuscito a farlo ripartire.. stesso errore)... ficco un po' di serial pint di debugging e vedo cosa scrive sulla seriale, oppure bypassi via codice tutta la parte ethernet...

l altro test e alimentare Arduino non via USB.... forse é tutto lì il problema?


emuland2 il 1/4/2018, 9:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :


Ma i led del TTL rx e tx lampeggiano contemporaneamente e fanno 5 lampeggi  ?




no, tx ne fa uno solo.... capita randomicamente che spegnendo e riaccendendo ne faccia 5.... ma solo una volta poi torna  afarne uno


emuland2 il 1/4/2018, 16:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
ho provato con un altro cavo...


non capisco perchè anche copiando il pinout del adattatore usb (4-6 e 8 per la massa) io tra a e b leggo 4,3 volt...

se invece li misuro sul cavo non ho questo problema (0.8volt tra a e massa idem tra b e massa



mi sono rotto di perdere tempo... rendo ad amazon.


gigi se en hai 2 contattami via pm che vediamo se almeno cosi va...

Gigi600 il 3/4/2018, 17:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ti ho mandato un PM questa mattina ... forse non lo hai visto  ;)

emuland2 :


gigi se en hai 2 contattami via pm che vediamo se almeno cosi va...




emuland2 il 3/4/2018, 20:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
risposto pm

electronic il 7/4/2018, 22:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve gente
dopo tanto tempo ho ripreso questo progetto, ho realizzato la pagina web usando i file allegati nei primi post ed ho caricato lo sketch sul modulo esp8266 (dopo aver inserito i dati per il wifi). Naturalmente ancora non funziona niente . Con esp8266 scollegato dal regolatore, visualizzo sul monitor seriale i dati che sono in allegato. L'ESP si resetta di continuo, è normale?
Il mio regolatore è un VS4024N che dovrebbe essere compatibile  come protocollo di comunicazione (forse cambiando qualcosa nel codice).
Spero che il buon Danye o qualche altro mi diano delle dritte per far funzionare il sistema.
Grazie

Allegati:
out_serial_monitor_epsolar.png

lucasky il 17/4/2018, 20:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Bene tutto OK ho staccato e riattaccato l'esp8266 e ripartito probabilmente il freddo ha mandato in tilt l'esp8266  ;)
Per precauzione lo ho sostituito con uno nuovo già programmato 
 



LO SKETCH DI PAGINA UNO PER ESP FUNZIONA? HO PROVATO MA LAMPEGGIA SOLO IL LED TX SUL TTL. STESSO CIRCUITO COLLEGATO TX E RX AD ARDUINO FUNZIONA.

Gigi600 il 18/4/2018, 7:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si , quando fa così da Mia esperienza può essere che non sia connesso al wifi devi controllare le impostazioni wifi .
Devi fare molta attenzione a impostare user e password e dare un indirizzo IP che non vada in conflitto con altri  ;)

lucasky :


LO SKETCH DI PAGINA UNO PER ESP FUNZIONA? HO PROVATO MA LAMPEGGIA SOLO IL LED TX SUL TTL. STESSO CIRCUITO COLLEGATO TX E RX AD ARDUINO FUNZIONA.




lucasky il 18/4/2018, 18:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si , quando fa così da Mia esperienza può essere che non sia connesso al wifi devi controllare le impostazioni wifi .
Devi fare molta attenzione a impostare user e password e dare un indirizzo IP che non vada in conflitto con altri  ;)

lucasky :


LO SKETCH DI PAGINA UNO PER ESP FUNZIONA? HO PROVATO MA LAMPEGGIA SOLO IL LED TX SUL TTL. STESSO CIRCUITO COLLEGATO TX E RX AD ARDUINO FUNZIONA.





Il router è dedicato solo a lui, quindi nessun conflitto. Ho controllato nella lista connessioni wi-fi del router e c'è. Se lo pingo, risponde. Deduco che sia collegato. Ma quando arriva da nuovo va aggiornato il firmware prima di caricare lo skatch?

Gigi600 il 18/4/2018, 18:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
No basta che carichi  lo  Sketch.

Edit:
Quando dai tensione si accende il led rosso e rimane sempre acceso
Dopo un po si accende il led blu per 1 secondo circa
dopo qualche secondo il led blu fa 5 lampeggi appena percettibili , significa che dialoga e invia

lucasky il 18/4/2018, 19:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
No basta che carichi  lo  Sketch.

Edit:
Quando dai tensione si accende il led rosso e rimane sempre acceso
Dopo un po si accende il led blu per 1 secondo circa
dopo qualche secondo il led blu fa 5 lampeggi appena percettibili , significa che dialoga e invia



Led rosso Ok
Led blu un lampeggio OK
Poi led blu sempre un lampeggio contemporaneamente led rosso TX su TTL. Nessun lampeggio Led RX TTL.
Il bello che il TTL è lo stesso che ho fatto le prove con Arduino. Infatti basta che ricollego TX e RX su arduino tutto funziona.
Quindi i cablaggi sono OK. Che faccio cambio TTL? O ESP?

Gigi600 il 18/4/2018, 21:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :


Led rosso Ok
Led blu un lampeggio OK
Poi led blu sempre un lampeggio contemporaneamente led rosso TX su TTL. Nessun lampeggio Led RX TTL.
Il bello che il TTL è lo stesso che ho fatto le prove con Arduino. Infatti basta che ricollego TX e RX su arduino tutto funziona.
Quindi i cablaggi sono OK. Che faccio cambio TTL? O ESP?



Tutte le prove che ho fatto il TTL va bene sia su arduino che ESP.
TTL e ESP alimentati a 3,3 volt ?
Hai preso l'alimentazione dal regolatore ?
Sul BN e LS ho alimentato con il regolatore ( cavo lan ) anche se non cambia .
Sul RN ho preso l'alimentazione dal recarico regolatore.
Per ridurre la tensione hai usato un riduttore tipo in schema ?
Il cablaggio esp come lo schema ...immagino siano Ok  ;)

Nell'ESP in malga avevo problemi Mi sono accorto, e non subito  ,  che il jack maschio femmina era ossidato internamente ( dopo due anni )  i salti di temperatura e umidità nel quadro stagno in ferro c'era condensa/acqua .
Questo per dire che se non ci sono i 3,3 volt magari crea problemi.


Allegati:
schema_esp_reg_bn_002.JPG

lucasky il 18/4/2018, 22:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :


Led rosso Ok
Led blu un lampeggio OK
Poi led blu sempre un lampeggio contemporaneamente led rosso TX su TTL. Nessun lampeggio Led RX TTL.
Il bello che il TTL è lo stesso che ho fatto le prove con Arduino. Infatti basta che ricollego TX e RX su arduino tutto funziona.
Quindi i cablaggi sono OK. Che faccio cambio TTL? O ESP?



Tutte le prove che ho fatto il TTL va bene sia su arduino che ESP.
TTL e ESP alimentati a 3,3 volt ?
Hai preso l'alimentazione dal regolatore ?
Sul BN e LS ho alimentato con il regolatore ( cavo lan ) anche se non cambia .
Sul RN ho preso l'alimentazione dal recarico regolatore.
Per ridurre la tensione hai usato un riduttore tipo in schema ?
Il cablaggio esp come lo schema ...immagino siano Ok  ;)

Nell'ESP in malga avevo problemi Mi sono accorto, e non subito  ,  che il jack maschio femmina era ossidato internamente ( dopo due anni )  i salti di temperatura e umidità nel quadro stagno in ferro c'era condensa/acqua .
Questo per dire che se non ci sono i 3,3 volt magari crea problemi.



Si alimentati a 3,3 volt con lo stabilizzatore in foto.
Alimentazione presa da regolatore.
Regolatore bn nuovo di zecca.

Ho alimentato il TTL e ESP direttamente dal regolatore con riduttore 3,3V presenta il problema che dicevo. Utilizzando stesso hardware, se collego semplicemente il TX e RX TTL ad Arduino alimentato separatamente a 7V funziona..!!! Quindi è ESP che non va!!! Ho anche aggiornato ESP ad ultimo firmware, poi ricaricato lo sketch ma nulla da fare. Domani provo un TTL nuovo...

Unica nota che ho un ESP con memoria da 1M... Non so se cambia con quello da 512K...

electronic il 18/4/2018, 22:40
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve ragazzi,
non avendo sotto mano il regolatore, come posso verificare la comunicazione tra ESP e pagina web? Sto provando ad inviare dei dati di prova alla pagina ma non riesco.
Ci sono dei file relativi alla pagina web da modificare?

lucasky il 19/4/2018, 16:01
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Salve ragazzi,
non avendo sotto mano il regolatore, come posso verificare la comunicazione tra ESP e pagina web? Sto provando ad inviare dei dati di prova alla pagina ma non riesco.
Ci sono dei file relativi alla pagina web da modificare?



Se non legge i dati dal regolatore non invia nulla. Unico modo puoi provare digitando il link sul browser con valori casuali e vedi se li memorizza nel database. La stringa da inviare la trovi nello Sketch

Gigi600 il 19/4/2018, 16:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :

Si alimentati a 3,3 volt con lo stabilizzatore in foto.
Alimentazione presa da regolatore.
Regolatore bn nuovo di zecca.

Ho alimentato il TTL e ESP direttamente dal regolatore con riduttore 3,3V presenta il problema che dicevo. Utilizzando stesso hardware, se collego semplicemente il TX e RX TTL ad Arduino alimentato separatamente a 7V funziona..!!! Quindi è ESP che non va!!! Ho anche aggiornato ESP ad ultimo firmware, poi ricaricato lo sketch ma nulla da fare. Domani provo un TTL nuovo...

Unica nota che ho un ESP con memoria da 1M... Non so se cambia con quello da 512K...




Io ho quelli da 512k ma non penso centri .
Se hai disponibilità prova con un altro wifi.
Ricontrollare il cablaggio...

Altro non saprei

Gigi600 il 19/4/2018, 16:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Salve ragazzi,
non avendo sotto mano il regolatore, come posso verificare la comunicazione tra ESP e pagina web? Sto provando ad inviare dei dati di prova alla pagina ma non riesco.
Ci sono dei file relativi alla pagina web da modificare?




Per il test della pagina prova con questa stringa

http://tuosito.altervista.org/arduino/arduino.php?psw=xxxx&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000   


inserisci il nome del tuo sito, psw= ( la tua password )
incolla nella barra indirizzi e invia .
Aprendo la pagina dovresi trovare valori simili immagine
variando i valori cabiano anche nella pagina.

Allegati:
test_web.jpg

electronic il 21/4/2018, 12:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie ragazzi,
ho provato a mandare la stringa di prova ma mi risulta la pagina web bianca. Domanda stupida, ma la password a 6 cifre invece di 4 può dare problemi?
Spero di non aver fatto casino nel creare la pagina, ma purtroppo non è il mio campo.

Gigi600 il 23/4/2018, 11:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
La password  4 cifre la stessa messa in settaggi.php
Se è tutto ok Ti dovrebbe dare una pagina bianca con scritto
reset_ahupdate_ok
oppure
update_ok

lucasky il 23/4/2018, 17:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :

Si alimentati a 3,3 volt con lo stabilizzatore in foto.
Alimentazione presa da regolatore.
Regolatore bn nuovo di zecca.

Ho alimentato il TTL e ESP direttamente dal regolatore con riduttore 3,3V presenta il problema che dicevo. Utilizzando stesso hardware, se collego semplicemente il TX e RX TTL ad Arduino alimentato separatamente a 7V funziona..!!! Quindi è ESP che non va!!! Ho anche aggiornato ESP ad ultimo firmware, poi ricaricato lo sketch ma nulla da fare. Domani provo un TTL nuovo...

Unica nota che ho un ESP con memoria da 1M... Non so se cambia con quello da 512K...




Io ho quelli da 512k ma non penso centri .
Se hai disponibilità prova con un altro wifi.
Ricontrollare il cablaggio...

Altro non saprei



Salve, ho ordinato altri ESP, programmato, ma nulla sempre lo stesso problema. Lampeggia solo TX.. Anche quelli che mi sono arrivati credo siano con memoria da 1M (scheda color nero). Qualcuno sa dove posso reperire quelli da 512k (scheda color blu) per fare le prove... Non capisco perchè non trasmette anche se tutto collegato bene e wi-fi connesso...

Gigi600 il 23/4/2018, 19:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
I Miei ESP sono con scheda tutti neri 
ma sono da 512 K
Questo è da 512 ... almeno nell'immagine
LINK


emuland2 il 23/4/2018, 21:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
hai il mio stesso problema..

secondo me é u
cambiato qualcosa nel tracer



i miei sono acquistato nel 2017, nn so l annp di fabbricazione

emuland2 il 23/4/2018, 21:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
V01.12+V02.11 questo leggo dal software Windows

lucasky il 23/4/2018, 22:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
I Miei ESP sono con scheda tutti neri 
ma sono da 512 K
Questo è da 512 ... almeno nell'immagine
LINK



Upgrade Version ossia esp8266-01 credo sia quello da 1M. Ho letto che quelli da 512K sono blu. Comunque la mia è solo una teoria, perché non capisco perché non va. Ripeto, lo stesso circuito, collegato ad Arduino, tutto Ok... Collegando il TTL a ESP niente da fare... Si collega ma non trasmette nulla. Lampeggia solo il Led TX.
Boh...

lucasky il 23/4/2018, 22:31
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
hai il mio stesso problema..

secondo me é u
cambiato qualcosa nel tracer



i miei sono acquistato nel 2017, nn so l annp di fabbricazione



Non credo, con Arduino tutto OK.!!!

Gigi600 il 23/4/2018, 23:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non insisto  ;)... domani verifico ma i Miei sono da 512 k
Ho verificato quelli da 1 M hanno lo stesso schema , quindi "dovrebbe" funzionare.
è solo un fatto di memoria più capiente non "dovrebbe" influire sul funzionamento 
Ma il led blu dell'esp fa un lampeggio ogni 10-15 sec ?

Hai un TRACER-xxxxA simile a quello in video 

LINK
Visto che Ha lo stesso software della serie BN e LS la comunicazione è la stessa quindi "dovrebbe" andare  ;)
Nel video sembra che abbiano collegato A al 6  , In vece nello Mio schema è al 5
Dallo schema del tracer A è uguale al BN , ci sono due A
Che dire prova cambiare dal 5 al 6
Ma rimane il fatto che con arduino funziona .
Dovrei andarmi a comprare un xxxxA e fare delle prove 

lucasky :



Upgrade Version ossia esp8266-01 credo sia quello da 1M. Ho letto che quelli da 512K sono blu. Comunque la mia è solo una teoria, perché non capisco perché non va. Ripeto, lo stesso circuito, collegato ad Arduino, tutto Ok... Collegando il TTL a ESP niente da fare... Si collega ma non trasmette nulla. Lampeggia solo il Led TX.
Boh...




Allegati:
IMG_7332.jpeg

lucasky il 24/4/2018, 9:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Non insisto  ;)... domani verifico ma i Miei sono da 512 k
Ho verificato quelli da 1 M hanno lo stesso schema , quindi "dovrebbe" funzionare.
è solo un fatto di memoria più capiente non "dovrebbe" influire sul funzionamento 
Ma il led blu dell'esp fa un lampeggio ogni 10-15 sec ?

Hai un TRACER-xxxxA simile a quello in video 

LINK
Visto che Ha lo stesso software della serie BN e LS la comunicazione è la stessa quindi "dovrebbe" andare  ;)
Nel video sembra che abbiano collegato A al 6  , In vece nello Mio schema è al 5
Dallo schema del tracer A è uguale al BN , ci sono due A
Che dire prova cambiare dal 5 al 6
Ma rimane il fatto che con arduino funziona .
Dovrei andarmi a comprare un xxxxA e fare delle prove 

lucasky :



Upgrade Version ossia esp8266-01 credo sia quello da 1M. Ho letto che quelli da 512K sono blu. Comunque la mia è solo una teoria, perché non capisco perché non va. Ripeto, lo stesso circuito, collegato ad Arduino, tutto Ok... Collegando il TTL a ESP niente da fare... Si collega ma non trasmette nulla. Lampeggia solo il Led TX.
Boh...





Si il Tracker è quello. Si fa un lampeggio ogni 10/15 sec.
Ho invertito il filo tx con rx tra ESP e TTL. Lampeggia RX su TTL. Quindi è da imputare all'ESP che non controlla la parte RX perchè nel collegamento giusto, lampeggia TX.
Come programmate l'ESP? Io utilizzo l'interfaccia USB, mettendo un pulsante tra il pin GND e GPIO0 per metterlo in program mode, ponte tra il pin 3.3V e "chip_enable", ed utilizzando il sw per Arduino con i drive "generic ESP8266 Module".
Giusto?
A progammazione eseguita, togliete sia pulsante che ponte 3.3V Chip_enable?
Ho seguito questa guida: https://www.reboot.ms/forum/threads/flash-firmware-su-esp8266.380/

electronic il 24/4/2018, 10:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
La password  4 cifre la stessa messa in settaggi.php
Se è tutto ok Ti dovrebbe dare una pagina bianca con scritto
reset_ahupdate_ok
oppure
update_ok



grazie Gigi, ho riprovato e adesso la pagina con stringa di test funziona. domani, se riesco, faccio qualche prova con il regolatore e poi vi informo

electronic il 24/4/2018, 10:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :

Come programmate l'ESP? Io utilizzo l'interfaccia USB, mettendo un pulsante tra il pin GND e GPIO0 per metterlo in program mode, ponte tra il pin 3.3V e "chip_enable", ed utilizzando il sw per Arduino con i drive "generic ESP8266 Module".
Giusto?
A progammazione eseguita, togliete sia pulsante che ponte 3.3V Chip_enable?
Ho seguito questa guida: https://www.reboot.ms/forum/threads/flash-firmware-su-esp8266.380/


Io non tocco il chip enable (sempre a Vcc), mentre GPIO 0 lo metto a massa con pulsante prima di alimentare l'esp e poi lo stacco.

Gigi600 il 24/4/2018, 10:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
Verificato ESP8266  è nero e ha 512 K come si vede dall'immagine programmazione.
Si lo hai programmato giusto perche Ti dovrebbe dare esito positivo a fine programmazione .
Il fatto per Mia esperienza del lampeggio blu ogni tanto sta a significare che non è collegato alla rete o non dialoga con il tracer 
Come ho scritto se è ok il led blu  fa 5 lampeggi appena percettibili ( in contemporanea lampeggia TX e RX del TTL ) poi pausa 5-6 sec e riavvia il ciclo.

Non samprei  Controlla la configurazione wifi dell'esp o prova con un altro wifi come detto in precedenza.

Escluso il TTL .. prova con un ESP da 512 k anche se ho dubbi .

lucasky :

Si il Tracker è quello. Si fa un lampeggio ogni 10/15 sec.
Ho invertito il filo tx con rx tra ESP e TTL. Lampeggia RX su TTL. Quindi è da imputare all'ESP che non controlla la parte RX perchè nel collegamento giusto, lampeggia TX.
Come programmate l'ESP? Io utilizzo l'interfaccia USB, mettendo un pulsante tra il pin GND e GPIO0 per metterlo in program mode, ponte tra il pin 3.3V e "chip_enable", ed utilizzando il sw per Arduino con i drive "generic ESP8266 Module".
Giusto?
A progammazione eseguita, togliete sia pulsante che ponte 3.3V Chip_enable?
Ho seguito questa guida: https://www.reboot.ms/forum/threads/flash-firmware-su-esp8266.380/




Allegati:
esp8266_prog.jpg

Gigi600 il 24/4/2018, 11:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
Bene !!
Aggiungo io uso questa interfaccia con il ponte dietro tra GPIO 0 a massa tramite un Jumper

electronic :
Gigi600 :
La password  4 cifre la stessa messa in settaggi.php
Se è tutto ok Ti dovrebbe dare una pagina bianca con scritto
reset_ahupdate_ok
oppure
update_ok



grazie Gigi, ho riprovato e adesso la pagina con stringa di test funziona. domani, se riesco, faccio qualche prova con il regolatore e poi vi informo




Allegati:
esp2_002.jpg

lucasky il 24/4/2018, 12:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Bene !!
Aggiungo io uso questa interfaccia con il ponte dietro tra GPIO 0 a massa tramite un Jumper

electronic :
Gigi600 :
La password  4 cifre la stessa messa in settaggi.php
Se è tutto ok Ti dovrebbe dare una pagina bianca con scritto
reset_ahupdate_ok
oppure
update_ok



grazie Gigi, ho riprovato e adesso la pagina con stringa di test funziona. domani, se riesco, faccio qualche prova con il regolatore e poi vi informo





OK. Il Chip_enable lo lasci collegato a VCC anche dopo la programmazione?

Gigi600 il 24/4/2018, 13:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :


OK. Il Chip_enable lo lasci collegato a VCC anche dopo la programmazione?


GPIO 0 a massa dopo la programmazione va staccato


lucasky il 24/4/2018, 14:22
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :


OK. Il Chip_enable lo lasci collegato a VCC anche dopo la programmazione?


GPIO 0 a massa dopo la programmazione va staccato



OK GpIO 0, ma Chip_enable (connesso a 3.3V)?

Gigi600 il 24/4/2018, 15:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :


OK GpIO 0, ma Chip_enable (connesso a 3.3V)?



Si sempre connesso sia in programmazione che in lavoro

lucasky il 24/4/2018, 17:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :


OK GpIO 0, ma Chip_enable (connesso a 3.3V)?



Si sempre connesso sia in programmazione che in lavoro



Niente, non so più cosa fare.... Arduino perfetto, ESP niente.
Riepilogando: connesso è connesso perchè lo pingo..
Provato con diversi ESP fa sempre lo stesso difetto.
Il TTL è ok perchè collegandolo ad Arduino va subito in trasmissione.
Parametri giusti ( ho anche messo wi-fi senza password)


Mi serviva usare ESP per non occupare una porta Lan con Arduino..

Gigi600 il 24/4/2018, 18:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Molto strano prova se Ti riesce con uno da 512 K

lucasky :


Niente, non so più cosa fare.... Arduino perfetto, ESP niente.
Riepilogando: connesso è connesso perchè lo pingo..
Provato con diversi ESP fa sempre lo stesso difetto.
Il TTL è ok perchè collegandolo ad Arduino va subito in trasmissione.
Parametri giusti ( ho anche messo wi-fi senza password)


Mi serviva usare ESP per non occupare una porta Lan con Arduino..




lucasky il 25/4/2018, 12:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Molto strano prova se Ti riesce con uno da 512 K

lucasky :


Niente, non so più cosa fare.... Arduino perfetto, ESP niente.
Riepilogando: connesso è connesso perchè lo pingo..
Provato con diversi ESP fa sempre lo stesso difetto.
Il TTL è ok perchè collegandolo ad Arduino va subito in trasmissione.
Parametri giusti ( ho anche messo wi-fi senza password)


Mi serviva usare ESP per non occupare una porta Lan con Arduino..





I secondi che ho ordinato sono da 512k. Almeno così sembra. Comunque programmando entrambe scrive FlashMemory 512K. Quindi non saprei.... Il colore del circuito in entrambe i casi è nero. Qualcuno me ne potrebbe spedire uno programmato, testato funzionante, in modo da fare delle prove. Naturalmente a pagamento... Se c'è possibilità vi scrivo il mio indirizzo.. Grazie

Gigi600 il 25/4/2018, 19:53
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :


I secondi che ho ordinato sono da 512k. Almeno così sembra. Comunque programmando entrambe scrive FlashMemory 512K. Quindi non saprei.... Il colore del circuito in entrambe i casi è nero. Qualcuno me ne potrebbe spedire uno programmato, testato funzionante, in modo da fare delle prove. Naturalmente a pagamento... Se c'è possibilità vi scrivo il mio indirizzo.. Grazie



Volentieri ma non penso si risolva 
Secondo Me c'è una configurazione che sfugge 
Comunque dammi in privato i codici di accesso al Tuo sito e wifi di casa come lo hai
Tanto non accederò mai 
Cerco di impostare un wifi con le tue impostazioni e testarlo 


saviothecnic il 26/4/2018, 10:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Domanda è possibile modificare questo programma
abilitando un uscita quando ho produzione solare ?

Avrei necessita d' avere una presa solare ovvero che sia attiva solo quando ho
un minimo di potenza disponibile dai pannelli fotovoltaici

Grazie

lucasky il 26/4/2018, 16:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :


I secondi che ho ordinato sono da 512k. Almeno così sembra. Comunque programmando entrambe scrive FlashMemory 512K. Quindi non saprei.... Il colore del circuito in entrambe i casi è nero. Qualcuno me ne potrebbe spedire uno programmato, testato funzionante, in modo da fare delle prove. Naturalmente a pagamento... Se c'è possibilità vi scrivo il mio indirizzo.. Grazie



Volentieri ma non penso si risolva 
Secondo Me c'è una configurazione che sfugge 
Comunque dammi in privato i codici di accesso al Tuo sito e wifi di casa come lo hai
Tanto non accederò mai 
Cerco di impostare un wifi con le tue impostazioni e testarlo 



OK, ci sentiamo al mio ritorno. Sono  fuoriuna settimana. Grazie in anticipo


electronic il 26/4/2018, 21:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Finalmente online! Funziona anche se la temperatura va corretta e vorrei migliorare delle cose, comunque sono già soddisfatto. Purtroppo non riesco a vedere i grafici 

Gigi600 il 27/4/2018, 8:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
Potrebbe essere che manca qualche file nel sito 
Ma alla fine hai usato arduino o ESP ?

electronic :
Finalmente online! Funziona anche se la temperatura va corretta e vorrei migliorare delle cose, comunque sono già soddisfatto. Purtroppo non riesco a vedere i grafici 




electronic il 28/4/2018, 14:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho usato ESP. Per il sito non saprei, ho già controllato i file ma lo farò di nuovo

electronic il 7/5/2018, 10:35
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao Gigi, potresti per favore postare i file che utilizzi per creare i grafici? Ancora non riesco a vederli.
Ogni tanto il sistema si blocca, ma credo sia un problema di connessione (con chiavetta internet).

Gigi600 il 7/5/2018, 11:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ciao
Sono gli stessi di pagina 1
Non si vede nemmeno grafici mese e anno 
Eccolo:

LINK

All'inizio avevo una chiavetta tre e andava bene

Poi ho messo internet ( Da Mia Madre ) e ho messo un ripetitore wifi ma si bloccava ogni tanto  Da gennaio ne ho uno nuovo ed è perfetto.


electronic :
Ciao Gigi, potresti per favore postare i file che utilizzi per creare i grafici? Ancora non riesco a vederli.
Ogni tanto il sistema si blocca, ma credo sia un problema di connessione (con chiavetta internet).




electronic il 8/5/2018, 14:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho caricato di nuovo database e file relativi ai grafici, ma ancora niente grafici

Gigi600 il 8/5/2018, 14:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma nel database ci sono dati ?
Se si  c'è qualcosa  nei file del server 


electronic il 8/5/2018, 16:17
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si i dati ci sono, anche se con carico attivo leggo dei valori un po' strani.

Gigi600 il 8/5/2018, 17:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Adesso è tutto a zero , probabilmente hai resettato e non invia niente.
Unica cosa è lasciarlo che invii almeno 24 ore , verificare se sul data base ci sono almeno circa un 500 dati e il grafico dovrebbe vedersi.
Se non si vedono c'è qualcosa nei file del sito .
In quel caso se Vuoi passami in privato i dati acesso al sito che ci do un occhio 

electronic il 8/5/2018, 20:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Grazie mille per la disponibilità. Aspettiamo 24 ore. Ma se il router viene resettato va tutto in tilt o saltano solo alcune misurazioni?

Gigi600 il 8/5/2018, 20:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
No perdi alcuni dati ma il grafico mese anno si deve vedere e anche grafici selezionando il calendario.
Ora si vede una pagina bianca .

Allegati:
grafico.jpg

calasci il 9/5/2018, 8:09
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buongiorno, interessa pure a me

calasci il 10/5/2018, 22:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
E possibile avere il sunto per poterlo fare con il mio 3210AN. ?

calasci il 11/5/2018, 7:34
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se ho capito è letto giusto , mi serve questo
Tra l'altro il venditore c'è lo a 100mt da casa mia

https://m.ebay.it/itm/262990181792

https://m.ebay.it/itm/263003254103

https://m.ebay.it/itm/311724896088

Gigi600 il 11/5/2018, 13:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
In prima pagina trovi gli schemi e tutto l'occorrente
Si possono scegliere due modi
1) arduino
2)Esp8266
Nel Tuo caso Ti caso serve convertitore rs232 > rs485 Uno uguale all'immagine allegata.

Il convertitore rs232 >rs485 che hai postato non va bene

calasci :
Se ho capito è letto giusto , mi serve questo
Tra l'altro il venditore c'è lo a 100mt da casa mia

https://m.ebay.it/itm/262990181792

https://m.ebay.it/itm/263003254103

https://m.ebay.it/itm/311724896088




Allegati:
rs485_001.jpg

calasci il 11/5/2018, 19:47
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
In prima pagina trovi gli schemi e tutto l'occorrente
Si possono scegliere due modi
1) arduino
2)Esp8266
Nel Tuo caso Ti caso serve convertitore rs232 > rs485 Uno uguale all'immagine allegata.

Il convertitore rs232 >rs485 che hai postato non va bene

calasci :
Se ho capito è letto giusto , mi serve questo
Tra l'altro il venditore c'è lo a 100mt da casa mia

https://m.ebay.it/itm/262990181792

https://m.ebay.it/itm/263003254103

https://m.ebay.it/itm/311724896088




Ok grazie la prossima settimana vado a dare un occhiata se trovo  vicino casa il convertitore.

calasci il 11/5/2018, 19:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
https://m.ebay.it/itm/Modulo-convertitore-da-RS485-a-porta-seriale-uart-TTL-da-3-3v-a-5-5v-per-Arduino/263390806089?hash=item3d5350c049:g:U9YAAOSwbtNaNUjT

Sembra questo

calasci il 11/5/2018, 19:58
Re: Monitoraggio regolatori Ep Solar tracer dal web
Quale uso ?

Allegati:
IMG_20180511_195731.jpg

electronic il 11/5/2018, 22:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se usi Arduino ti serve lo shield ethernet + convertitore, se usi esp8266 ti basta solo il convertitore.

PS: l' esp8266 funziona a 3.3V

calasci il 12/5/2018, 2:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
Devo collegare più di un regolatore al router wifi  x potere vedere i valori da internet  che mi consigli ?senza pc

calasci il 13/5/2018, 12:48
Re: Monitoraggio regolatori Ep Solar tracer dal web
in questa versione ,Regolatori serie RN con esp8266-01    perche alimenti il riduttore di tensione con l'uscita del solare per la notturna ?
il modello  esp8266-01   da   questo esp8266  cosa cambia ?
hai per caso visto il consumo  di gb per tenere attiva la pagina web ?
io dovrei collegarlo al router wifi  con sim  con 1 gb di dati e gia ce collegato una webcam ip

calasci il 13/5/2018, 17:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Per usare la ESP , x configurarlo serve  Arduino ?
Considera che Arduino  c'è lo ma non lo mai  usato

calasci il 13/5/2018, 22:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
ho dovuto installare una versione precedente la 1.6.5 del programma per arduino per potere caricare i pacchetti per esp8266

calasci il 14/5/2018, 7:31
Re: Monitoraggio regolatori Ep Solar tracer dal web
quale programma hai usato per caricare i file su altervista ?

calasci il 14/5/2018, 8:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
spero di avere fatto giusto ,Trasforma AlterBlog in un AlterSito

per attivare ftp

calasci il 14/5/2018, 9:20
Re: Monitoraggio regolatori Ep Solar tracer dal web
dopo diversi tentativi
http://calasci.altervista.org/

funziona , adesso aspetto il modulo wifi

calasci il 14/5/2018, 13:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho compilato il file per il wifi ,.ma è possibile che ci stia più di 40 minuti ?
Solo per controllarlo , ho riavviato il PC diverse volte pensando sia il pc

calasci il 14/5/2018, 19:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
sono bloccato , non riesco a capire come programmare il modulo wifi tramite solo arduino ......

electronic il 14/5/2018, 22:55
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se hai ESP 01 devi usare il convertitore usb-seriale come in figura o qualcosa di simile
Poi usi l'ide di arduino per programmare, selezionando generic esp8266

Purtroppo ancora la mia pagina non va come dovrebbe

Allegati:
esp2_002_001.jpg

calasci il 14/5/2018, 23:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
forse sono riuscito a programmarlo , ma non mi da i dati

calasci.altervista.org

calasci il 15/5/2018, 12:39
Re: Monitoraggio regolatori Ep Solar tracer dal web
adesso vedo dal router che il modulo wifi si collega ,

ma non ho i dati qui

calasci.altervista.org

calasci il 15/5/2018, 15:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Come posso provare a vedere se su altervista i dati li riceve ?
Magari con un comando ??

electronic il 15/5/2018, 19:05
Re: Monitoraggio regolatori Ep Solar tracer dal web
Puoi vedere sul database

calasci il 15/5/2018, 19:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Puoi vedere sul database


sarebbe ?

calasci il 15/5/2018, 20:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
cosi e giusto ?

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[] = "calasci.altervista.org"; //indirizzo del server web
const char* ssid = "Vodafone-30389721"; // indica il nome della rete wi-fi
const char* password = "tuaji0000009wkz";    // password della rete wi-fi
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
const int psw = 000000; //password per l'aggiornamento dati server web
const int psw2 = 000000; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//-------------------------- Fine settaggi

calasci il 15/5/2018, 20:45
Re: Monitoraggio regolatori Ep Solar tracer dal web
devo toglierle le virgolette ?
"calasci.altervista.org"; //indirizzo del server web

calasci il 15/5/2018, 22:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
stavo pensando , ho un altro regolatore dell aphaelettronica  asr130
https://www.alphaelettronica.com/alpha-solar-planet-fotovoltaico/regolatori-di-carica/mppt/famiglia-asr130.html

LINK

e possibile collegarlo ?


Allegati:
asr130.jpg

calasci il 15/5/2018, 22:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
parla di 485 ......

Allegati:
Screenshot_20180515-215523.jpg

Gigi600 il 15/5/2018, 23:32
Re: Monitoraggio regolatori Ep Solar tracer dal web
Devono essere quattro 1234
La prima cifra non zero

calasci :
cosi e giusto ?

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[] = "calasci.altervista.org"; //indirizzo del server web
const char* ssid = "Vodafone-30389721"; // indica il nome della rete wi-fi
const char* password = "tuaji0000009wkz";    // password della rete wi-fi
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
[color=#ff0000]const int psw = 000000; //password per l'aggiornamento dati server web
const int psw2 = 000000; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//-------------------------- Fine settaggi




calasci il 16/5/2018, 6:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Devono essere quattro 1234
La prima cifra non zero

calasci :
cosi e giusto ?

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[] = "calasci.altervista.org"; //indirizzo del server web
const char* ssid = "Vodafone-30389721"; // indica il nome della rete wi-fi
const char* password = "tuaji0000009wkz";    // password della rete wi-fi
int unsigned long  capacita_batteria = 300; //indica la capacità della batteria in carica in Ah
[color=#ff0000]const int psw = 000000; //password per l'aggiornamento dati server web
const int psw2 = 000000; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//-------------------------- Fine settaggi




Ok ,4 cifre, ma le virgolette  ci vanno .?

calasci il 16/5/2018, 8:43
Re: Monitoraggio regolatori Ep Solar tracer dal web
ma qua si devono digitare le pasword ?


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;

calasci il 16/5/2018, 9:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
qua per il code 8266  , parla di arduino eternet  , e giusto ?

  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())

calasci il 16/5/2018, 12:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Mi sono perso , chi può postare i file giusti ?

Gigi600 il 16/5/2018, 13:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Si le virgolette ci vanno solo 4 numeri e non lo 0 iniziale.
ESP8266 è un modo
Arduino + Ethernet Shield un altro .
Ripeto i file sono chiaramente descritti all'inizio pagina.

calasci il 16/5/2018, 15:01
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
Si le virgolette ci vanno solo 4 numeri e non lo 0 iniziale.
ESP8266 è un modo
Arduino + Ethernet Shield un altro .
Ripeto i file sono chiaramente descritti all'inizio pagina.


Quindi quelli a inizio pagina  sono giusti ?
Il file per il sito , non vanno modificati ?

calasci il 16/5/2018, 15:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Quindi la password deve essere di 4 cifre e non ci deve essere lo zero come numero iniziale ?

calasci il 16/5/2018, 15:57
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ho guardato e altervista vuole minimo 8 caratteri come password  >

Gigi600 il 16/5/2018, 18:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
calasci :
Ho guardato e altervista vuole minimo 8 caratteri come password  >




la password che dicevo NON è di altervista ma accesso  al file /arduino/ arduino.php 





//------------------------- Settaggi
IPAddress ip(192, 168, 1, 113);      //indirizzo ip da assegnare a esp8266
IPAddress gateway(192, 168, 1, 254);  //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[] = "miosito.altervista.org"; //indirizzo del server web
const char* ssid = "admin"; // indica il nome della rete wi-fi
const char* password = "securepass";    // password della rete wi-fi
int unsigned long  capacita_batteria = 200; //indica la capacità della batteria in carica in Ah
const int psw = 1234; //password per l'aggiornamento dati server web
const int psw2 = 5678; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//-------------------------- Fine settaggi


calasci il 16/5/2018, 19:00
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
calasci :
Ho guardato e altervista vuole minimo 8 caratteri come password  >




la password che dicevo NON è di altervista ma accesso  al file /arduino/ arduino.php 





//------------------------- Settaggi
IPAddress ip(192, 168, 1, 113);      //indirizzo ip da assegnare a esp8266
IPAddress gateway(192, 168, 1, 254);  //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[] = "miosito.altervista.org"; //indirizzo del server web
const char* ssid = "admin"; // indica il nome della rete wi-fi
const char* password = "securepass";    // password della rete wi-fi
int unsigned long  capacita_batteria = 200; //indica la capacità della batteria in carica in Ah
const int psw = 1234; //password per l'aggiornamento dati server web
const int psw2 = 5678; //password per sincronizzazione ah server web
const char* regolatore = "bn"; //bn=regolatori serie BN ---- rn=regolatori serie RN
//-------------------------- Fine settaggi




ok grazie , ho riletto le prime pagine , ma con il cellulare mi era spuggita.

altra cosa non trovo dove mettere la password di altervista ?

Gigi600 il 16/5/2018, 19:12
Re: Monitoraggio regolatori Ep Solar tracer dal web


.....altra cosa non trovo dove mettere la password di altervista ?

Non serve   ;)


calasci il 16/5/2018, 23:06
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :


.....altra cosa non trovo dove mettere la password di altervista ?

Non serve   ;)


Ok , grazie.

Adesso a forza di smanettare ho buttato giù  calasci.altervista.org

calasci il 17/5/2018, 12:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
mi spiegate meglio :

ossiamo ora caricare via ftp i file sulla root principale del server web, ma ancora non funzionerà nulla perchè dobbiamo preparare il database. Se avete scelto come me (e ve lo consiglio) uno spazio web fornito gratuitamente da altervista, una volta aperto il vostro pannello di controllo dovete cliccare su “Accedi a PhpMyAdmin”. Si aprirà una pagina, quindi cliccare sul nome del database che sarà “my_solare” nel mio caso (nel vostro caso il nome sarà quello che avete scelto quando avete aperto lo spazio web) in alto a sinistra, quindi senza far altro cliccare su “importa”, subito sotto scegliere il file dtb.sql caricato a fine post e cliccare su esegui. Questo preparerà il vostro database ad accogliere i dati.

Proseguiamo ora a caricare i file sul server remoto che sono a fine post, prima però dobbiamo editare il file settaggi.php con i nostri dati.

la prima volta ci sono riuscito , adesso no.....

calasci il 17/5/2018, 16:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sono di nuovo online , fatto con il cellulare
,Stessa  procedura del PC .

http://camper.altervista.org

lucasky il 17/5/2018, 17:03
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :
lucasky :


I secondi che ho ordinato sono da 512k. Almeno così sembra. Comunque programmando entrambe scrive FlashMemory 512K. Quindi non saprei.... Il colore del circuito in entrambe i casi è nero. Qualcuno me ne potrebbe spedire uno programmato, testato funzionante, in modo da fare delle prove. Naturalmente a pagamento... Se c'è possibilità vi scrivo il mio indirizzo.. Grazie



Volentieri ma non penso si risolva 
Secondo Me c'è una configurazione che sfugge 
Comunque dammi in privato i codici di accesso al Tuo sito e wifi di casa come lo hai
Tanto non accederò mai 
Cerco di impostare un wifi con le tue impostazioni e testarlo 



Ciao, eccomi tornato. Prima di buttare tutto l'ESP dalla finestra,  volevo un confronto: che versione di Arduino IDE utilizzate per la programmazione di ESP? Windows 7 - 10 o altro? Credo che a questo punto sia un problema si SW dato che tutti i 3 ESP fanno lo stesso problema. Connessi, pingabili ma non invia i dati. Led convertitore lampeggia solo TX e stesso circuito con Arduino perfettamente funzionante...!!! > >

calasci il 17/5/2018, 20:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ma non c'è un modo per vedere se trasmette ?

calasci il 17/5/2018, 22:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
http://camper.altervista.org/arduino/arduino.php?psw=1234&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000   


errore :
Errore selezione database: Access denied for user 'camper'@'localhost' to database 'camper'

camper.altervista.org




calasci il 18/5/2018, 6:48
Re: Monitoraggio regolatori Ep Solar tracer dal web


ma le connessioni sono giuste ?


Allegati:
schema_esp_reg_rn_001.jpg

lucasky il 18/5/2018, 12:26
Re: Monitoraggio regolatori Ep Solar tracer dal web
calasci :


ma le connessioni sono giuste ?



Cosa centrano le connessioni?? Certo sono giuste. Il tuo problema sono le impostazioni del database nel tuo spazio web. Cerca di impostare bene i parametri di connessione al database e prova con la stringa. Ti deve restituire "Update OK"

calasci il 18/5/2018, 19:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
Qua prende un polo a e un b ....

Allegati:
schema_esp_reg_bn_003.JPG

Gigi600 il 19/5/2018, 8:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Se vedi sono due schemi e due regolatori diversi  e hanno due tipi di comunicazione diverso devi usare quello che fa al caso Tuo .

calasci :
Qua prende un polo a e un b ....




Gigi600 il 19/5/2018, 8:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Win 10 professional e Arduino 1.8.5

lucasky :


Ciao, eccomi tornato. Prima di buttare tutto l'ESP dalla finestra,  volevo un confronto: che versione di Arduino IDE utilizzate per la programmazione di ESP? Windows 7 - 10 o altro? Credo che a questo punto sia un problema si SW dato che tutti i 3 ESP fanno lo stesso problema. Connessi, pingabili ma non invia i dati. Led convertitore lampeggia solo TX e stesso circuito con Arduino perfettamente funzionante...!!! > >




electronic il 20/5/2018, 15:14
Re: Monitoraggio regolatori Ep Solar tracer dal web
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello

Gigi600 il 20/5/2018, 18:24
Re: Monitoraggio regolatori Ep Solar tracer dal web
Errore Mio avevo settato BN 
Ora è ok compreso grafici
Quindi lascia un po che vediamo e poi prova a rifare da capo il Tuo sito cancellando database e web serve e ricarica tutto che vediamo se i grafici vanno  ;)

electronic :
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello




calasci il 21/5/2018, 15:25
Re: Monitoraggio regolatori Ep Solar tracer dal web
finalmente ho capito dove sbagliavo ,


<?php
$tipo_regolatore="rn"; //indicare esclusivamente se il regolatore è serie rn oppure bn
$nome_database="my_calascicamper"; //nome del database
$psw = 1234; //password valida per l'aggiornamento dei dati
$psw2 = 5678; // password valida per ottenere la sincronizzazione di arduino con gli Ah del giorno salvati
?>





io invece sbagliando scrivevo





<?php
$tipo_regolatore="rn"; //indicare esclusivamente se il regolatore è serie rn oppure bn
$nome_database="calascicamper"; //nome del database
$psw = 1234; //password valida per l'aggiornamento dei dati
$psw2 = 5678; // password valida per ottenere la sincronizzazione di arduino con gli Ah del giorno salvati
?>

ora aspetto che arrivi interfaccia 232/586

calasci il 21/5/2018, 15:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
una domanda ,

io dovrei interfacciare  3 regolatori , e possibile averli nella stessa pagina ???????????

lucasky il 22/5/2018, 11:52
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello




FUNZIONAAAAA...!!! IL PROBLEMA ERA SOLO LA VERSIONE DEL PROGRAMMATORE PER ESP8266....


Allegati:
IMG_4031.PNG

electronic il 22/5/2018, 12:41
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo!
Qual è la tua pagina e il modello del tuo regolatore?

calasci il 22/5/2018, 13:23
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
electronic :
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello




FUNZIONAAAAA...!!! IL PROBLEMA ERA SOLO LA VERSIONE DEL PROGRAMMATORE PER ESP8266....


Quale programma stai  usando  ?

lucasky il 22/5/2018, 23:49
Re: Monitoraggio regolatori Ep Solar tracer dal web
electronic :
Ottimo!
Qual è la tua pagina e il modello del tuo regolatore?



Ciao, il modelo è Epsolar Tracer3210A.
Non ho una pagina, uso la mia app che ho pubblicato qualche mese fa qui.

lucasky il 22/5/2018, 23:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
calasci :
lucasky :
electronic :
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello




FUNZIONAAAAA...!!! IL PROBLEMA ERA SOLO LA VERSIONE DEL PROGRAMMATORE PER ESP8266....


Quale programma stai  usando  ?



Programma? Cosa intendi? Se ti riferisci alla figura, è un'app che ho fatto io e pubblicato i file sorgente qui sul forum qualche mese fa.. ;) ;)

lucasky il 22/5/2018, 23:54
Re: Monitoraggio regolatori Ep Solar tracer dal web
calasci :
una domanda ,

io dovrei interfacciare  3 regolatori , e possibile averli nella stessa pagina ???????????



Certo, dovresti avere 3 database differenti e una pagina web contenente le 3 diverse visualizzazioni...

calasci il 23/5/2018, 6:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
calasci :
lucasky :
electronic :
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello




FUNZIONAAAAA...!!! IL PROBLEMA ERA SOLO LA VERSIONE DEL PROGRAMMATORE PER ESP8266....


Quale programma stai  usando  ?



Programma? Cosa intendi? Se ti riferisci alla figura, è un'app che ho fatto io e pubblicato i file sorgente qui sul forum qualche mese fa.. ;) ;)



Bravo .
Proprio quella  dove la trovo 

Grazie

calasci il 23/5/2018, 6:12
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
calasci :
una domanda ,

io dovrei interfacciare  3 regolatori , e possibile averli nella stessa pagina ???????????



Certo, dovresti avere 3 database differenti e una pagina web contenente le 3 diverse visualizzazioni...




Spero che chi a iniziato questo post li faccia , non credo di essere  l'unico ad avere più di un regolatore   

Grazie di averlo condiviso .


calasci il 23/5/2018, 14:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
Questi sono i file sorgenti per l'app. Installateli nella stessa directory dove avete gli altri file. Editate il file settings.php con i vostri dati di connessione. Una volta fatto, per avere l'icona dell'app sul vostro smartphone, basta richiamare il file index.php con il browser (safari iOS - chrome Android) poi con l'apposito cursore, fare "Aggiungi a Home". Senza modificare nulla, fate aggiungi e avrete l'icona sullo schermo del telefono. Quando aprirete l'App avrà le stesse funzioni di una installata nel telefono, ma in realtà risiede nel vostro server.
Per qualsiasi suggerimento sono qui....



Mi spieghi meglio come fare ?

Grazie


lucasky il 23/5/2018, 18:09
Re: Monitoraggio regolatori Ep Solar tracer dal web
calasci :
lucasky :
Questi sono i file sorgenti per l'app. Installateli nella stessa directory dove avete gli altri file. Editate il file settings.php con i vostri dati di connessione. Una volta fatto, per avere l'icona dell'app sul vostro smartphone, basta richiamare il file index.php con il browser (safari iOS - chrome Android) poi con l'apposito cursore, fare "Aggiungi a Home". Senza modificare nulla, fate aggiungi e avrete l'icona sullo schermo del telefono. Quando aprirete l'App avrà le stesse funzioni di una installata nel telefono, ma in realtà risiede nel vostro server.
Per qualsiasi suggerimento sono qui....



Mi spieghi meglio come fare ?

Grazie



Ciao, devi avrere un minimo di conoscenza di programmazione PHP per poter mettere 3 dadabase sulla stessa pagina e di conseguenza monitorarli contemporaneamente. Per l'App, devi installare i file nel tuo dominio e poi configurarli come gli altri.

calasci il 23/5/2018, 19:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
lucasky :
calasci :
lucasky :
Questi sono i file sorgenti per l'app. Installateli nella stessa directory dove avete gli altri file. Editate il file settings.php con i vostri dati di connessione. Una volta fatto, per avere l'icona dell'app sul vostro smartphone, basta richiamare il file index.php con il browser (safari iOS - chrome Android) poi con l'apposito cursore, fare "Aggiungi a Home". Senza modificare nulla, fate aggiungi e avrete l'icona sullo schermo del telefono. Quando aprirete l'App avrà le stesse funzioni di una installata nel telefono, ma in realtà risiede nel vostro server.
Per qualsiasi suggerimento sono qui....



Mi spieghi meglio come fare ?

Grazie



Ciao, devi avrere un minimo di conoscenza di programmazione PHP per poter mettere 3 dadabase sulla stessa pagina e di conseguenza monitorarli contemporaneamente. Per l'App, devi installare i file nel tuo dominio e poi configurarli come gli altri.



Ok, e al  di fuori della mia portata


calasci il 24/5/2018, 22:02
Re: Monitoraggio regolatori Ep Solar tracer dal web
funziona funziona 

tracer 3210an + 8266 +rs485

unico neo non mi aggiorna la temperatura, e rivela molto lentamente se scende la tensione del solare, ma se sale la tensione lo rileva in ritardo di pochi secondi

Allegati:
ok.JPG

calasci il 27/5/2018, 13:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
Finalmente funziona ,

Allegati:
Screenshot_20180527-132842.jpg

calasci il 4/6/2018, 11:30
Re: Monitoraggio regolatori Ep Solar tracer dal web
A me il grafico non funziona, come risolvo ?

saviothecnic il 13/6/2018, 10:16
Re: Monitoraggio regolatori Ep Solar tracer dal web
Buon Giorno a Voi mi è arrivato anche i Bestione da 60A
a breve vedro se funziona anche lui con questo splendito progetto.

Una domanda da ignorante ma il segnale RS-485 posso collegarlo in parallelo ?

Lo chiedo perche vorrei usare sia il tastierino MT 50
che il EPSOLAR EBOX-WIFI-01 che questo supervisore
in caso sia fattibile batsa collegare i cavi in parallelo o serve qualche circuito
per dividere un tre il segnale RS-485 ?

Altra domanda avendo il modulo WiFI EPSOLAR EBOX-WIFI-01 posso sfruttare
questo WiFI per la Supervisione del topic o cumunque devo Usare ESP826 o Arduino ?

Grazie

Allegati:
DifferenzaItracer_001.jpg

electronic il 24/6/2018, 18:51
Re: Monitoraggio regolatori Ep Solar tracer dal web
Salve a tutti
ho ancora qualche problema con la visualizzazione degli amperora sulla pagina web. Ieri ho riprogrammato l' esp8266 ed ho notato che c'è qualcosa che non va. Sulla seriale stampa il messaggio in allegato. Forse è arrivato il momento di comprarne uno nuovo? 

Allegati:
reset_esp8266.png

electronic il 2/7/2018, 14:29
Re: Monitoraggio regolatori Ep Solar tracer dal web
Risolto il problema del reset, ma gli amperora prodotti a fine giornata si azzerano 
Servirebbe una mano dal buon Danye che ha lavorato al codice

Gigi600 il 14/11/2018, 11:18
Re: Monitoraggio regolatori Ep Solar tracer dal web
Be ritrovati
Lucasky problema nel display della Tua App i watt pannello e batteria arriva al massimo fino a 100 

LINK

Come si risolve ? 

lucasky :
electronic :
Anche io sono tentato di buttare tutto dalla finestra, ma oggi ho fatto una scoperta: con il pacchetto per la gestione schede esp8266 v2.4.1 apparentemente la programmazione va a buon fine ma poi il sistema non invia i dati. Sono passato alla versione 2.3.0 e adesso funziona!

@gigi600 sto inviando i dati alla tua pagina, ma non visualizzo la corrente del pannello




FUNZIONAAAAA...!!! IL PROBLEMA ERA SOLO LA VERSIONE DEL PROGRAMMATORE PER ESP8266....




Allegati:
pv.jpg

lucasky il 25/11/2018, 12:13
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ecco i file corretti per una giusta visualizzazione della potenza. Anche la grafica è leggermente migliorata. Sostituire tutti i file ad eccezione del file settings.php lasciando invariato il vecchio che contiene i vostri settaggi.

Allegati:
app.zip

Gigi600 il 25/11/2018, 13:15
Re: Monitoraggio regolatori Ep Solar tracer dal web
Ottimo   Grazie , sostituiti. 
Ora non c'è sole   ;) e non lo posso testare , Ti farò sapere.

Gigi600 il 25/11/2018, 13:27
Re: Monitoraggio regolatori Ep Solar tracer dal web
Notato problema versione RN
LINK in power data non compaiono i dati
invece nel BN è ok  LINK

Gigi600 il 28/11/2018, 12:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
Bene tutto Ok ora 
Grazie

Allegati:
solare_001.jpg

calasci il 22/12/2018, 21:56
Re: Monitoraggio regolatori Ep Solar tracer dal web
e possibile utilizzare arduino lan stessa schermata ,
e usare dei sensori di corrente e tensione al posto dei regolatori ?
grazie

lucasky il 13/1/2019, 15:19
Re: Monitoraggio regolatori Ep Solar tracer dal web
calasci :
e possibile utilizzare arduino lan stessa schermata ,
e usare dei sensori di corrente e tensione al posto dei regolatori ?
grazie



Si ma bisogna riprogrammare arduino in tuttaltro modo. In questo caso utilizza la porta 485 dei regolatori

cavallino il 13/1/2019, 23:11
Re: Monitoraggio regolatori Ep Solar tracer dal web
Scusate ma alla fine tutto questo progetto a cosa serve, per vedere quando produzione si fa in una giornata. Se e cosi con un semplice contatore  da 50 euro non fate prima.

Gigi600 il 14/1/2019, 8:10
Re: Monitoraggio regolatori Ep Solar tracer dal web
Be verificare da remoto come nel Mio caso la produzione di 2 impianti fotovoltaici per stazioni meteo  1 a 1450 Mt LINK   e uno a 1038 Mt LINK   in mezzo le montagne per arrivarci in caso di neve un ora a piedi    + 40 minuti di auto  è una cosa essenziale e utilissima. 
Costo siamo sui 5 euro e un oretta per fare il circuito. ;)
E mi crea grafici e verifico la produzione e consumi
Poi c'è la "App" di lucasky molto comoda per letture veloci . 



cavallino :
Scusate ma alla fine tutto questo progetto a cosa serve, per vedere quando produzione si fa in una giornata. Se e cosi con un semplice contatore  da 50 euro non fate prima.




saviothecnic il 23/4/2019, 11:08
Re: Monitoraggio regolatori Ep Solar tracer dal web
Gigi600 :

E mi crea grafici e verifico la produzione e consumi
Poi c'è la "App" di lucasky molto comoda per letture veloci . 



Azz ci sta anche APP mi era sfuggita devo rillegermi un po il post
che ho il materiale comprato da piu di un anno e ancora non ci ho messo mano
Domanda ma avevo il mio regolatore sia la porta RS485 che 232
me la posso evitare la schedina 485 ?

Sto provando a programmare ESP8266 ma ho quest' errore ?


Allegati:
ErroreProgrammazioneESP8266.jpg

ESP8266_ConProgrammatore.jpg

saviothecnic il 24/4/2019, 19:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
Risolto per programmare questi aggeggini va messo
a massa durante la programmazione il PIN GPIO 0

Ho cablato tutto per ora provo con EPSOLAR modello 1215BN
Ovviamente ho usato anche lo schedino 485 232

Credo che con EPSOLAR modello IT6415ND avendo le due uscite sia 485 e 232
usando la seconda posso evitarmi lo schedino giusto ?

Per non impazzirmi con la parte web ho messo anche io su altervista.org

Allora dalla mia rete se pingo ip del ESP8266 vedo che lo raggiungo
quindi presumo che la config rete è ok

Ma non capisco se sta inviando dati al sito

Domanda ogni quando gli invia ?

Qui lo vedo sempre a 0 http://saviot.altervista.org/

Ho provato a inviare i dati con la stringa manuale letta nel topic
[code]saviot.altervista.org/arduino/arduino.php?psw=8888&tensione_pannello=4500&corrente_pannello=1000&tensione_batteria=1200&corrente_batteria=2000&tensione_carico=1200&soc=100&temperatura=20&ah_consumati=10000000&ah_prodotti=10000000
ed ok riceve i dati

Adesso ho ricaricato il db base per azzarere la lettura mandata dalla stringa manuale

Domanda come posso verificare che il modulino manda i dati al sito DB ?

Grazie

Allegati:
CablaggioEpSolarRS485.jpg

ModuloESP8266Programmazione.jpg

emuland2 il 9/5/2019, 13:33
Re: Monitoraggio regolatori Ep Solar tracer dal web
io savio ci ho rinunciato. 4 arduino diversi (funzionanti) nessuno comunica con nessuno de 3 ttl (2 comprati da me, uno comprato da un utente che mi ha fatto come ultimo tentativo il circuito, ma comunque non mi è stato possibile leggere nulla con arduino)

se avrò tempo questa estate magari ci riprovo.... mi tornerebbe comodo leggere i valori.

altrimenti li leggerò con arduino e software esterno, senza interfacciarmi con regolatore (però perdo la possibilità di accendere/spegnere i carichi...)

saviothecnic il 9/5/2019, 13:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
Be @Gigi600 ci è riuscito ed ha usato gli stessi moduli che ho preso io
Quindi sicuramente il sistema funziona
Dobbiamo solo capire dove sbagliamo
Purtroppo le mie conoscenze sono limitate
Quindi non so come sniffare il traffico per capire dove arriva la comunicazione
e dove si perde se dal regolatore al ESP8266 o se dal ESP8266 verso web

emuland2 il 11/5/2019, 13:31
Re: Monitoraggio regolatori Ep Solar tracer dal web
forse e ripeto forse ho capito cosa non va nel mio arduino e perchè non riceve....

dove inizia la comunicazione seriale va passato anche l id del regolatore;

      Serial.write(0x01); // è per caso l'id assegnato al regolatore?
(se questo fa quello che penso, l'errore è qui. il codice del dispositivo... i miei hanno il codice modificato in 100 e 200 per cui se il primo comando è proprio il codice del regolatore, ovviamente non risponde)

se cosi fosse bastava un commento... (si io non ho perso tempo a cercare, ma non avevo idea del come si collegasse al regolatore, mesi dopo ho cercato di capire cosa facesse e mi pare di capire che il primo dato è proprio l id dello stesso)

saviothecnic il 12/5/2019, 10:46
Re: Monitoraggio regolatori Ep Solar tracer dal web
Sinceramente ne capisco qualcosa d'elettronica ma 0 in programazione

Quindi su quel lato ho fatto la scimmia copia e incolla

Io non ho usato arduino ma direttamente ESP8266 che sembra
la soluzione che ha meno componenti e più semplice e veloce da realizzare

Mi sai dire dove leggo questi id e dove dovrei metterli
Cosi provo anche io se cosi funziona ?

P.S Ma non ho capito esiste anche un opzione per abilitare il carico
quando si ha eccesso fotovoltaoco quersta sarebbe una grande cosa per me

Grazie

emuland2 il 12/5/2019, 11:31
Re: Monitoraggio regolatori Ep Solar tracer dal web
si, puoi abilitare tutto via software, con dei comandi. devi cambiare dove c'è serial write con la esadecimale dell' id che hai sul tuo regolatore dal pc

saviothecnic il 20/5/2019, 23:28
Re: Monitoraggio regolatori Ep Solar tracer dal web
emuland2 :
Devi cambiare dove c'è serial write con la esadecimale dell' id che hai sul tuo regolatore dal pc


Ho visto il Device ID nel mio 1215BN è 1

Cmq ID regolatore non mi sembra sia tra i parametri editabili
nelle righa 64 del codice vedo il primo serial write

[code]
  //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())

Non ci capisco niente di rpogrammazione
ma sembra che ce ne siano un po
Forse ci sono gli id piu comuni e usati di default ?

Vorrei invece capire meglio come si dovrebbe comportare il modulo RS-485 TTL

Allora io ho collegato solo due FILI il 4 e 5 del cavo RJ45 che viene dal 1215BN rispettivamente a B- e A+ del modulo

Poi in uscita con rispettivo step Down sia la 3,3V che RX e TX verso ESP 8266

Nel dubbio successivamente ho provato a collegare anche GND
sia a monte che a valle dello step Down al terzo PIN del modulo TTL R485
ma niente da fare.

Tanto per capire se qualcosa sta funzionando domanda:

Normalmente come dovrebero lampeggiare i Led TX e RX su tale modulo ?

Lampeggia anche se collego solo il regolatore al modulo senza ESP8266
a valle lo chiedo tanto per escludere dallla config HW in pezzo.

Grazie

Gigi600 il 25/5/2019, 17:37
Re: Monitoraggio regolatori Ep Solar tracer dal web
Non devi fare altro che rispettare lo schema in prima pagina per la serie BN programmare esp  . Se tutto è ok sul convertitore rs485 deve fare 5 lampeggi ogni 6-7 secondi

Gigi600 il 8/2/2023, 21:42
Re: Monitoraggio regolatori Ep Solar tracer dal web
Dopo molto tempo riesumo questo post 
Devo confermare che tutto funziona installato su 6 impianti e girano da molti anni 
Per Me molto importante questo progetto perchè mi permette di monitorare la produzione fotovoltaico da remoto su centraline meteo dislocate anche montagna.

Vengo al dunque su altervista l'unico ancora a usare il PHP 5.6 penso che tra poco morirà e con lui tutto questo progetto se non si modifica il file arduino.php che lavora da quello che ho provato solo con il php 5.6 
Quindi se qualche buona anima che ne capisce di php modifica il file almeno in php 7.3
Grazie

[code php]
<?php
include("../settaggi.php");
//controllo se sono presenti i parametri valore e localita
if(isset($_GET["psw"]))
{            
             $connessione = @mysql_connect("localhost", $nome_database)      or die("Connessione non riuscita: " . mysql_error());
           mysql_select_db($nome_database, $connessione) or die("Errore selezione database: " . mysql_error());      
           
     if($_GET["psw"] == $psw){            
           $tensione_pannello = $_GET["tensione_pannello"] / 100;
           if($tipo_regolatore=="bn")
           {
           $corrente_pannello = $_GET["corrente_pannello"] / 100; //per regolatore serie bn
           }
           $tensione_batteria = $_GET["tensione_batteria"] / 100;
           $corrente_batteria = $_GET["corrente_batteria"] / 100;
           $tensione_carico = $_GET["tensione_carico"] / 100;
           $corrente_carico = $_GET["corrente_carico"] / 100;
           $temperatura = $_GET["temperatura"];
           $soc = $_GET["soc"];
           $ah_consumati = $_GET["ah_consumati"];
           $ah_prodotti = $_GET["ah_prodotti"];
           $reset_shield = $_GET["reset_shield"];
           if($tipo_regolatore=="rn")
           {
           $corrente_pannello =  (($tensione_batteria * $corrente_batteria) / $tensione_pannello) / 0.93; //per regolatore serie rn
           }
             
           //Preparo la query per inserire i dati di tensione e corrente
           $queryA = "INSERT INTO dati_ricarica
           (
           tensione_pannello,
           corrente_pannello,
           tensione_batteria,
           corrente_batteria,
           tensione_carico,
           corrente_carico,
           temperatura,
           soc
           )
           VALUES
           (
           '$tensione_pannello',
           '$corrente_pannello',
           '$tensione_batteria',
           '$corrente_batteria',
           '$tensione_carico',
           '$corrente_carico',
           '$temperatura',
           '$soc'
           )";
           
           //Preparo la query per inserire i dati di consumo in ah
           $queryB = "INSERT INTO consumi VALUES (curdate(), '$ah_prodotti', '$ah_consumati')
                             ON DUPLICATE KEY
                             UPDATE ah_prodotti = '$ah_prodotti', ah_consumati = '$ah_consumati'";
           
           //eseguo la query
           $insertA = mysql_query($queryA, $connessione);
           $insertB = mysql_query($queryB, $connessione);
           $esito = mysql_affected_rows();
           if($esito == 1){
                 echo "reset_ah";      
           }
           if($insertA && $insertB){
                 echo "update_ok";      
           }
           
           //incrementa il contatore di reset
           if($reset_shield == 1){
           $query = "UPDATE parametri SET reset_shield=reset_shield+1, data = now()";
           //$query = "INSERT INTO parametri (data) VALUES (now()";
           $update = mysql_query($query, $connessione);
           }
     
     }
     // Restituisce ad arduino i valori del giorno salvati di Ah
     if($_GET["psw"] == $psw2){
           $query = "SELECT * FROM consumi WHERE DATE(data) = CURDATE()";
           $risultato = mysql_query($query, $connessione);
           $riga = mysql_fetch_row($risultato);      
           echo "ah_prodotti=$riga[1] ah_consumati=$riga[2] endAh";
     }
     //chiudo la connessione al db
     mysql_close($connessione);
}
?>





TOP100-SOLAR Galleria Immagini EnergiAlternativa