Aide pour lecture teleinfo
-
Bonjour Charles,
Merci beaucoup pour votre travail.
Je suis en train de refaire mon application pour relever les indexes de mes compteurs (j'en ai 5)
J'ai fait une carte qui me permet de selectionner un compteur, la compteur peut supporter jusqu'a 8 compteurs.
J'utilise une carte Olinuxino A20 que je programme en C.Lorsque j'utilise minicom, pas de problème, je vois les trames du compteur que je sélectionne.
J'ai donc adapté votre programme pour faire la sélection des compteurs et lire les indexes de chacun afin de les enregistrer sur un base de données.Le problème est que la lecture du port série ne fonctionne pas comme il faut, j'ai ajouter des lignes pour débugger et voici ce que j'ai :
Char c = 0x41 A
Char c = 0x44 D
Char c = 0x00 Char c = 0x4F O
Char c = 0x20
Char c = 0x30 0
Char c = 0x32 2
Char c = 0x30 0
Char c = 0x36 6Comme on peut le voir la ligne n = read(g_fd_teleinfo, &c, 1); renvoie un caractère c = 0x00. Et je ne comprends pas pourquoi. Ce problème n'arrive pas toujours au même endroit, c'est aléatoire, mais il arrive souvant.
Je ne comprends pas.
Si vous avez des idées...Merci
Denis -
Denis,
Merci pour le commentaire.
Pour votre problème j'avoue que c'est curieux et aussi que cela peut provenir de beaucoup de facteurs.
Avez vous essayé avec picocom (la partie série de téléinfo provient de là) histoire de voir ?
Il serait intéressant de voir le schéma aussi, j'imagine que les teleinfos des compteurs sont multiplexées vers la serial de l'A20 ? C'est quelle distribution qui tourne sur la A20 ?
Ceci dit, même si çà arrive, çà doit fonctionner, puisque dans ce cas la checksum est fausse et l'étiquette ne sera pas prise en compte non ?