Récupération maison de la TIC
Récupération maison de la TIC

Si ce n’est pas encore fait, je vous propose de commencer par lire la présentation générale de ce projet ici

Historiquement, cette partie est la genèse de ce projet de domotique. Même si elle apparaît tardivement dans ce guide, je me suis intéressé à ce sujet bien avant l’ajout des arduinos et de la météo!

Après avoir découvert qu’il était possible de récupérer des informations sur sa consommation électrique par ce qu’on appelle la TIC (et tout cela bien avant Linky!), j’ai voulu voir ce que l’on pouvait en faire.

Vous trouverez de nombreux sites qui vous proposeront d’acheter ou de concevoir des modules série capable de se connecter à la sortie télé-information (TIC) de votre compteur électrique. Un exemple ici!

Cependant, j’étais trop pressé pour attendre une livraison de composant électronique et commencer à réaliser ce module. J’ai donc récupéré un vieux cable jack, que j’ai dénudé à une extrémité, et que j’ai branché à mon compteur. Puis j’ai enregistré à l’aide de l’entrée micro de mon PC ce qui passait par là… Et j’ai exploité cet enregistrement pour au final lire toutes les informations diffusées sur la TIC. Plus besoin d’attendre mes composants!

Quelques conséquences à cette méthode peu conventionnelle:

  • Le prix: rien à acheter, trouvez une vieille paire d’écouteur qui ne fonctionne plus, ou tout ce qui possède une extrémité jack et que vous ne souhaitez pas garder, et c’est tout!
  • Un peu de réglage en perspective… Les cartes sons de nos ordinateurs ne sont pas toutes identiques, et le signal envoyé sur la TIC ne ressemble absolument pas à une douce musique… Les cartes sons vont avoir tendance à le filtrer, et le déformer. Il va falloir récupérer un signal compréhensible, et je n’ai pas de solutions universelle!
  • Les raspberry Pi n’ont pas d’entrée micro jack. Pas d’enregistrement possible du coup de base. Cependant, quelque-chose devrait pouvoir être fait à l’aide du GPIO. Mais je ne me suis pas penché sur le sujet

J’ai pu faire les enregistrements sur deux PCs différents. Sur un eeePC 701, le signal est reconnaissable et facilement exploitable. Sur mon PC de tous les jours, il faut effectuer un peu plus de traitement pour exploiter le signal.

Cette partie traitera donc majoritairement de la méthode pour récupérer les réglages adéquats. Il suffira ensuite de simplement les intégrer dans la configuration de notre programme.

Matériel nécessaire

  • Un câble jack à sacrifier
  • Un ordinateur disposant d’une entrée micro jack

La télé-information client

Sur les compteurs EDF électroniques (tous, sauf les très anciens à roue), deux bornes I1 et I2 sont accessibles côté client. Un signal est diffusé en boucle sur ces bornes, qui porte des informations relatives au compteur et à la consommation électrique. C’est ce qu’on appelle la TIC.

Cette TIC est bien décrite sur internet, vous pouvez trouver quelques informations ici, et à bien d’autres endroits.

Une spécification Enedis pour les compteurs Linky est trouvable . Je ne pense pas qu’il y ai de grandes différences avec les anciens compteurs. Pour avoir commencé à travailler sur les anciens compteurs, et pour être passé au Linky plus récemment, je n’ai eu qu’une seule adaptation en terme de programmation à faire, et cette dernière doit être compatible avec les anciens compteurs.

Ce qu’il y a à retenir:

  • Une porteuse à 50kHz est émise.
    • Si l’enveloppe de cette porteuse a une valeur crête à crête élevée, un 0 est transmis.
    • Si sa valeur crête à crête est faible, un 1 est transmis
  • La porteuse porte des bits selon un format décrit dans la spécifications ci dessus
  • Un caractère est transmis par un « paquet » de bits.
  • Une ligne est un « paquet » de caractère délimitée par:
    • Un caractère spécial « LF » (Line feed) au départ
    • Un caractère spécial « CR » (carriage return) à la fin
    • Les informations que nous cherchons entre ces deux extrêmes

Des exemples des informations transmises sont disponibles ici

Il est possible que la TIC ne soit pas activée chez vous. Dans ce cas, vous ne lirez que l’information « ADCO ». Il faudra alors contacter EDF pour l’activer.

