Le deal à ne pas rater :
Code promo Cdiscount : 7€ dès 50€ et jusqu’à 100€ d’achat ...
Voir le deal

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

+6
zoeilvert
.vince
Cameleon
Fabien
Mido
Fred.Leudon
10 participants

Page 2 sur 4 Précédent  1, 2, 3, 4  Suivant

Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Lun 10 Nov 2014 - 18:42

Fabien a dégainé plus vite que moi....


Arghhhh tu m'as eu coyote ;-)

Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Cameleon Lun 10 Nov 2014 - 18:45

Merci à vous deux, je vais regarder ça. Smile

Fred, tu as fait un OpenEVSE si je m'abuse.
Il est basé sur quoi ?
Cameleon
Cameleon

Messages : 7137
Date d'inscription : 14/10/2012
Age : 55
Localisation : Bas-Rhin

http://www.acoze.fr/

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Lun 10 Nov 2014 - 18:51

Il est basé sur le tutoriel de .vince pour le matériel.

J'ai bricolé le soft pour l'adapter a mes besoins...

Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Pb de compilation

Message par Xav33390 Mer 3 Aoû 2016 - 16:02

Bonjour,

Merci pour ce magnifique tuto, il est génial,
cependant, je suis débutant en programmation et je rencontre un problème à la compilation, j'utilise bien la commande :

