Dans ce chapitre en 2 parties nous verrons comment récupérer les données de teleinfo transmises par le compteurs EDF sur un raspberry puis l’affichage dans Domoticz
Chapitre 1 : Le Hard et le Raspberry
- il faut un optocoupleur SFH6206, des résistances 1.2K et 47 K
- Un câble que l’on reliera aux bornes I1 et I2 du compteur, la longueur n’a pas d’importance car on porte à plus de 30 m sans problèmes
le schéma suivant montre le câblage à effectuer
Pour info le raspberry et son brochage, le coté gauche est 1,3,5,7 … le coté droit 2.4.6…
Donc 3.3 Power, GND et GPIO 15 (RXD)
Câblage du compteur EDF.
Il n’y a pas de sens à respecter pour cette connexion.
Démontez le capot en bas du compteur.
Dévissez les 2 vis en dessous de ces 2 trous insérez y vos câbles.
Câblez le coté Raspberry 3.3,GND, et le GPIO 15
Le soft coté Raspberry
-
Modification du fichier « cmdline.txt »
sudo nano /boot/cmdline.txt
remplacer la ligne :
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
par :
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
en d’autre termes supprimer :
console=ttyAMA0,115200 kgdboc=ttyAMA0,115200
puis
-
Modification du fichier « inittab »
sudo nano /etc/inittab
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
devient :
#T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
(il y a un # devant la ligne)
un petit sudo reboot
au redemarrage
sudo stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
sudo cat /dev/ttyAMA0
doit afficher les messages du compteur :
OPTARIF HC.. < ISOUSC 45 ? HCHC 021475341 ! HCHP 019306374 4 PTEC HP.. IINST 004 [ IMAX 048 KPAPP 00940
ATTENTION !! Vérifiez bien que vous voyez passer le terme MODETAT , si vous ne le voyez pas essayez avec
stty -F /dev/ttyAMA0 1200 sane parenb -parodd cs7 -isig -icrnl -crtscts -icanon
si ok on fait un lien entre le tty et USB20
sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20
N.B pour conserver le lien à chaque reboot
un sudo /etc/rc.local puis en bas ajoutez la ligne spécifique pour la création du lien, avant le exit 0
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing.
# Print the IP address _IP=$(hostname -I) || true if [ "$_IP" ]; then printf "My IP address is %s\n" "$_IP" fi sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20
exit 0
et voila
Merci à http://www.chaleurterre.com/forum/viewtopic.php?t=15153
et a http://www.domoticz.com/forum/viewtopic.php?f=5&t=627&hilit=teleinfo&start=20
Super tuto, merci beaucoup, je l’ai suivi à la lettre et tout fonctionne.
J’ai aussi pu trouver un package tout fait pour les composants sur Ebay, celà risque d’intéressé des personnes!
http://www.ebay.fr/itm/Pack-Tele-Info-EDF-/251486277063?pt=FR_YO_MaisonJardin_Bricolage_ElectroniqueComposants&hash=item3a8dc00dc7
Salut !
Merci pour ce tuto, ça fonctionne au top !
Est ce que le lien entre le tty et USB20 persistera au reboot ?
sudo ln -s /dev/ttyAMA0 /dev/ttyUSB20
Bye et bonne continuation !
bonjour, et merci pour le tuto
j’aimerais savoir s’il il y a une limitation de longueur du fils entre le compteur edf et le montage svp? en autre terme rpi a cote du compteur ou dans mon local technique avec le reste merci
Bonjour
La sortie du compteur se fait à 1200 Bds et « On dit que » à cette vitesse (j’ai recherché les sources mais je ne retrouve plus) le signal porte à une 100aine de metres
Assure le coup avec du cable réseau de bonne qualité en paires torsadées
Bonjour
tout d’abord bravo pour les tuto !!
je penne un peu a faire marcher la téléinfo quant je fait un sudo cat /dev/ttyAMA0
rien ne se passe le Raspberry est bloqué je n’ai plus de prompt .
une idée ?
j’ai bien vérifier , mais je me demande ou ai le problème matériel ou paramétrage
bonjour,
oui revois tout le coté cablage
puis les modifs dans le cmdline.txt et le inittab tu as quelque chose qui « gele » le tty et c’est la que ca ce joue
idem pour le sudo stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
bonjour,
oui en effet je le rajoute dans l’article merci de ta relecture 🙂
Bonjour,
Merci pour ce tuto très précis.
L’utilisation du port RX (pin 10) est il possible si un module Zwave est déjà connecté sur le GPIO (et utilisant donc déjà le port RX) ?
cdt,
Franck
Bonjour
Non cela n’est pas possible
salut a tous, j’ai bien galéré pour éditer le fichier rc.local avec la solution proposée ci dessus, échec, droit insuffisant code 3 ou un truc comme ca bilan, j’ai essayé cette methode et ca marche
en putty entrer la commande suivante :
rajouter la ligne
ctrl X pour fermer le fichier
c’est validé
olé, et suis fière de moi !! na
Bonjour,
Avez vous la conso instantanée avec ce montage ?
Car moi le composant dans mesures affiche toujours 0Watt, par contre la conso journalière remonte bien.
Merci pour vos réponse.
Julien
Oui elle figure en haute à droite dans le widget
Et bien moi je ne l’ai pas….
Et quand je fait ip:port/json.htm?type=devices&rid=IDX , sur la ligne Usage j’ai 0 Watt tout le temps….
Aurais tu une idée ?
Merci d’avance
Bonjour,
Super tuto. Ca marchait nickel jusqu’à la semaine dernière, mais j’ai du réinstaller mon raspi et là surprise, sur la derniere version, pas de fichier /etc/inittab
Je ne sais pas si le problème vien de là, mais maintenant j’obtiens ça quand je fais le cat /dev/ttyAMA0 :
Est ce que quelqu’un aurait une idée ?
Merci d’avance. Cdt.
Bonjour
Au vu des caractéres pourris dans la chaine c’est davantage la ligne
sudo stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
sudo cat /dev/ttyAMA0
que tu as ratée
essaye cela et reviens nous dire
Bonjour
Est il possible d’utiliser un autre port GPIO que le 10 ?
Merci
Bonjour
L’article fait mention de GPIO 15 c’est le rx du bus serie c’est lui à utiliser
https://fr.pinout.xyz/pinout/pin10_gpio15
bonjour,
avec le nouveau raspian il faut dans sudo raspi-config:
->menu Advanced Options/Serial
-> desactiver Login shell
-> Serial enable
Redémarrer avec sudo reboot
et enfin valider l’uart (port serie) dans le fichier config vers la fin du fichier:
sudo nano /boot/config.txt
écrire enable_uart = 1
sauvegarder avec CTRL+O puis CTRL+X (la touche controle + lettre O) 🙂
encore sudo reboot
Là vous pourrez enfin créer
sudo stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts
sudo cat /dev/ttyAMA0 (pour quitter le défilement appuyer sur touche pause|arrêt deff)
« Pour les raspberry 3 C’est pareil sauf que vous devrez désactiver le Bluetooth (qui monopolise la liaison UART/série)
C’est la théorie :s »
https://raspberrypi.stackexchange.com/questions/56667/communicate-with-arduino-over-serial
bonjour,
trouvé sur https://raspberrypi.stackexchange.com/questions/56667/communicate-with-arduino-over-serial
avec le nouveau raspbian
il faut après avoir désactiver le port série dans sudo raspi-config
redémarrer sudo reboot
puis éditer le fichier config
->sudo nano /boot/config.txt
remplacer ou écrire enable_uart = 1 (vers la fin du fichier)
enregistrer (touche controle + lettre O Ctrl+O)
redémarrer sudo reboot
Là vous pourrez créer la sortie TTYama0
->sudo stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crts
« Raspberry Pi3 c’est pareil en théorie mais il faudra déactiver le bluetooth. il monopolise la liaison série UART »