Traitement du signal

Nous allons devoir déterminer 5 paramètres:

  • L’entrée micro à utiliser
  • Un offset à appliquer au signal
  • Un gain à appliquer au signal
  • Si oui ou non nous devons redresser le signal
  • Si oui ou non nous devons inverser le signal

Nous allons utiliser un outil qui enregistre le signal aux différents phases du traitement afin de pouvoir déterminer un à un les paramètres

Présentation de l’outil d’aide au choix des paramètres

Commencez par télécharger le programme

Décompressez le et déposez le fichier jar sur le PC relié au compteur EDF.

Le programme s’exécute de la manière suivante

java -jar "traitement Signal.jar"

Voici les fonctionnalités proposées:

  • Afficher les mixeurs: Permet d’afficher les entrées audio disponible pour enregistrer le signal
  • Sélectionner un mixeur: Choisir quel mixeur dans l’utilitaire
  • Effectuer un enregistrement: Enregistre le signal reçu sur l’entrée audio configurée
  • Enregistrer et traiter l’enregistrement: Effectue un enregistrement du signal et le traite, en enregistrant les étapes dans un fichier texte
  • Traiter un enregistrement donné: Traite un fichier .wav qui existe déjà

Récupération du signal brut

Branchez le cable jack, démarrez l’utilitaire et sélectionnez un mixeur avec la touche 2.

Voila les choix que j’ai de mon côté. Cela pourra être différent chez vous

0:default [default], version 4.9.0-8-amd64
1:PCH [plughw:0,0], version 4.9.0-8-amd64
2:PCH [plughw:0,3], version 4.9.0-8-amd64
3:Port PCH [hw:0], version 4.9.0-8-amd64

Si vous ne savez pas quoi sélectionner, commencez par « default ».

Ensuite, effectuez un enregistrement avec la touche 3. Un fichier wav est créé. Ouvrez le avec un logiciel comme audacity. Si la forme de l’enregistrement est « belle » (voir ci dessous), le mixeur que vous avez sélectionné est bon. Sinon, réitérez l’opération avec un autre mixeur.

Comment déterminez si le signal est acceptable?

Sur la capture ci dessous, vous pouvez voir le signal que j’obtiens avec le mixer « default » de l’eeePC. La porteuse a déja complètement disparue, on distingue bien les bits envoyés: Le signal est bon

Signal obtenu avec l’eeePC

Ci dessous, le signal que j’obtiens avec le mixer PCH [plughw:0,0] de mon PC de bureau. On remarque que la carte son a une bande passante bien plus grande: la porteuse est bien visible, mais on discerne également très bien les états hauts et bas des bits. Le signal est bon

Signal obtenu avec mon PC de bureau

Enfin, ci dessous le signal obtenu avec le mixeur « default » de mon PC de bureau. Bien que l’on distingue les bits, le signal est beaucoup moins beau. On distingue également une oscillation basse fréquence de 50Hz (qui vient sans doute du réseau EDF) Le signal est mauvais!

Mauvais signal

Vous rencontrerez peut être d’autres signaux. Ce qu’il faut retenir:

  • Le signal doit être propre
  • La présence de la porteuse n’est pas un soucis

Il vous faudra peut être régler le volume de votre micro si le signal n’a pas une amplitude suffisante

Une fois que vous avez réussi à récupérer un signal convenable, notez le numéro du mixeur que vous avez utilisé, et enregistrez le signal quelque-part. Nous allons travailler sur ce fichier à partir de maintenant

Détermination des paramètres

L’enregistrement dure 3s. Pour vos premiers tests, n’hésitez pas à le couper avec Audacity pour obtenir un enregistrement de 0.5s. Cela limitera les calculs. N’oubliez pas de travailler sur un enregistrement complet à la fin de vos tests, sinon le programme ne pourra bien sur pas vous afficher d’informations correctes!

Avec la fonction 5, traitez le fichier que vous venez de récupérer. Pour ma part je vais travailler sur le signal de mon PC de bureau avec la porteuse