gcc -o teleinfoserial_mysql teleinfo_mysql.c `mysql_config --cflags --libs

j'ai juste ">" qui apparait et rien d'autre, est-ce normal ?

Merci de votre retour.
Xavier

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Jeu 4 Aoû 2016 - 14:59

Bonjour,

J'ai trouvé grâce à un ami le problème lors de la compilation ! il y avait une simple quote (') devant mysql_config.

Par contre, une fois cette erreur réparée, lors de la compilation de nouvelles erreurs apparaissent auxquelles nous ne trouvons pas de solutions, les voici ;
root@raspberrypi:/var/teleinfoserial# gcc -o teleinfoserial_mysql.c teleinfo_mysql.c mysql_config --cflags --libs
gcc: error: teleinfo_mysql.c: Aucun fichier ou dossier de ce type
gcc: error: mysql_config: Aucun fichier ou dossier de ce type
gcc: error: unrecognized command line option ‘--cflags’
gcc: error: unrecognized command line option ‘--libs’
gcc: fatal error: no input files
compilation terminated.

Quelqu'un aurait-il la solution au problème ? sachant que j'ai respecté scrupuleusement le descriptif.

Par avance, je vous remercie.

Xavier

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Sam 6 Aoû 2016 - 16:31

Je regarde ça dans la soirée et je te dis ce qu'il en est...
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Dim 7 Aoû 2016 - 0:25

Il faut les 3 fichiers suivants dans ton répertoire :

teleinfo_mysql.c
Code:
/* teleinfo_mysql.c                              */
/* Version pour PC et wrt54gl                              */
/* Lecture données Téléinfo et enregistre données sur base mysql vesta si ok sinon dans fichier csv.   */
/* Connexion par le port série du Wrt54gl (Console désactivée dans inittab.)            */
/* Vérification checksum données téléinfo et boucle de 3 essais si erreurs.            */
/* Par domos78 at free point fr                              */

// Compilation :
// gcc -o teleinfoserial_mysql teleinfo_mysql.c `mysql_config --cflags --libs`

/*
Paramètres à adapter:
- Port série à modifier en conséquence avec SERIALPORT.
- Nombre de valeurs à relever: NB_VALEURS + tableaux "etiquettes" et "poschecksum" à modifier selon abonnement (ici triphasé heures creuses).
- Paramètres Mysql (Serveur, Base, table et login/password)
- Autorisé le serveur MySql à accepter les connexions distantes pour le Wrt54gl.

Compilation PC: 
- gcc -Wall teleinfoserial_mysql.c -o teleinfoserial_mysql -lmysqlclient

*/
//-----------------------------------------------------------------------------
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include <syslog.h>
#include <termios.h>
#include <sys/fcntl.h>
#include <sys/types.h>
#include <mysql.h>

// Define port serie
#define BAUDRATE B1200
#define SERIALPORT "/dev/ttyAMA0"

// Define mysql
#define MYSQL_HOST "127.0.0.1"
#define MYSQL_DB "erdf_teleinfo"
#define MYSQL_TABLE "T_TELEINFO"
#define MYSQL_TABLE2 "T_INFO"
#define MYSQL_LOGIN "******"
#define MYSQL_PWD "********"

// Fichier local au Wrt4gl/PC + fichier trame pour debug.
#define DATACSV "/tmp/teleinfosql.csv"
#define TRAMELOG "/tmp/teleinfotrame."



// Active mode debug.
//#define DEBUG

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

// Déclaration pour le port série.
int            fdserial ;
struct termios  termiosteleinfo ;

// Déclaration pour les données.
char ch[2] ;
char car_prec ;
char message[512] ;
char* match;
int id ;
char datateleinfo[512] ;
char datateleinfo2[512] ;
// Constantes/Variables à changées suivant abonnement.
#define NB_VALEURS 12         // Nombre de valeurs à relever, voir tableau "etiquettes".
char etiquettes[NB_VALEURS][16] = {"ADCO", "OPTARIF", "ISOUSC", "HCHP", "HCHC", "PTEC", "IINST", "IMAX", "PAPP", "HHPHC", "MOTDETAT", "ADPS"} ;
// Fin Constantes/variables à changées suivant abonnement.

/*
// Constantes/Variables à changées suivant abonnement, Nombre de valeurs, voir tableau "etiquettes", 20 pour abonnement tri heures creuse.
#define NB_VALEURS 20
char etiquettes[NB_VALEURS][16] = {"ADCO", "OPTARIF", "ISOUSC", "HCHP", "HCHC", "PTEC", "IINST1", "IINST2", "IINST3", "IMAX1", "IMAX2", "IMAX3", "PMAX", "PAPP", "HHPHC", "MOTDETAT", "PPOT", "ADIR1", "ADIR2" ,"ADIR3"} ;
// Fin Constantes/variables à changées suivant abonnement.
*/

char    valeurs[NB_VALEURS][18] ;
char    checksum[255] ;
int    res ;
int      no_essais = 1 ;
int      nb_essais = 100 ;
int      erreur_checksum = 0 ;

// Déclaration pour la date.
time_t       td;
struct    tm    *dc;
char      sdate[12];
char      sheure[10];
char      timestamp[11];
char      oldtimestamp[11];

struct timeval  tv1;
struct timeval  tv2;

/*------------------------------------------------------------------------------*/
/* Init port rs232                        */
/*------------------------------------------------------------------------------*/
int initserie(void)
// Mode Non-Canonical Input Processing, Attend 1 caractère ou time-out(avec VMIN et VTIME).
{
   int device ;
   // Ouverture de la liaison serie (Nouvelle version de config.)
   if ( (device=open(SERIALPORT, O_RDWR | O_NOCTTY)) == -1 )
   {
      syslog(LOG_ERR, "Erreur ouverture du port serie %s !", SERIALPORT);
      exit(1) ;
   }
   tcgetattr(device,&termiosteleinfo) ;                     // Lecture des parametres courants.
   cfsetispeed(&termiosteleinfo, BAUDRATE) ;                  // Configure le débit en entrée/sortie.
   cfsetospeed(&termiosteleinfo, BAUDRATE) ;
   termiosteleinfo.c_cflag |= (CLOCAL | CREAD) ;               // Active réception et mode local.
   // Format série "7E1"
   termiosteleinfo.c_cflag |= PARENB  ;                     // Active 7 bits de donnees avec parite pair.
   termiosteleinfo.c_cflag &= ~PARODD ;
   termiosteleinfo.c_cflag &= ~CSTOPB ;
   termiosteleinfo.c_cflag &= ~CSIZE ;
   termiosteleinfo.c_cflag |= CS7 ;
   termiosteleinfo.c_iflag |= (INPCK | ISTRIP) ;               // Mode de control de parité.
   termiosteleinfo.c_cflag &= ~CRTSCTS ;                     // Désactive control de flux matériel.
   termiosteleinfo.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG) ;   // Mode non-canonique (mode raw) sans echo.
   termiosteleinfo.c_iflag &= ~(IXON | IXOFF | IXANY | ICRNL) ;   // Désactive control de flux logiciel, conversion 0xOD en 0x0A.
   termiosteleinfo.c_oflag &= ~OPOST ;                        // Pas de mode de sortie particulier (mode raw).
   termiosteleinfo.c_cc[VTIME] = 80 ;                       // time-out à ~8s.
   termiosteleinfo.c_cc[VMIN]  = 0 ;                       // 1 car. attendu.
   tcflush(device, TCIFLUSH) ;                              // Efface les données reçues mais non lues.
   tcsetattr(device,TCSANOW,&termiosteleinfo) ;               // Sauvegarde des nouveaux parametres
   return device ;
}

/*------------------------------------------------------------------------------*/
/* Lecture données téléinfo sur port série               */
/*------------------------------------------------------------------------------*/
void LiTrameSerie(int device)
{
   // (0d 03 02 0a => Code fin et début trame)
   tcflush(device, TCIFLUSH) ;         // Efface les données non lus en entrée.
   message[0]='\0' ;
   memset(valeurs, 0x00, sizeof(valeurs)) ;
   do
   {
      car_prec = ch[0] ;
      res = read(device, ch, 1) ;
      if (! res)
      {
         syslog(LOG_ERR, "Erreur pas de réception début données Téléinfo !\n") ;
         close(device);
         exit(1) ;
      }
   }
   while ( ! (ch[0] == 0x02 && car_prec == 0x03) ) ;   // Attend code fin suivi de début trame téléinfo .
   do
   {
      res = read(device, ch, 1) ;
      if (! res)
      {
         syslog(LOG_ERR, "Erreur pas de réception fin données Téléinfo !\n") ;
         close(device);
         exit(1) ;
      }
      ch[1] ='\0' ;
      strcat(message, ch) ;
   }
   while (ch[0] != 0x03) ;            // Attend code fin trame téléinfo.
}

/*------------------------------------------------------------------------------*/
/* Test checksum d'un message (Return 1 si checkum ok)            */
/*------------------------------------------------------------------------------*/
int checksum_ok(char *etiquette, char *valeur, char checksum)
{
   unsigned char sum = 32 ;      // Somme des codes ASCII du message + un espace
   int i ;

   for (i=0; i < strlen(etiquette); i++) sum = sum + etiquette[i] ;
   for (i=0; i < strlen(valeur); i++) sum = sum + valeur[i] ;
   sum = (sum & 63) + 32 ;
   if ( sum == checksum) return 1 ;   // Return 1 si checkum ok.
   #ifdef DEBUG
      syslog(LOG_INFO, "Checksum lu:%02x  calculé:%02x", checksum, sum) ;
   #endif
   return 0 ;
}

/*------------------------------------------------------------------------------*/
/* Recherche valeurs des étiquettes de la liste.            */
/*------------------------------------------------------------------------------*/
int LitValEtiquettes()
{
   int id ;
   erreur_checksum = 0 ;

   for (id=0; id<NB_VALEURS; id++)
   {
      if ( (match = strstr(message, etiquettes[id])) != NULL)
      {
         sscanf(match, "%s %s %s", etiquettes[id], valeurs[id], checksum) ;
         if ( strlen(checksum) > 1 ) checksum[0]=' ' ;   // sscanf ne peux lire le checksum à 0x20 (espace), si longueur checksum > 1 donc c'est un espace.
         if ( ! checksum_ok(etiquettes[id], valeurs[id], checksum[0]) )
         {
            syslog(LOG_INFO, "Donnees teleinfo [%s] corrompues (essai %d) !\n", etiquettes[id], no_essais) ;
            erreur_checksum = 1 ;
            return 0 ;
         }
      }
   }
   #ifdef DEBUG
      printf("----------------------\n") ; for (id=0; id<NB_VALEURS; id++) printf("%s='%s'\n", etiquettes[id], valeurs[id]) ;
   #endif
   return 1 ;
}

/*------------------------------------------------------------------------------*/
/* Test si dépassement intensité                  */
/*------------------------------------------------------------------------------*/
int DepasseCapacite()
{
   //  Test sur les 3 phases (étiquette ADIR1, ADIR2, ADIR3) à remplacer par ADPS pour monophasé.
   if (strlen(valeurs[12]))
   {
      syslog(LOG_INFO, "Dépassement d'intensité: ADPS='%s'!", valeurs[12]) ;
      return 1 ;
   }
   return 0 ;
}

/*------------------------------------------------------------------------------*/
/* Ecrit les données teleinfo dans base mysql               */
/*------------------------------------------------------------------------------*/
int writemysqlteleinfo(MYSQL mysql , char data[])
{
   char query[512] ;
   // Maj T_INFO
   sprintf(query, "INSERT INTO %s (DATE, HEURE , ADCO, OPTARIF, ISOUSC, HCHP, HCHC, PTEC, IINST, IMAX, PAPP, HHPHC, MOTDETAT, ADPS) VALUES (%s)", MYSQL_TABLE, data);
   if(mysql_query(&mysql, query))
   {
      syslog(LOG_ERR, "Erreur INSERT %d: \%s \n", mysql_errno(&mysql), mysql_error(&mysql));
      //mysql_close(&mysql);
      return 0 ;
   }
   return 1 ;
}

/*------------------------------------------------------------------------------*/
/* Ecrit les donn�es teleinfo dans base mysql                                  */
/*------------------------------------------------------------------------------*/
int writemysqlteleinfo2(MYSQL mysql , char data2[])
{
        char query[512] ;
        // Maj T_INFO
        sprintf(query, "DELETE FROM %s", MYSQL_TABLE2);
        if(mysql_query(&mysql, query))
        {
                syslog(LOG_ERR, "Erreur INSERT %d: \%s \n", mysql_errno(&mysql), mysql_error(&mysql));
                //mysql_close(&mysql);
                return 0 ;
        }
        sprintf(query, "INSERT INTO %s (TIMESTAMP, IINST, ISOUSC , PAPP , IMAX , HHPHC , PTEC ) VALUES (%s)", MYSQL_TABLE2, data2);
        if(mysql_query(&mysql, query))
        {
                syslog(LOG_ERR, "Erreur INSERT %d: \%s \n", mysql_errno(&mysql), mysql_error(&mysql));
                //mysql_close(&mysql);
                return 0 ;
        }
        return 1 ;
}


/*------------------------------------------------------------------------------*/
/* Ecrit les données teleinfo dans fichier DATACSV            */
/*------------------------------------------------------------------------------*/
void writecsvteleinfo(char data[])
{
   /* Ouverture fichier csv */
   FILE *datateleinfo ;
   if ((datateleinfo = fopen(DATACSV, "a")) == NULL)
   {
      syslog(LOG_ERR, "Erreur ouverture fichier teleinfo %s !", DATACSV) ;
      exit(1);
   }
   fprintf(datateleinfo, "%s\n", data) ;
   fclose(datateleinfo) ;
}
#ifdef DEBUG
/*------------------------------------------------------------------------------*/
/* Ecrit la trame teleinfo dans fichier si erreur (pour debugger)      */
/*------------------------------------------------------------------------------*/
void writetrameteleinfo(char trame[], char ts[])
{
   char nomfichier[255] = TRAMELOG ;
   strcat(nomfichier, ts) ;
   FILE *teleinfotrame ;
   if ((teleinfotrame = fopen(nomfichier, "w")) == NULL)
   {
      syslog(LOG_ERR, "Erreur ouverture fichier teleinfotrame %s !", nomfichier) ;
      exit(1);
   }
   fprintf(teleinfotrame, "%s", trame) ;
   fclose(teleinfotrame) ;
}
#endif

/*------------------------------------------------------------------------------*/
/* Main                              */
/*------------------------------------------------------------------------------*/
int main(int argc, char *argv[])
{

   // Faire le test sur le PID pour éviter lancement en double

   // get this process pid
       pid_t pid = getpid();

       // compose a bash command that:
       //    check if another process with the same name as yours
       //    but with different pid is running
       char command[255];
   sprintf(command, "ps -eo pid,command | grep %s | grep -v %d |grep -v grep", argv[0], pid);
       syslog(LOG_INFO,command);
   int isRuning = system(command);
       if (isRuning == 0) {
           syslog(LOG_ERR,"Another process already running. exiting.");
           return 1;
       }

   openlog("teleinfoserial_mysql", LOG_PID, LOG_USER) ;
   fdserial = initserie() ;
   MYSQL mysql ;
   /* INIT MYSQL AND CONNECT ----------------------------------------------------*/
   if(!mysql_init(&mysql))
   {
      syslog(LOG_ERR, "Erreur: Initialisation MySQL impossible !") ;
      exit(0) ;
   }
   if(!mysql_real_connect(&mysql, MYSQL_HOST, MYSQL_LOGIN,   MYSQL_PWD, MYSQL_DB, 0, NULL, 0))
   {
      syslog(LOG_ERR, "Erreur connection %d: %s \n", mysql_errno(&mysql), mysql_error(&mysql));
      exit(0) ;
   }
   gettimeofday(&tv1, NULL);
   do
   {
      LiTrameSerie(fdserial) ;
      time(&td) ;                                    //Lit date/heure système.
      dc = localtime(&td) ;
      strftime(sdate,sizeof sdate,"%Y-%m-%d",dc);
      strftime(sheure,sizeof sdate,"%H:%M:%S",dc);
      strftime(timestamp,sizeof timestamp,"%s",dc);
      if ( LitValEtiquettes() )                   // Lit valeurs des étiquettes de la liste.
      {
         sprintf(datateleinfo2,"'%s','%s','%s','%s','%s','%s','%s'", timestamp, valeurs[6], valeurs[2], valeurs[8], valeurs[7], valeurs[9], valeurs[5]);
         gettimeofday(&tv2, NULL);
         writemysqlteleinfo2(mysql, datateleinfo2);
         if (( tv2.tv_sec - tv1.tv_sec ) >= 30 ) {
            sprintf(datateleinfo,"'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s'", sdate, sheure, valeurs[0], valeurs[1], valeurs[2], valeurs[3], valeurs[4], valeurs[5], valeurs[6], valeurs[7], valeurs[8], valeurs[9], valeurs[10], valeurs[11]) ;
            writemysqlteleinfo(mysql, datateleinfo);
            gettimeofday(&tv1, NULL);
         }
      }
      no_essais++ ;
   }
   while ( 1 );
   //while ( (erreur_checksum) && (no_essais <= nb_essais) ) ;
   mysql_close(&mysql);
   close(fdserial) ;
   closelog() ;
   exit(0) ;
}

hr_time.h
Code:
#ifndef __HR_TIME_H
#define __HR_TIME_H

#ifdef WIN32
#include <windows.h>

typedef struct {
    LARGE_INTEGER start;
    LARGE_INTEGER stop;
} stopWatch;

class CStopWatch {

private:
   stopWatch timer;
   LARGE_INTEGER frequency;
   double LIToSecs( LARGE_INTEGER & L);
public:
   CStopWatch();
   void startTimer( );
   void stopTimer( );
   double getElapsedTime();
};

#else
#include <sys/time.h>

typedef struct {
   timeval start;
   timeval stop;
} stopWatch;

class CStopWatch {

private:
   stopWatch timer;
public:
   CStopWatch() {};
   void startTimer( );
   void stopTimer( );
   double getElapsedTime();
};

#endif

#endif

ht_time.c
Code:
#include <cstdio> // NULL

#include "hr_time.h"



#ifdef WIN32
double CStopWatch::LIToSecs( LARGE_INTEGER & L) {
   return ((double)L.QuadPart /(double)frequency.QuadPart);
}

CStopWatch::CStopWatch(){
   timer.start.QuadPart=0;
   timer.stop.QuadPart=0;
   QueryPerformanceFrequency( &frequency );
}

void CStopWatch::startTimer( ) {
    QueryPerformanceCounter(&timer.start);
}

void CStopWatch::stopTimer( ) {
    QueryPerformanceCounter(&timer.stop);
}


double CStopWatch::getElapsedTime() {
   LARGE_INTEGER time;
   time.QuadPart = timer.stop.QuadPart - timer.start.QuadPart;
    return LIToSecs( time) ;
}
#else

void CStopWatch::startTimer( ) {
   gettimeofday(&(timer.start),NULL);
}

void CStopWatch::stopTimer( ) {
   gettimeofday(&(timer.stop),NULL);
}

double CStopWatch::getElapsedTime() {
   timeval res;
   timersub(&(timer.stop),&(timer.start),&res);
   return res.tv_sec + res.tv_usec/1000000.0; // 10^6 uSec per second
}

#endif

pour la compil, c'est bien cette ligne
Code:
gcc -o teleinfoserial_mysql teleinfo_mysql.c `mysql_config --cflags --libs`

Explication :
gcc = appel au compilateur c
-o (output) sortie
teleinfoserial_mysql = nom du programme à compiler
teleinfo_mysql.c = source
`mysql_config --cflags --libs` = options pour le compilateur
ne pas oublier les anti-cotes (alt-gr + 7 sur un clavier pc AZERTY)

Si cela ne compile pas, je ne sais pas comment mieux t'aider ....
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Dim 7 Aoû 2016 - 10:23

Bonjour et merci,

il semblerait que ça ait fonctionné, je n'ai pas eu de message d'erreur lors de la compilation, ni d'autre message d'ailleurs comme quoi la compilation s'est bien passée.

Est-ce normal ?

Encore merci pour ton aide précieuse

Xavier

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Dim 7 Aoû 2016 - 10:45

Si la compilation s'est bien passée, tu devrais avoir un fichier en plus dans ton répertoire ....

Il faut le rendre exécutable et le lancer
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Dim 7 Aoû 2016 - 11:40

C'est ce que j'ai fait et rien n’apparaît
[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Telein10

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Dim 7 Aoû 2016 - 16:46

Pas trop d'idée, as tu bien suivi le tutoriel et indiqué le user et le mot de passe de l'utilisateur mysql?
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Lun 8 Aoû 2016 - 21:29

oui, tout suivi à la lettre, refais 3 fois avec les bons identifiants MySQL...

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Lun 8 Aoû 2016 - 23:10

Si je puis me permettre, évite les caractères accentués sans les URL (renomme ton dossier téléinfo en teleinfo)

As tu installé phpmyadmin?

Si oui, regarde si les tables se remplissent bien?

Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Mar 9 Aoû 2016 - 10:22

Je n'ai pas de caractères accentués dans les noms de mes fichiers

J'ai bien installé PhpMyAdmin, mais rien ne vient dans les tables T_INFO et T_TELEINFO (je les ai créé en suivant le tuto que tu as fait)

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par seb.maccagnoni Mar 9 Aoû 2016 - 10:28

Je n'ai pas de caractères accentués dans les noms de mes fichiers

Pourtant il semble que tu as mis des accents dans l'adresse que tu as tapée dans la barre d'adresse de ton navigateur (192.168.1.250/Téléinfo/).

seb.maccagnoni

Messages : 3815
Date d'inscription : 04/11/2014
Age : 39
Localisation : Colmar

https://www.maccagnoni.eu

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Mar 9 Aoû 2016 - 10:32

modifiée mais ça ne change rien

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Mar 9 Aoû 2016 - 11:17

Essaye de regarder les logs de mysql (/var/log/...)

Il y aura peut être un message d'erreur qui permettra de comprendre ce qui se passe.

Regarde aussi le syslog

Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Mar 9 Aoû 2016 - 14:11

Effectivement, ça m'a permis de voir que je n'avais pas saisi les infos de connexion à ma base de données dans teleinfo_mysql.c

De plus, j'ai ces erreurs qui apparaissent :

Aug 9 13:56:01 raspberrypi teleinfoserial_mysql[13300]: Erreur pas de réception fin données Téléinfo !

et

Aug 9 14:03:05 raspberrypi teleinfoserial_mysql: ps -eo pid,command | grep ./teleinfoserial_mysql | grep -v 13353 |grep -v grep

Que veulent elles dire ?

en tout cas, merci pour ton aide précieuse, je suis novice...

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Mar 9 Aoû 2016 - 15:18

Pas de souci, on est tous passé par la un jour ;-)
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Mar 9 Aoû 2016 - 15:21

La premiere ligne signifie qu'il n'y a pas de données à lire sur le port série.

Quel est le montage que tu utilises pour récupérer les infos et comment est-ce branché?

Fais quelques photos de ton montage
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Mar 9 Aoû 2016 - 21:09

les données sont bien lues par le port série, j'en veux pour preuve un crontab qui tourne dessus depuis le 28 juillet et qui me ramène des données dans ma bdd, par conséquent, le problème ne vient pas de là enfin il me semble...

Pour ne pas polluer ce forum, ne pourrions nous pas échanger via nos messageries perso ?

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Fred.Leudon Mar 9 Aoû 2016 - 23:43

Et dans le .c, as tu bien renseigné le nom du port série sur lequel lire?

Le port série ne peut être ouvert que pas un seul processus à la fois, est ce que ton contrab est bien stoppé ?

As tu exécuté le programme en direct ?
Code:

./teleinfoserial_mysql

Pour d'autres éventuels utilisateurs du tutoriel, je pense qu'il est préférable de continuer sur le forum.

Une fois la solution trouvée, je demanderai à un modérateur de faire du ménage en supprimant les posts inutiles
Fred.Leudon
Fred.Leudon

Messages : 4788
Date d'inscription : 11/12/2012
Age : 47
Localisation : Leudon-en-Brie, Seine & Marne

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par jch Mer 10 Aoû 2016 - 7:45

Pour ne pas polluer ce forum, ne pourrions nous pas échanger via nos messageries perso ?
même si je comprend pas grand chose, çà m'intéresse. Restez là! Merci pour vos contributions.

_________________
zoe intens ZE22 84.000 km SOH:86%, zoe ZE40. 64.000 km SOH:93% zoe intens ZE50 violet option CCS

jch
Modérateur

Messages : 5086
Date d'inscription : 16/03/2013
Age : 49
Localisation : Le Touvet 38660

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Mer 10 Aoû 2016 - 9:26

Ok, pas de souci, je fais participer tout le monde, bien au cntraire, c'est comme ça qu'on apprend...

je n'avais pas stoppé mon crontab, c'est fait maintenant, mais ça ne change rien, j'ai toujours l’erreur suivante dans le syslog

Aug 10 09:16:00 raspberrypi teleinfoserial_mysql: ps -eo pid,command | grep ./teleinfoserial_mysql | grep -v 20823 |grep -v grep

que signifie t elle ? de plus, ma bdd ne se remplit toujours pas

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Xav33390 Mer 10 Aoû 2016 - 9:30

Tu me demandes :"As tu exécuté le programme en direct ?
CODE:

./teleinfoserial_mysql
"

je le fais et rien ne se passe en console ...

ce n'est pas normal, non ?

Xav33390

Messages : 21
Date d'inscription : 03/08/2016

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par seb.maccagnoni Mer 10 Aoû 2016 - 9:31

Es-tu sûr que cette ligne est seule, rien de lié, juste avant ou après ?

Ça ressemble à une commande (assez crade, d'ailleurs) ayant pour but de vérifier que "./teleinfoserial_mysql" ne tourne pas déjà.

seb.maccagnoni

Messages : 3815
Date d'inscription : 04/11/2014
Age : 39
Localisation : Colmar

https://www.maccagnoni.eu

Revenir en haut Aller en bas

[TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE - Page 2 Empty Re: [TUTO] Branchement Télé-information ERDF et monitoring borne OpenEVSE

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 2 sur 4 Précédent  1, 2, 3, 4  Suivant

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum