Où sommes nous ?

Retour

BananaPI et téléinformation

Les compteurs EDF récents, c'est-à-dire ceux qui comportent un afficheur digital et non une roulette, disposent d'une prise nommée TéléInfo qui expose leurs statistiques sous forme d'une classique trame série : plus d'informations directement sur le site d'EDF.
Encore mieux, si vous êtes vous-même producteur d'électricité, les 2 compteurs supplémentaires sont du même type et peuvent eux aussi fournir des informations.

Le but de ce billet est de connecter ce ou ces compteurs à notre BananaPI pour générer de jolies statistiques.

Côté compteur

La partie haute du compteur est réservée au personnel d'EDF et briser la scellée ne pourra que vous amenez que des problèmes ... vous êtes donc prévenu. Le bas par contre est à votre disposition avec 2 connecteurs :

Cette prise téléinfo produit un signal série classique (identique à prises RS-232), mais avec des niveaux électriques atypique : un signal modulé à 50hz, 5 volts en nominal.

Gràce à ce dernier, un simple câble téléphonique suffit, dans lequel plusieurs paires peuvent être utilisées (ben oui, les producteurs ont plusieurs compteurs comme je l'ai indiqué plus haut) sur une longueur qui peut atteindre les ... 500 mètres. Enfin la norme intègre le risque inductif en cas d'orage (la norme prévoie une surtension ponctuelle jusqu'à 20 volts) : Bref, utilisable aussi si vos compteurs sont déportés en limite de propriété.

Il faut donc ...

un (des) convertisseur de niveau

Il se résume à 3 composants par compteur à connecter suivant un schema qui se trouve facilement sur internet :

Mon schéma vient du forum de ChaleurTerre.

Sont nécessaires :

Pour rendre la chose un peu plus "propre", j'ai aussi ajouté un bornier : J'ai trouvé sur la baie un kit tout prêt qui ne m'a coûté qu'une dizaine d'€uros pour 2 flux, port compris.

Côté BananaPI

La majorité des solutions de téléinfo DIY sont basées sur un RaspberryPI, qui ne dispose que d'un seul UART : pas pratique pour suivre plusieurs compteurs ...

Le BananaPI expose, lui, 4 UARTs tels qu'indiqué dans le guide utilisateur.

Ce qui donne les correspondances suivantes :

       | Correspondance | Connecteur | Utilisation
| Gentoo | |
-------------------------------------------------------------
uart0 | ttyS0 | J11 | Console (par défaut)
uart2 | ttyS1 | Con 3 | GPIO0 & 2
uart3 | ttyS2 | Con 3 | Compatible rPI
uart7 | ttyS3 | J12 |

J'ai laissé de côté ttyS0, toujours utile d'avoir une console sur un serveur headless, ainsi que ttyS1 pour conserver la compatibilité avec le Raspberry du con3 : On sait jamais, au cas où j'aurai envie d'ajouter un sheild prévu pour ce SBC.
Il me reste donc :

Ben ... et le 3e compteur dit de sous-tirage ?
Il n'est utilisé que pour vérifier que vous ne réinjectez pas le courant issu d'EDF dans votre production : Il restera donc à zéro, strictement aucun intérêt.

Configuration des ports séries

Les transmissions se font en 1200 bauds, 7 bits, parité paire, 1 bit de stop. Ce qui correspond aux commandes suivantes :

stty 1200 cs7 evenp cstopb -igncr -inlcr -brkint -icrnl -opost -isig -icanon -iexten -F /dev/ttyS2
stty 1200 cs7 evenp cstopb -igncr -inlcr -brkint -icrnl -opost -isig -icanon -iexten -F /dev/ttyS3

Placer ces commandes dans le fichier /etc/local.d/teleinfo.start (qui doit être exécutable), initialisera nos ports à chaque boot.

Autoriser l'accès aux ports

Tous les utilisateurs devant accéder aux ports doivent faire partir du groupe uucp.

usermod -a -G uucp utilisateur

Test

Ca marche, yeaaaahhhh !

laurent@bPI ~ $ cat /dev/ttyS3ADCO 040928025841 B
OPTARIF HC.. <
ISOUSC 60 <
HCHC 037551020 ]
HCHP 053068843 8
PTEC HP.. 
IINST 002 Y
IMAX 062 G
PAPP 00520 (
HHPHC C .
TDETAT 000000 B
ADCO 040928025841 B
OPTARIF HC.. <
ISOUSC 60 <
HCHC 037551020 ]
HCHP 053068843 8
PTEC HP.. 
IINST 002 Y
IMAX 062 G
PAPP 00520 (
HHPHC C .

avec comme informations interessantes :

Réalisation

Comme on peut le voir, il reste beaucoup de place pour d'autres aventures électroniques

Bidouille supplémentaire

En regardant de plus près le schéma du BananaPI, le RX de l'UART4 est connecté au port J12-03 : ça tombe bien, nous n'avons besoin que d'entrée (RX) et cela libérerait entièrement le CON 3.

Seule une modification du fichier FEX et nécessaire : activation de l'UART4 ... mais ça sera pour plus tard : je n'en ai pas (encore ?) le besoin du CON3 .

Et pour exploiter tout ça ...

... j'ai créé un joli démon.

Téléinfod lit ces trames et les convertit en messages MQTT. C'est de l'open-source et, d'après mes tests, la charge sur le BananaPI est négligeable.


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2017
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.