StafrGotar / uTeleinfo

Micro Teleinfo USB Dongle

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Micro Téléinfo V3

Dongle USB permettant de récupérer les trames téléinformation

Suivez mes nouveautés et autres projets sur mon blog

Historique

New V3.0

  • Remplacement R3 par un potentiomètre
  • Led séparées RX / TX

Prototype V3.0

  • Réduction taille PCB
  • Ajout LED information signal TIC
  • Test Led Rouge/Vert pour RX/TX
  • Test avec connecteur USB PTH/SMD
  • Ajustement résistance TIC 220 Ohm
  • Ajustement résistance MOSFET 3.3KOhm
  • Changement chip FT230XS par CH9106

V2.0

  • Version historique

V3.0 VS V2.0

V3 vs V2

Installation et configuration

Les tests suivants sont réalisés depuis un terminal (ou via SSH) sur Rapsberry PI, veillez à bien toujours avoir votre PI à jour avec les commandes suivantes

sudo apt-get update
sudo apt-get upgrade

Verification du module

Lancer un terminal (ou via SSH), connecter le module puis faites un dmesg -e

[Dec27 11:25] usb 1-1.4: new full-speed USB device number 30 using dwc_otg
[  +0.144735] usb 1-1.4: New USB device found, idVendor=1a86, idProduct=55d4, bcdDevice= 4.43
[  +0.000022] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  +0.000016] usb 1-1.4: Product: uTinfo-V3.0
[  +0.000015] usb 1-1.4: Manufacturer: CH2i
[  +0.000014] usb 1-1.4: SerialNumber: TINFO-2000
[  +0.001248] cdc_acm 1-1.4:1.0: ttyACM0: USB ACM device

On voit bien que le module est bien detecté, dans notre cas le nom de device /dev/ttyACM0

Connecter la téléinfo

Brancher le connecteur vert du module avec un cable (un petit cable fait parfaitement l'affaire comme téléphonique, réseau, alim LED, ...) sur le compteur aux bornes I1 et I2, peut importe le sens ce n'est pas polarisé.

La Led bleu doit clignoter très rapidement (ou être quasi allumée) indiquant que le signal téléinfo est bien présent.

Test de réception

Picocom

Le 1er test est avec un terminal série nommé picocom , installation via

sudo apt-get install picocom

Puis lancer la commande suivante si vous êtes en mode historique

pi@pi03:~ # picocom -b 1200 -d 7 -p e -f n /dev/ttyACM0 

Ou celle ci en mode standard

pi@pi03:~ # picocom -b 9600 -d 7 -p e -f n /dev/ttyACM0 

Vous devriez voir arriver des données sur le termimal

picocom v3.1

port is        : /dev/ttyACM0
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        : no

Type [C-a] [C-h] to see available commands
Terminal ready
HCHP 002784502 /
PTEC HP..  
IINST 001 X
IMAX 002 A
PAPP 00200 #
HHPHC A ,
MOTDETAT 000000 B
ADCO 021528603314 :
OPTARIF HC.. <
ISOUSC 15 <
HCHC 001096011 X
HCHP 002784502 /
PTEC HP..  
IINST 001 X
IMAX 002 A
PAPP 00180 *
HHPHC A ,
MOTDETAT 000000 B
ADCO 021528603314 :
OPTARIF HC.. <

Terminating...
Skipping tty reset...
Thanks for using picocom
root@pi03:~ # 

PS : Pour quitter picocom il faut faire CTRL-A puis immédiatement CRTL-Q

De plus lorsque picocom est actif et les données reçues par le PI la LED rouge doit aussi se mettre à clignoter

Schematics

Test avec Python

Un programme de test basic a aussi été réalisé en python, vous trouverez toute la documentation sur le repo suivant https://github.com/hallard/teleinfo-test

Python avancé

Un programme plus avancé été réalisé en python (merci à l'auteur original), vous trouverez toute la documentation sur le repo suivant https://github.com/hallard/python-teleinfo

Python publication MQTT

En utilisant le module avancé ci dessous il est extrèmement simple de faire un script python qui publie les données dans MQTT

Installation de la librairie paho-mqtt et des outils MQTT

pi@pi03:~ # sudo apt-get install mosquitto-clients
pi@pi03:~ # pip install paho-mqtt

Créer le script suivant dans le dossier python-teleinfo, par exemple test.py

#!/usr/bin/env python
import json
import paho.mqtt.client as mqtt
from teleinfo import Parser
from teleinfo.hw_vendors import UTInfo3
ti = Parser(UTInfo3())
client = mqtt.Client("PI-Demo1")
client.connect("test.mosquitto.org")
while True:
    data = json.dumps(ti.get_frame())
    print(data)
    client.publish("teleinfo/demo", data)

Puis le lancer via

pi@pi03:~/python-teleinfo $ python test.py 

Enfin ouvrez un autre shell sue le PI (ou lancer la commande sur votre ordinateur ou utiliser un outil type MQTT Explorer) et vérifier les publication dans MQTT

Et voila le résultat

pi@pi03:~ # mosquitto_sub -h test.mosquitto.org -t "teleinfo/#"
{"IINST": "001", "MOTDETAT": "000000", "OPTARIF": "HC..", "ADCO": "021528603314", "HCHC": "001096011", "PAPP": "00170", "IMAX": "002", "PTEC": "HP..", "ISOUSC": "15", "HHPHC": "A", "HCHP": "002785290"}
{"IINST": "001", "MOTDETAT": "000000", "OPTARIF": "HC..", "ADCO": "021528603314", "HCHC": "001096011", "PAPP": "00160", "IMAX": "002", "PTEC": "HP..", "ISOUSC": "15", "HHPHC": "A", "HCHP": "002785291"}
{"IINST": "001", "MOTDETAT": "000000", "OPTARIF": "HC..", "ADCO": "021528603314", "HCHC": "001096011", "PAPP": "00180", "IMAX": "002", "PTEC": "HP..", "ISOUSC": "15", "HHPHC": "A", "HCHP": "002785291"}

Bien entendu c'est un exemple, il faudrait parser les valeurs, potentiellement les convertir en nombre et faire un peu de gestion d'erreur mais les bases fonctionnelles sont là.

Conception

Schémas

Schematics

Cartes

PCB

On PI

Support et discussions

Si vous rencontrez le moindre soucis ou si vous voulez simplement discuter de votre projet avec ce module n'hésitez pas à utiliser le forum communautaire

License

Creative Commons Attribution-NonCommercial 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License
If you want to do commercial stuff with this project, please contact CH2i company so we can organize an simple agreement.

Trop compliqué de le fabriquer ?

Vous pouvez commander ce module assemblé et prêt à l'emploi sur tindie

I sell on Tindie

About

Micro Teleinfo USB Dongle