Interface de connexion de la liaison téléinfo du compteur électrique à un modem/routeur

Introduction

La liaison téléinformation du compteur d'électricité EDF fournit en permanence des informations sur son état: valeur des compteurs, intensité instantanée, période tarifaire, .... L'utilisation d'un modem/routeur ADSL du type neufbox4, par exemple, pour enregistrer ces informations présente un certain nombre d'avantages:

Le lecteur notera, cependant, que les anciens compteurs ne disposent pas de liaison téléinfo rendant, dans ce cas, cette interface inutile.

Le fonctionnement de la liaison téléinformation a déjà été présenté dans les documents [1], [2], [3], [4]. Le lecteur est donc inviter à s'y reporter, si ce n'est déjà fait.

L'application de cette interface se fait avec un modem Neufbox4. Mais tout autre modem/routeur ou routeur peut convenir à condition de disposer des facilités suivantes:

Fonctionnalités

Principe de fonctionnement

Le projet comporte un circuit d'interface à microprocesseur, analogue à celui décrit dans le document [3], et son logiciel. Le microprocesseur lit en permanence la liaison téléinfo, la décode, filtre les informations et les transmet sur la liaison série à 115200 bits/s, 8 bits, sans parité ce qui correspond à la programmation initiale de la liason série du modem.

Le filtrage consiste à enlever les informations redondantes. Dans le cas de tempo, par exemple, les 6 compteurs sont présents dans la trame, alors que dans la période tarifaire en cours, un seul est activé. L'intensité instantanée peut être échantillonnée avec une périodicité variable de 1 à 255 secondes et les informations ne sont transmises que si il y a changement par rapport à la valeur précédente.

La liaison série du micro est directement connectée à l'interface série du modem. En effet cette interface ne sert pas au fonctionnement normal du modem mais simplement pour l'aide au debug. Elle est donc utilisable par notre interface sans condamner sa première affectation. Un logiciel est nécessaire pour la gestion de la liaison série sur le modem. Un synoptique montre les différents blocs du projet.

Dans le modem, les informations sont reçues par un logiciel travaillant en mode serveur. Il est en permanence à l'écoute de la liaison série et d'un port réseau tcp/ip. Les informations provenant de la liaison série sont stockées en local dans un fichier. Les informations provenant du port tcp/ip sont soit destinées à l'interface et alors ils sont simplement transmis sur la liaison série vers l'interface, soit destinées au serveur lui-même pour la gestion des fichiers de téléinfo et alors elles traitées par le serveur. Le serveur gère la transmission et la suppression des fichiers de téléinfo à la demande.

Il faut un 3 ième programme, tournant à l'occasion sur un PC, pour rappatrier, par le réseau, les fichiers de téléinfo et en faire la gestion. Il peut aussi lire ces informations directement sur la clé USB, si elle est montée sur le PC.

La carte d'interface

Voici le schéma de la carte d'interface :

La carte d'interface est réalisée autour d'un microprocesseur AVR atmega168 comportant 16 k octets de mémoire flash. Il n'y a aucune nécessité d'utiliser un AVR. Tout autre micro peut faire l'affaire à condition de pouvoir y loger le programme, d'être piloter par un quartz, de disposer d'un compteur 8 bits pour compter des évèments extérieurs au micro, de disposer d'un uart et de 2 timers internes.

Un quartz permet de donner la stabilité nécessaire sur la liason série, ainsi qu'au décodage de la téléinfo. Le transfo est un transfo d'isolement de modem. Celui-ci a été récupéré sur un modem RTC foudroyé. Après ce test en grandeur réelle, on peut supposer qu'il évitera la propagation de la foudre aux équipements connectés.

Un cable de liaison à la box permet le racordement direct au niveau TTL des signaux txd et rxd ainsi que les connexions d'énergie 0 V et 3.3 V, l'énergie étant fournie par la box.

1 led est prévue pour afficher l'information tarif Jour / Nuit, et 3 autres pour afficher les couleurs du jour tempo. L'annonce de la couleur du lendemain se fait par le clignotement de la led correspondante.

Il reste un certain nombre de ports actuellement inutilisés qui peuvent servir de commande à distance. Ils sont accessibles de la box, d'un pc sur le réseau local ou même d'internet.

Consommation @ 3,3 Volt : 5 mA, ( et 12 mA avec l'interface rs232, qui ne figure pas sur le schéma. Notez que cette interface n'est nécessaire que pour un raccordement à un PC !).

Un double inverseur figurant sur la carte et pas sur le schéma permet de croiser txc et rxd évitant d'utiliser un cable croisé. En effet le cablage par défaut permet de connecter les cibles directement au PC avec une interface rs232 ce qui est nécessaire pour le développement. Mais lorqu'il faut connecter 2 cibles entre elles, il faut croiser les fils !

Voici une photo de la carte d'interface :

photo carte interface

L'interface est présentée comme une carte séparée, mais dans le cas d'utilisation de télécommandes, il serait, sans doute, préférable de l'incorporer avec l'interface de controle des circuits commandés.

Le logiciel de la carte d'interface

Le logiciel est écrit en C et dispose , en plus des fonctions énumérées au dessus, d'un interprêteur de commande simple et simpliste pour les besoins de test, ainsi que le bootloader habituel pour programmer la mémoire flash.

