Bonjour à tous,
J'essaie de récupérer les infos d'un linky avec le setup suivant:
Mon pb est la réception de trames erronnées: je vois plein d’erreurs comme celles-ci dans la console:
20:41:14.208 LibTeleinfo::checkLine Err checksum 0x00 != 0x57 (total errors=21)
20:41:35.464 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=22)
20:41:42.966 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=23)
20:41:52.967 LibTeleinfo::checkLine Err checksum 0x00 != 0x57 (total errors=24)
20:42:03.209 LibTeleinfo::checkLine Err checksum 0x00 != 0x3E (total errors=25)
et les infos restent à 0, sauf EnergyTotal (pourquoi celui-là et pas les autres???):
Du coup, pour debugger, j'ai intégré et flashé le code Teleinfo_stats en ajustant le code pour utiliser le GPIO 23: celui-ci confirme la mauvaise réception: je ne vois passer que des caractères de controle de manière erratique (STX, ETX, INTERRUPT etc. mais rarement des infos intelligibles)
Donc ensuite j'ai branché mon oscilloscope et comparé l’entrée du module teleinfo (la modulation TIC directe du linky et la sortie sur le port RX du D1). Je pense qu’il y a un soucis dans la transformation du signal vers un signal série classique:
A noter que j'ai fait une capture à un moment pas forcément idéal car manque de chance, le signal RX était plat à ce moment là... En fait, il y a parfois des signaux carrés (courbe bleue), mais le truc, c'est que les signaux carrés fabriqués coté RX ne semblent pas reliés au signal modulé 50kHz du Linky.
J'utilise picoscope et le soft "sait" décoder les signaux UART: quand je mets un décodage approprié (9600 bauds, 7bits, 1 bit de stop, parité paire etc.), j'ai des "frame errors" dans ~90% des cas.
Bref, j'ai un soucis de signal RX transmis au D1...
Composant défectueux ?
Pb de résistances ? (j'ai cru voir qu'il fallait peut être ajuster certaines valeurs). En gros, on voit que la sortie du Linky semble correcte mais ca ne se traduit pas par un signal clair coté RX.
Merci par avance pour vos idées