Récupérer les informations du compteur EDF en wifi avec un ESP8266

Le blog déménage  -> https://jbdesbas.wordpress.com/2017/02/25/recuperer-les-informations-du-compteur-edf-avec-un-esp8266/

Les compteurs EDF, même assez anciens (sauf les très vieux à roue 😉 ) disposent d’une sortie de téléinformation permettant de récupérer différentes informations, notamment : l’index de consommation, la période tarifaire (heures creuses), la puissance souscrite, etc.. Ceci permet de suivre sa consommation en temps réel et peut également s’interfacer avec une solution domotique.

graphe_consoedf
Affichage sous Jeedom (plugin Suivi Conso)

Je propose ici un montage lowcost permettant de récupérer la téléinformation du compteur EDF sur un broker MQTT. Le MQTT est un protocole de communication léger particulièrement adapté à la domotique, je l’utilise quasi-exclusivement sur mon système basé sur Jeedom.

Montage


Matériel nécessaire (5 à 10€) :

  • ESP8266-01
  • MOSFET BS170
  • Optocoupleur LTV814
  • Résistances : 10k (x2) + 4,7k
  • Convertisseur AC-DC 5V (testé avec 700mA, devrait être ok avec un 500mA)
  • Convertisseur DC-DC 5v->3.3V (type AMS1117)
  • Bornier pour circuit intégré (x2)
  • Plaque de prototypage

Le principe du montage va être de transformer l’information issue du compteur en une information lisible sur le port série de l’ESP8266. Plusieurs montages circulent sur le web, celui de Charle semble particulièrement fiable et propre d’après ses test (en plus d’être cheap !).

schema-final-teleinfo-transistor-fet
Schéma du montage. Charle’s blog

Le RXD sur le schéma vient se connecter sur le pin RXD (Réception) de l’ESP8266. Ne pas oublier de connecter le CH_PD au +3.3v pour que la carte fonctionne.

esp-01-pinout
ESP-01. The Garage Lab

Concernant l’alimentation, il existe des transformateurs AC-DC qui sortent directement du 3.3V mais l’alimentation semble alors particulièrement instable et peut faire planter l’ESP8266. Après quelques mauvaises expériences j’utilise toujours un transfo 5V et un AMS1117.

Programmation de l’ESP8266

L’ESP est programmé via l’interface Arduino à l’aide d’un convertisseur USB-TTL. Si vous n’avez jamais programmé un ESP8266 avec cette méthode, je vous suggère de lire la documentation du projet.

Attention : lorsque vous envoyez le code sur l’ESP8266, déconnectez la téléinformation car celle-ci arrive également sur le RX. Pour rappel, le GPIO0 doit être relié à la masse pour démarrer l’ESP8266 en mode « programmation ».

La connexion au wifi se fait grâce à la bibliothèque WifiManager : si l’ESP8266 ne peut se connecter au aucun réseau (premier démarrage) il passe en mode hotspot pour vous permettre de saisir vos identifiants.

Le code est disponible ici : esp8266teleinfo.ino


mqtt_teleinfo
Trame reçu via MQTT
Publicités

13 réflexions sur « Récupérer les informations du compteur EDF en wifi avec un ESP8266 »

    1. Bonjour,
      Je ne comprend pas bien votre question ? Si vous parlez de l’alimentation, il faut au moins 5V-500mA (2.5W). La plupart des chargeurs téléphones délivrent au moins cette puissance. Je n’ai pas testé avec moins, ca pourrait marché mais il y a des risques que l’ESP devienne instable (déconnexion, voir plantage)

      J'aime

  1. Excuser moi j’ai du mal me faire comprendre je voulais racheter des résistance car j’ai des résistance 10k mais en o,6w je voulais savoir si cela suffisait ou si il en fallais des plus puissante

    J'aime

    1. Il s’agit de résistances de pull-up/pull-down, avec donc une très très faible puissance les traversants. Le montage est alimenté en 3,3V, donc cela fait une puissance max de 1mW qui traverse la résistance (3,3²/10000). Vos résistances sont donc très largement suffisantes.

      J'aime

  2. Bonjour,
    Dans le code, il est question de rentrer l’adresse du broker :
    const char* mqtt_server = « url.com »; //INDIQUER ICI L’URL DU BROKER

    Que faut il mettre à la place de « url.com » ?

    Meci à vous,

    J'aime

    1. Bonjour Laurent,
      Il s’agit du serveur où sont envoyées les informations (raspberry pi, VPS, etc..). Cela dépend de l’interface domotique que vous utilisez pour consulter les données. La plupart des systèmes domotiques gèrent MQTT (Jeedom pour ma part).
      Si vous le souhaitez, il est aussi possible de ne pas utiliser le MQTT et de consulter directement les informations du compteur en entrant l’adresse IP du dispositif (attribué par votre box) dans votre navigateur. De cas cas il faut commenter les lignes 53 à 55 du sketch ( if (!client.connected()) {…. )

      J'aime

  3. Bonsoir
    je voudrais récupérer les infos du compteur à l’aide d’un esp8266-01 qui envoi le résultat sur un raspberry/mysql
    comment faire?
    Pierre

    J'aime

      1. Bonjour
        merci de votre réponse rapide
        peut on ne pas utiliser MQTT
        comment alimenter le ESP-8266-01 en autonome
        Pierre

        J'aime

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

w

Connexion à %s