Un dispositif de mise en isolement a été nécessaire pendant le démarrage de la box. En effet les messages produits par la box sont envoyés sur la liaison série et perturbaient l'interface. Dautre part l'interface doit être silencieuse au moins pendant la durée de vie du bootloader de la box, le CFE, pour éviter d'interrompre le boot. Dès la détection d'un message du CFE, l'interface s'isole pendant 2 minutes.

La programmation de la mémoire flash du microprocesseur se fait soit par la laison série en utilisant les fonctionnalités d'autoprogrammation (méthode préférée, voir fichier boot.c), soit en déplacant le microprocesseur sur un programmateur puisque les connexions ISP (In System Programming) ne sont pas installées. Comme la liaison série est accessible en réseau, le programmateur pgrm se connecte à la box qui relaie les infos de programmation dans les 2 sens.

Voici un exemple de session vers la carte d'interface à travers la box. Le # et le texte qui le suit est un commentaire rajouté pour éclairer le lecteur et ne fait pas partie de la session.!

[hq@olix php]$ telnet nb 2946
Trying 192.168.1.1...
Connected to nb.
Escape character is '^]'.
W                      # demande d'identification
Nbtelei_1.0.59
D                      # demande de la date
14:57:04 18:04:2012
N                      # demande mode Iinst/Papp période d'échantillonnage
I/P: 0 15
IC                     # lecture du port C
C PORT 0, PIN 6, DDR 0
iC FF                  # écriture de FF dans le port C
IC                     # relecture du port C (il n'a que 6 bits)
C PORT 7F, PIN 3F, DDR 0
c                      # lecture des index du compteur EDF
CNT: 0 25164608 25164608 0
CNT: 1 26874105 26878929 4824
CNT: 2 5205527 5205527 0
CNT: 3 5023635 5023635 0
CNT: 4 3097098 3097098 0
CNT: 5 1431020 1431020 0
J                      # lecture intensité instantanée 
PAPP: 540 IINST: 1 2

Il est possible de voir une copie des messages enregistrés en se connectant à la box

hq@olix php]$ telnet nb 2946
Trying 192.168.1.1...
Connected to nb.
Escape character is '^]'.
fa
D
 7:15:54 19:04:2012
4F8FBCCA  PAPP: 320 IINST: 1 2
4F8FBD06  PAPP: 370 IINST: 1 1
4F8FBDF6  PAPP: 370 IINST: 1 2
4F8FBE05  PAPP: 220 IINST: 1 1

Outils de développements

Le logiciel est développé sur un systeme Linux Fedora F16. Pour ce faire, il est nécessaire de disposer d'un compilateur spécifique pour les AVR et installer les paquets suivants, qui ne sont pas installés par défaut :

Une fois le programme compilé, il peut être téléchargé dans la mémoire flash du microprocesseur à l'aide du logiciel pgrm et sa fonction terminal permet d'en controler le fonctionnement. Attention cependant la première fois il faut procéder autrement : voir les pages relatives à pgrm.

Le schéma est créé avec gschem qui fait partie de la suite gEDA. Si vous souhaitez modifier le schéma, vous en aurez sans doute besoin ainsi que la bibliothèque de symboles gedasym.

Compilation

Vous avez besoin des outils de développement précédemment cités:

tar zxvf nbtelei-yyyymmdd.tar.gz
cd nbtelei-yyyymmdd
make

Le logiciel à installer dans le modem/routeur

Ce logiciel est également écrit en C et il est constitué de 2 serveurs, 1 pour la laison série et 1 pour l'accès tcp/ip, pour fournir les fonctionnalités évoquées au paragraphe Principe de fonctionnement.

Il a, cependant, une particularité : c'est qu'il doit fonctionner sur une cible non conventionnelle: le modem / routeur. Et chaque routeur a sa propre chaine de développement qu'il va falloir installer pour pouvoir compiler.

Si il s'agit d'un modem routeur neufbox, vous trouverez les instructions nécessaires sur le site Site de la Neuf Box 4 Open Source.

Les outils de compilation installés, les choses deviennent plus conventionnelles mais il faut encore modifier le fichier livré mips.inc.mk pour pointer sur les répertoires où sont installés les outils. Attention le MIPS=1 est important, même si ce n'est pas du mips. Si ce paramètre n'est pas donné, la compilation se fait pour la machine locale.

tar zxvf nbtirelay-yyyymmdd.tar.gz
cd nbtirelay-yyyymmdd
make MIPS=1

Le logiciel de gestion des données de téléinfo

Le rôle principal du logiciel de gestion des données de téléinfo est de rappatrier les fichiers stockés sur la clé USB et de libérer l'espace qu'ils occupaient pour les archiver dans un fichier local en attendant une exploitation plus rigoureuse.

Le programme peut être utilisé soit avec une source locale par exemple la clé USB montée en local, soit en se connectant à la box par tcp/ip, soit en se connectant sur une liaison série comme dans le cas du projet dlogger.

Ici, par contre, on est en compilation native, c'est donc la formule classique.

tar zxvf dlreader-yyyymmdd.tar.gz
cd dlreader-yyyymmdd
make

Références Documentaires

  1. Spécification techniques du signal de téléinformation.
  2. Utiliser son PC pour relever son compteur d'électricité.
  3. Un enregistreur de données et évènements autour de son compteur d'électricité.
  4. Démodulation ASK par un microprocesseur.

LICENSE

The Nbtelei, Nbtirelay, Dlreader software are licensed under the terms of the GNU General Public License as published by the Free Software Foundation. See the file "COPYING" in their respective directory.

Download