Une série de question va vous être posé vous demandant de renseigner des paramètres. Certains sont évidents, d’autres devront être affinés en fonction du résultat obtenu

  • Redresser le signal?
    • Les valeurs négatives seront transformées en valeurs positives de même valeur absolue
    • Dans le cas du signal avec porteuse, il faut redresser
    • Dans le cas du signal de l’eeePC ou la porteuse est déjà filtrée, il ne faut pas.
  • Gain à appliquer ?
    • Un filtre passe bas du premier ordre va être appliqué avec une fréquence de coupure de 1200Hz (débit des bits transférés).
    • Renseignez ici son gain. Une amplitude totale de 10 000 semble être un bon compromis
    • Dans mon cas, PC de bureau : 0.3
    • eeePC: 0.1
  • Offset à appliquer: ?
    • Le programme considère un bit négatif comme ayant une valeur inférieure à -100 et un bit positif comme ayant une valeur supérieure à +100
    • Il faudra donc appliquer un offset pour centrer le signal issu du filtre passe bas sur 0.
    • Dans mon cas: PC de bureau : -3000
    • eeePC: -1000
  • Inverser les bits:
    • Souhaitez vous transformer les 1 en 0 et les 0 en 1 ?
    • Il est possible que le résultat obtenu soit complètement inversé par rapport à ce que l’on souhaite obtenir
    • A modifier si vous considérez avoir un signal traité propre, mais que le programme n’arrive pas à vous sortir d’informations
    • Mon PC de bureau : Oui
    • eeePC: Non

A ce moment le programme va:

  • Afficher les bits qu’il a pu trouver
  • Les interpréter si possible
  • Enregistrer les points dans un fichier « res »

Si des informations sur votre consommation électrique s’affichent, c’est gagné! Sinon, il faut analyser les signaux générés et modifier les paramètres en conséquences.

Le fichier res peut être dessiné avec le programme gnuplot. Installez le et exécutez le.

sudo apt install gnuplot
gnuplot

Pour dessinez les signaux, tapez la commande ci dessous. Les chiffres correspondent aux numéros de colonnes. x:y utilise la colonne x en abscisse et la colonne y en ordonnée. Il est possible de dessiner plusieurs courbes.

plot 'res' u 1:2, 'res' u 1:x

Remplacez le x par la colonne souhaitée.

Deux courbes seront dessinées. La première correspond au signal brut, et la deuxième correspond au signal traité en colonne x.

Contenu des différentes colonnes:

  • 1: Index du point
  • 2: Signal brut
  • 3: Signal redressé
  • 4: Signal après le passe bas
  • 5: Signal après l’offset
  • 6: Bits déterminés

Voici ce que j’obtiens avec le signal issu de mon PC de bureau. Le signal violet correspond au signal en entrée, brut, et le signal vert correspond au signal traité.Affinez vos paramètres pour vous approcher de ce genre de résultat.

Redressement du signal
Après le passe bas
Après l’offset
Bits obtenus (arbitrairement affichés à 20 000 et -20 000 pour les états hauts et bas)

Lorsque vous obtiendrez un signal équivalent aux captures, le programme devrait afficher les informations qu’il en déduit. Ne vous souciez pas des caractères qui s’affichent mal.


ADCO 02187xxxxxx >
OPTARIF HC.. <
ISOUSC 30 9
HCHC 0014xxxx (
HCHP 0056xxxx 3
PTEC HP..  
IINST 001 X
IMAX 090 H
PAPP 00290 ,
HHPHC A ,

Application des paramètres

Une fois les paramètres déterminés, il faut les renseigner dans le fichier de configuration du programme. Ils correspondent aux clés suivantes:

  • teleinfo.gain
  • teleinfo.offset
  • teleinfo.redresser
  • teleinfo.inverse
  • telinfo.mixer : Index du mixer que vous avez déterminé précedemment

Une fois les paramètres appliqués, la page télé-info du programme, accessible via la touche F1 doit se mettre à jour!

L’écran de télé-information client

Conclusion

La détermination des paramètres est clairement la phase ardue de cette partie. Mais le résultat en vaut la chandelle, je trouve ça très satisfaisant de réussir à décoder un signal obtenu à partir d’un compteur EDF et d’un cable Jack découpé!

Le chapitre suivant nous permettra d’ajouter une deuxième station météo à notre maison connectée.

Dernière modification: 18 octobre 2019

Auteur

Commentaires

Super article !

Écrire une réponse ou un commentaire

Votre adresse email ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.