Aller au contenu

mickeys

Membres
  • Compteur de contenus

    36
  • Inscription

  • Dernière visite

Tout ce qui a été posté par mickeys

  1. mickeys

    Teleinfo

    pas facile de trouver le script python encore du php ,mais la en python ... il faut bien un pc linux pour compiler ?
  2. mickeys

    Teleinfo

    ok merci mais la je suis bloqué car je ne peut pas compiler
  3. mickeys

    Teleinfo

    /*------------------------------------------------------------------------------*/ /* Ecrit les données teleinfo dans base mysql */ /*------------------------------------------------------------------------------*/ int writemysqlteleinfo(char data[]) { MYSQL mysql ; char query[255] ; /* INIT MYSQL AND CONNECT ----------------------------------------------------*/ if(!mysql_init(&mysql)) { syslog(LOG_ERR, "Erreur: Initialisation MySQL impossible !") ; return 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)); return 0 ; } sprintf(query, "INSERT INTO %s 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 ; } #ifdef DEBUG else syslog(LOG_INFO, "Requete MySql ok.") ; #endif mysql_close(&mysql); return 1 ; }
  4. mickeys

    Teleinfo

    /* teleinfoserial_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 */ /* 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 Compilation wrt54gl: - avec le SDK (OpenWrt-SDK-Linux). Résultat pour les données importantes dans la base MySql du serveur distant: dan@vesta:~$ bin/listdatateleinfo.sh timestamp date heure hchp hchc ptec inst1 inst2 inst3 papp 1222265525 24/09/2008 16:12:05 8209506 8026019 HP 1 0 1 460 1222265464 24/09/2008 16:11:04 8209499 8026019 HP 1 0 1 460 1222265405 24/09/2008 16:10:05 8209493 8026019 HP 1 0 1 390 1222265344 24/09/2008 16:09:04 8209487 8026019 HP 1 0 1 390 1222265284 24/09/2008 16:08:04 8209481 8026019 HP 1 0 1 390 1222265225 24/09/2008 16:07:05 8209476 8026019 HP 1 0 1 390 1222265164 24/09/2008 16:06:04 8209470 8026019 HP 1 0 1 390 1222265105 24/09/2008 16:05:05 8209464 8026019 HP 1 0 1 390 Résultat en mode DEBUG: root@wrt54gl:~# ./teleinfoserial_mysql ----- 2008-10-12 15:59:52 ----- ADCO='70060936xxxx' OPTARIF='HC..' ISOUSC='20' HCHP='008444126' HCHC='008228815' PTEC='HP' IINST1='002' IINST2='000' IINST3='001' IMAX1='011' IMAX2='020' IMAX3='019' PMAX='07470' PAPP='00610' HHPHC='E' MOTDETAT='000000' PPOT='00' ADIR1='' ADIR2='' ADIR3='' */ //----------------------------------------------------------------------------- #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/mysql.h> // Define port serie #define BAUDRATE B1200 //#define SERIALPORT "/dev/tts/0" #define SERIALPORT "/dev/ttyUSB0" // Define mysql //#define MYSQL_HOST "SQLSERVEUR" //#define MYSQL_DB "BASE" //#define MYSQL_TABLE "TABLE" //#define MYSQL_LOGIN "SQLLOGIN" //#define MYSQL_PWD "SQLPASSWD" #define MYSQL_HOST "localhost" #define MYSQL_DB "******" #define MYSQL_TABLE "******" #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] ; /// 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"} ; char etiquettes[NB_VALEURS][16] = {"ADCO", "OPTARIF", "ISOUSC", "HCHP", "HCHC", "PTEC", "IINST", "IINST2", "IINST3", "IMAX", "IMAX2", "IMAX3", "PMAX", "PAPP", "HHPHC", "MOTDETAT", "PPOT", "ADIR", "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 = 3 ; int erreur_checksum = 0 ; // Déclaration pour la date. time_t td; struct tm *dc; char sdate[12]; char sheure[10]; char timestamp[11]; /*-------------------- http://penhard.anthony.free.fr/?p=207 ce qui veut dire que si je trouve le script en python cela devrait fonctionner ?
  5. mickeys

    Teleinfo

    bonjour merci je dois obligatoirement compiler le programme en .c ? sur mon ancien serveur ( dlink ) je n'ai pas eu besoin de le compiler c est juste un programme en c que le nas doit exécuter. je n ai aucun moyen de compiler quoi que ce soit j ai récupérer les ko grâce a un membre du forum peut être peut il me le compiler , il a le même nas que moi
  6. Fichiers récupérés merci.
  7. bonjour je souhaiterais mettre en place le Teleinfo sur un nas synology (ds212j) j ai récupéré le fichier usbserial.ko et ftdi_sio.ko correspondants a mon processeur. j ai exécuter le code Voir les infos usb j ai bien la trame donc le signal est ok sur le port usb il faut donc maintenant récupérer le programme en c qui intègre les données en base mysql - Installation de phpmyadmin via le dsm 4 du nas - Création de la bdd j ai récupéré le fichier en .c pour intégrer en base Mais voici mon probleme !!!!! Quand j exécute la commande en SSH j ai l erreur suivante: Que dois je faire ? je ne comprend pas Je me connecte en root Je pense faire prochainement un petit tuto sur la mise en place complète. cordialement
  8. salut, super !!!!!!!! je cherche depuis longtemps comment avoir le teleinfo sur mon synology mais impossible de le faire sans les 2 fichiers Peux tu m'envoyer tes fichiers cdlt
  9. personne pour les 2 fichier svp
  10. Bonjour je suis a la recherche du fichier : -usbserial.ko -ftdi_sio.ko Pour un ds212j sur dsm 4 j ai pour but d installer un teleinfo cdlt
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.