Lecture Linky via dongle et compteur via GPIO
-
Bonjour la communauté.
J'utilise depuis des années un montage fait sur un shield et branché sur les GPIO de mon RPi.
Ca marchait nickel avec mon vieux compteur et aussi avec mon Linky en mode Historique.
Mais je suis devenu producteur d'électricité et j'ai donc installé un 2ème compteur Sagem sur la sortie de mes panneaux (pour monitorer ma production) pendant que mon Linky a été basculé en mode Standard pour suivre ma consommation et mon injection.
J'ai donc 2 Raspberry qui interrogent chacun un des compteurs avec 2 shields que j'avais déjà.
Mais idéalement, j'aimerais avoir les 2 relevés de TIC sur le même RPi.
Donc, si je prends un dongle USB, je pourrai faire cette double interrogation (avec les vitesses différentes) sur un même RPi ?
J'attends vos avis éclairés
-
@mikebzh44 oui tout à fait, tu peux même mettre 2 dongles USB et garder la Serial du PI pour d'autres fonctions.
-
@charles Super. Merci, je vais déjà en commander un dans un premier temps
-
@mikebzh44 ok top, désolé je viens de partir du bureau en presta extérieure, ça ne partira que lundi maintenant.
-
@charles C'est bon, reçu ce matin au courrier, c'est déjà super rapide !! Je le teste demain soir en rentrant du boulot.
-
Je teste mon dongle avec la commande :
picocom -b 9600 -d 7 -p e -f n /dev/ttyUSB0
picocom v3.1
port is : /dev/ttyUSB0
flowcontrol : none
baudrate is : 9600
parity is : even
databits are : 7
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : noType [C-a] [C-h] to see available commands
Terminal readyMais même en laissant tourner, j'ai rien qui s'affiche.
Pour info, j'ai la sortie TIC de mon Linky qui est connectée à des wagos 3 voies. Les 2 paires de câbles en sortie vont sur le même Raspberry mais :
- une paire est connecté sur mon shield et j'interroge donc /dev/ttyAMA0 (et la remontée se fait bien)
- une paire est connecté sur le dongle et j'interroge donc /dev/ttyUSB0 (et picocom reste muet)
Si c'est le cas, je peux te retourner le dongle pour que tu fasse la modif ? Je ne suis pas équipé pour souder des composant CMS et je suis pas assez précis pour cela.
-
@mikebzh44 c'est curieux car j'ai justement fait la modif avant envoi, tu as le couple 220 Ohm 3K3 je suis tres surpris que ca ne fonctionne pas tu aurais moyen de test sur un compteur historique
apres les soudures ont peut etre bougées mais je voudrais m'assurer que ca marche ou pas en histo
-
Oui, je vais tester ce soir sur le compteur Sagem qui me donne ma production solaire. SI ça marche, le linky sera relevé par le shield et ça sera bon
-
@mikebzh44 ok tiens moi au jus mais ça m'interpelle tout ça, visiblement je n'arrive pas à trouver un couple de valeurs fonctionnant systématiquement, c'est assez ennuyeux
-
Test concluant avec le dongle branché sur la sortie TIC de mon Sagem :
pi@raspberrypi:~ $ picocom -b 1200 -d 7 -p e -f n /dev/ttyUSB0
picocom v3.1port is : /dev/ttyUSB0
flowcontrol : none
baudrate is : 1200
parity is : even
databits are : 7
stopbits are : 1
escape is : C-a
local echo is : no
noinit is : no
noreset is : no
hangup is : no
nolock is : no
send_cmd is : sz -vv
receive_cmd is : rz -vv -E
imap is :
omap is :
emap is : crcrlf,delbs,
logfile is : none
initstring : none
exit_after is : not set
exit is : noType [C-a] [C-h] to see available commands
Terminal ready
<tL1766843 .
PTEC TH.. $
IINST 000 W
IMAX 012 B
PAPP 00000 !
MOTDETAT 000000 B
ADCO 021628001921 7
OPTARIF BASE 0
ISOUSC 30 9
BASE 001766843 .
PTEC TH.. $
IINST 000 W
IMAX 012 B
PAPP 00060 '
MOTDETAT 000000 B
ADCO 021628001921 7
OPTARIF BASE 0
ISOUSC 30 9
BASE 001766843 .
PTEC TH.. $
IINST 000 W
IMAX 012 B
PAPP 00060 '
MOTDETAT 000000 B
ADCO 021628001921 7
OPTARIF BASE 0
ISOUSC 30 9
BASE 001766843 .
PTEC TH.. $
IINST 000 W
IMAX 012 BDonc c'est ce RPi qi va relever le Linky via le shield et le Sagem via le dongle.
-
Par contre, pour l'instant, je lis la sortie TIC du Linky via un programme Python qui utilise la bibliothèque PITinfo mais je dois bidouiller dans un script pour lancer le programme python en arrière plan puis au bout de 10s, je fais un grep et je kill le process car le programme python ne rend jamais la main.
Pour le dongle, je pense utiliser ton programme :
http://hallard.me/teleinfo-emoncms/
Mais si je veux un programme qui sache lire le Linky et un autre qui sache lire le Sagem, il faut que je le compile 2 fois avec des options différentes (pour qu'ils se nomment différemment, pour qu'ils aient des fichiers de conf différents, ...) ? Va falloir que je me plonge de le makefile et le fichier .c, ça va me rappeler ma jeunesse
-
@mikebzh44 je crois que tu te complique la vie, la vrai question est comment traites tu les données après et qu'en fait-tu ?
A ta place sur le PI je monterais un node red qui écoute sur les 2 serial et qui les envoi ou tu veux (en plus c'est graphique c'est top)
Sinon ton script python peut faire l'affaire tu le copie et tu le renommes
script_cpt1.py
etscript_cpt2.py
et tu lances les 2 en arrière plan chacun avec ses propres options par exemple.Ya plein d'option mais compiler du C juste pour lire la téléinfo c'est du taff.
-
Je remonte mes index de compteur dans une base MySQL à une cadence d'une minute.
Avec le Node Red, je peux faire une boucle pour lire les 2 serial et envoyer les infos dans ma base MySQL toutes les minutes ?
Sinon, je vais dupliquer mon shell + script python pour que chacun lise un serial.
-
@mikebzh44 oui bien sur tu peux tout faire avec node red, tu peux le lancer en auto au démarrage, ensuite tu peux faire des modifs de code à la volée ou ajouter des modules (envoi dans mysql par exemple) dans la GUI, c'est super pratique, t'as pas besoin de gérer les redémarrages et tout. Tu peux même le faire tourner dans une instance docker, ca ne polluera pas ta machine.
pour ton script tu peux aussi regrouper la lecture des 2 serials dans le même script.
-
@mikebzh44 ce qui m'inquiète c'est que ton dongle ne lise pas le mode standard, peux tu ré essayer en ne mettant que le dongle connecté à la sortie du linky et bien vérifier les connexions ?
-
Je vais installer Node Red ce soir et je vais tester le dongle sur le Linky en étant seul sur la sortie TIC.
-
je fais partir au courrier demain:
- un autre uTeleinfo avec
- 1K2 entrée opto
- 4.7K sortie opto
- Un Shield PITinfo (1K2 / 4K7)
Ensuite pourras tu faire des tests avec et nous dire si les deux fonctionnent en mode standard avec ton Linky ?
Merci à toi, tu pourra garder le tout.
- un autre uTeleinfo avec
-
@charles Merci, je sais pas si ca vaut le coup, je viens de tester le dongle sur mon Linky sans la double liaison et picocom lit sans problème les trames.
C'était soit un soucis de branchement, soit le fait d'avoir dérivé la sortie TIC vers 2 serials
J'ai installé Node-Red, je m'attaque à la lecture de mes compteurs maintenant
-
Par contre, j'essaie de lire ma sortie TIC via le dongle et Node Red et d'insérer l'index dans ma base MySQL :
Ca marche mais j'ai un décalage d'une seconde à chaque ajout :
Donc avec cette dérive, je vais avoir un moment ou je vais louper une minute. Je sais, c'est pas la mort mais j'aimerais bien garder mon intervalle d'une minute.
Si tu as une idée
-
@mikebzh44 ah ok très bien, ça me rassure. merci pour le suivit