Télé-information client des compteurs EDF

Compteur électronique SAGEM S10-C4

Un Raspberry Pi pour récupérer de manière régulière et automatique les informations d'un compteur électronique d'électricité de votre distributeur préféré (alterna, direct energie, happ'e, proxelia, lampiris, engie, planete oui, edf, énergem, enercoop …) : intensité et puissance instantanées, index et autres.

On pourrait peut-être s'appuyer sur un Rabperry Pi, voir un Rabperry Pi Zero pour réaliser un auto relevé. Les inconvénients sont les suivants :

  • pas de prise Ethernet (propre sur Rabperry Pi Zero)
  • pas de prise USB type A pour y brancher un dongle Wifi (propre sur Rabperry Pi Zero)
  • obligation d'avoir une alimentation en 5 V.

Concernant l'alimentation, voici les pistes de réflexion :

  • déport du Raspberry Pi par rapport au compteur électronique
  • alimentation par la compteur

Déport du Raspberry Pi

Les caractéristiques physiques du câble à utiliser entre le RasbperryPi et le bus de télé-information client sont celles d’un câble téléphonique intérieur de type suivant:

  • paire torsadée simple avec écran (aluminium) et conducteur de drain,
  • conducteurs monobrins en cuivre étamé de diamètre compris entre 0,5 mm et 0,6 mm,
  • isolant PVC.

En utilisation, la longueur du bus mis en œuvre doit est inférieure ou égale à 500m (en topologie quelconque). Ce qui n'oblige pas à disposer le RasbperryPi à proximité du compteur.

Concernant les Rabperry Pi Zero :

Alimentation de la TIC

L’accès au circuit d’alimentation de la TIC se fait via les bornes I1 et A. Ce circuit est mis à disposition des clients pour alimenter un récepteur de télé-information rattaché au compteur.

Lorsque aucune charge n’est raccordée à la sortie de l’alimentation de la TIC, la tension aux bornes de l’alimentation vaut 13 Vrms max.

En charge, la tension est 6 Vrms ±10% à 50 kHz (12 V pic au maximum tenant compte d’éventuelles déformations du signal).
La puissance minimale délivrée est de 130 mW.
Il convient de protéger la sortie doit être protégée contre les court-circuits. La tenue à la tension secteur (230 V 50Hz) est exigée (en cas de branchement intempestif de l’installation client).

Mise en oeuvre

Pour réaliser l'interface entre le bornier TIC et le Raspberry Pi, j'ai acheté :

  • une plaque pré-percée
  • 2 résistances
  • un opto-coupleur
  • bornier
  • câbles pour connecter au Raspberry Pi - 3
  • câble pour relier au bornier TIC - câble réseau
Modèle A Modèle A+ Modèle B Modèle B+ Modèle Zero Modèle 2
clé Wifi obligatoire obligatoire en option en option obligatoire en option
boitier oui compliqué compliqué oui oui oui

à suivre Câblage et Réalisation du circuit de conversion


Système d'exploitation utilisé

Pour la suite des évènements, je me suis basé sur Raspbian v.8 (Jessie).

Pour connaitre la version de votre Raspbian, il suffit de consulter le fichier /etc/os-release.

Il vous sortira un code ce genre :

PRETTY_NAME="Raspbian GNU/Linux 8 (jessie)"
NAME="Raspbian GNU/Linux"
VERSION_ID="8"
VERSION="8 (jessie)"
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

uname vous permettra de connaitre la version de Linux :

Installation de l'OS (Système d'exploitation)

Je vous invite à lire la section sur l'installation de Raspbian. Vous apprendrez comment déployer Raspbian sur une carte SD depuis une image téléchargée sur le site Raspberry.

Je vous conseillerai des paramètres de configuration fort utile.

Mise à jour de Raspbian

N’hésitez pas à suivre les instructions suivantes pour mettre à jour votre Raspbian.
Suivez ces indications, même si vous venez de télécharger et installer Raspbian sur votre Rapberry Pi.

https://www.youtube.com/watch?v=MErKTQ3HG1c


Le Raspberry Pi propose plusieurs protocoles de communication, dont l'UART. Il est connu sous le nom de ttyAMA0. Il sera exploité avec le chemin /dev/ttyAMA0.

Désactiver console sur ttyAMA0

Au démarrage, le noyau propose un terminal par le liaison série. Il va falloir le désactiver.

Pour supprimer l’utilisation de l’UART au démarrage par le noyau, il faut éditer le fichier /boot/cmdline.txt, supprimer les options console=ttyAMA0,115200 kgdboc=ttyAMA0,115200.

Dans la version de Raspbian que j'ai, l'option kgdboc=ttyAMA0,115200 n'était pas présent dans le fichier /boot/cmdline.txt.
On notera également que l'action suivante n'était pas nécessaire. En effet, le fichier /etc/inittab n'était pas présent.

Pour désactiver la console sur l'UART, il faut commenter les lignes suivantes dans le fichier /etc/inittab :

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Configurer la liaison UART

La liaison /dev/ttyAMA0 est configurée pour vous renvoyer un écho de ce qu’elle reçoit. La liaison se configure avec stty :

stty -F /dev/ttyAMA0 1200 sane evenp parenb cs7 -crtscts

Il sera judicieux d'effectuer cette commande à chaque fois que le Raspberry Pi démarrera.

Visualiser les premières trames

cat /dev/ttyAMA0

et le résultat est


ADCO 020122037669 =
OPTARIF HC.. <
ISOUSC 45 ?
HCHC 118261467 *
HCHP 069574256 ?
PTEC HP..  
IINST 007 ^
IMAX 045 H
PAPP 01570 .
HHPHC C .
MOTDETAT 000000 B

Voici le principe de fonctionnement :

  1. lecteur des informations sur le port série (coté local)
  2. envoie sur serveur MySQL (coté serveur)

J'installe sur le raspberry Pi quelques composants :

sudo apt install python-serial

résultat :

Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Paquets suggérés :
  python-wxgtk3.0 python-wxgtk
Les NOUVEAUX paquets suivants seront installés :
  python-serial
0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 66,6 ko dans les archives.
Après cette opération, 413 ko d'espace disque supplémentaires seront utilisés.
Réception de : 1 http://mirrordirector.raspbian.org/raspbian/ jessie/main python-serial all 2.6-1.1 [66,6 kB]
66,6 ko réceptionnés en 0s (89,6 ko/s)
Sélection du paquet python-serial précédemment désélectionné.
(Lecture de la base de données... 31156 fichiers et répertoires déjà installés.)
Préparation du dépaquetage de .../python-serial_2.6-1.1_all.deb ...
Dépaquetage de python-serial (2.6-1.1) ...
Paramétrage de python-serial (2.6-1.1) ...

Projets

  • informatique/raspberry-pi/teleinformation_compteur_edf/start.txt
  • Dernière modification: 2016/08/24 10:24
  • par Cedric ABONNEL