WinKy – Open-source projet pour Linky avec WiFi

WinKy – Open-source projet pour Linky avec WiFi

8 September 2021 4 By Jérôme Ferrari

Bonjour à tous,

Aujourd’hui, je vous propose de réutiliser des éléments de la passerelle Loky et de la transformer pour en faire une passerelle Linky/Wifi.

0. Introduction

Avant toute chose, ce projet est sous la licence CC BY-NC-SA 4.0

CC BY-NC-SA 4.0
Ce projet est aussi supporté par les entités suivantes CNRS/UGA/G-INP – G2ELAB dans le cadre de l’IDEX EcoSesa et du futur observatoire pour la transition énergétique

Vous pourrez aussi récupérer tous les fichiers pour recréer votre WinKy (Code, PCB et STL) sur le gitlab du Gricad à l’adresse suivante:

https://gricad-gitlab.univ-grenoble-alpes.fr/ferrarij/winky

Si vous voulez participer activement à l’amélioration du projet mais aussi participer en tant que candidat aux expériences du laboratoire, n’hésitez pas à nous contacter soit par le biais du GitLab soit à l’adresse mail jerome.ferrari@g2elab.grenoble-inp.fr

Maintenant que les présentations sont de nouveau faites, nous pouvons partir au coeur du sujet.

I. Fonctionnalités attendues

Actuellement, les données du linky accessibles via le portail d’Enedis ne donnent que les données des courbes de charge de la veille avec un pas de 30 min. Cependant, nous pouvons utiliser la prise TIC (Télé Information Client) pour les obtenir en temps réel. C’est pour cela que nous avons choisi de construire un système pouvant retranscrire ces données et les envoyer sur un serveur personnel et ainsi permettre aux utilisateurs ou aux organisations de mieux gérer leur consommation.

Les fonctions attendues pour cette passerelle sont:

  • Pouvoir s’alimenter de façon autonome depuis la prise TIC du Linky
  • Pouvoir récupérer les informations transmises par le compteur Linky sur la sortie de Télé-Information Client ou TIC
  • Pouvoir envoyer ces informations via le réseau Wifi vers un serveur d’application, auquel l’utilisateur pourra se connecter et visualiser ses données.

II. Linky et TIC

Dans ce paragraphe, je vous conseille de lire la section explicative que l’on avait consacré dans l’article

LoKy – Open-source projet pour Linky avec LoRaWAN

III. Logiciels et composants utilisés pour concevoir le WinKy

a. Outils et Logiciels

Dans ce projet, les logiciels et les outils suivants ont été utilisés:

b. Composants

Voici les principaux composants de WinKy :

ESP01S
Optocoupleur PC814
2 Super Condensateur 5.5V 0.5F
1 régulateur 033CC0 3.3v STMicroelectronics L4931ABDT35TR
1 regulateur MCP1702-4002E

… et bien sûr d’autres composants communs comme les résistances, les condensateurs, les diodes que vous pouvez trouver dans le schématique.

Tous les schémas dont vous avez besoin seront disponibles sur GitLab de WinKy.

IV. Prototypages des différents étages électronique

a. Le décodage d’InfoTIC

Avec toutes les spécifications données par la datasheet, on doit démoduler les signaux ASK de InfoTIC. Le moyen le plus efficace est de profiter d’un optocoupleur pour effectuer ce travail :

Ce schématique est familier à quiconque a une fois travaillé avec le TIC que ce soit le linky ou la génération précédente. Pour les personnes peu familières avec ce moyenv de démodulation, vous pouvez en savoir plus à ce sujet dans cet article de Charles.

b. Le stockage de l’énergie avec AlimTIC

Cette partie s’appuye sur les travaux fait sur le Loky. Cependant, le Wifi consommant plus que le Lora pour la transmission, il va falloir rajoutant un super condensateur et jouer sur la stratégie de gestion de l’énergie de l’ESP01.

J’ai aussi découplé la partie puissance de la partie téléinfo au niveau de l’alimentation car l’ESP01 ne supporte pas plus de 3,3V en entrée.

Les explications sur le dimensionnement de stockage étant déjà données dans l’article dédié au LoKy, je ne vais pas revenir dessus.

c. Le schématique final retenu

Voici le protoype du Winky comme vous pouvez le voir nous avons réutilisé la partie decryptage et conversion de puissance du LoKy.

d. Modification de l’ESP01

Le gros souci de l’ESP01 est sa consommation lorsque le Wifi est en route donc le but est de pouvoir le mettre en DeepSleep lorsque l’on a fini la transmission des données.

Voici un tableau montrant les consommations dans les différents modes de l’ESP01 extrait du site http://framboiseaupotager.blogspot.com/2019/09/tout-sur-le-deep-sleep-des-esp8266.html

Pour cela, il faut modifier l’ESP01 afin de profiter de cette fonction. C’est la partie la plus délicate car il faut souder la pin 8 (XPD_DCDC) sur la pin reset car cette pin se met à l’état bas lorsque l’ESP8266 se met en mode WakeUp.

Je vous propose donc de suivre cet Instructables:

https://www.instructables.com/Enable-DeepSleep-on-an-ESP8266-01/

Et voici un autre site avec les explications plus détaillés.

Pour ma part, la modification ressemble à cela.

Maintenant que tout est ok, nous pouvons passer à la partie récupération des données.

V. Serveur MQTT + JEEDOM

Pour cette partie, là si vous avez déjà lu mes articles précédents, vous devenez familier de cette partie.

Allez un petit rappel? Pour cela, je vous invite d’abord à configurer votre raspberry ou autres avec les liens suivants:

Installation de Jeedom — > Voir mon précédent article https://miniprojets.net/index.php/2019/05/13/jeedom-ou-comment-domotiser-sa-maison-en-quelques-clics/

Installation de Mosquitto –> Je vous conseille le site suivant https://projetsdiy.fr/jeedom-mqtt-objets-connectes-domotique-diy/

VI. Firmware de LoKy

Avant de commencer la programmation de l’ESP01, il faut créer un petite interface ou en acheter une.

Je vous propose cet article qui vous permet de choisir la votre

Ou bien de fabriquer le votre si vous avez déjà un adaptateur Mini-USB vers TTL FT232RL que nous utilisons pour programmer le LoKy

Pour cela, il vous faut:

  • Une plaque à trous de 6×10 trous
  • Une barrette femelle de 1×6 pins
  • Une barrette femelle de 2x4pin
  • Un bouton poussoir

Puis il faut relier les élément de la façon suivante:

Le schéma de principe

Et ce que cela donne en réel…. Bon…. vous ne m’en voudrez pas pour le monochrome de fil ^^.

Maintenant, il ne reste plus qu’à le programmer.

Pour cela, je vous conseille de lire cet article et de configurer votre IDE Arduino.

Une fois cela fait, vous pouvez prendre le programme qui ce trouve sur le repository du projet Winky:

https://gricad-gitlab.univ-grenoble-alpes.fr/ferrarij/winky

Puis le modifier afin de renseigner:

  • Le SSID de votre réseau wifi sur lequel il viendra se connecter
  • Le mot de passe de votre réseau wifi
  • l’adresse IP de votre serveur MQTT

Vous pouvez aussi rajouter des topics car dans le code présent, je n’ai mis que la PAPP comme exemple

Une fois tout cela fait, vous pouvez le flasher et le mettre en place.

VII. Mise en place et mise en route du WinKy

Attention, maintenant que votre Winky est programmé, vous pouvez le mettre en place mais nécessite 2 étapes.

Sur le PCB, il y a un jumper (celui qui est entre le régulateur et le VCC 3.3V de l’ESP01) qu’il faut enlever avant de mettre le WinKy sur le Linky car dans un premier temps les supercapa ont besoin de se charger un minimum.

Une fois cela fait, branchez maintenant votre WinKy sur la prise TIC du Linky.

Si vous avez un multimètre, regarder la tension entre les bornes des Supercapa et dès que vous avez atteint les 4,0V, vous pouvez remettre le Jumper.

Si vous n’avez pas de multimètre, vous pouvez attendre environ 3min pour être sûr

Maintenant, mettez de nouveau le jumper à sa place.

Normalement nous avons fini pour la partie installation.

Cependant avant de refermer le capot de votre Linky, je vous conseille d’attendre car il y aura peut-être des ajustements à faire sur la durée du DeepSleep. (Réglé par défaut à 60 secondes).

Il faudra modifier la ligne de code ESP.deepSleep(60000000); si vous avez besoin de ralonger le temps de recharge de vos Supercapa.

VIII. Vérification du bon fonctionnement de votre WinKy

Normalement, si tout marche correctement, vous verrez apparaitre votre WinKy sur votre interface MQTT de votre Jeedom

Cochez la case Historiser pour voir la fréquence de remonter de vos données du compteur.

Voilà! Vous avez maintenant accès à vos données Linky en temps réel via le Wifi.

J’espère que vous aurez appris des choses et n’hésitez pas à nous envoyer vos retours ainsi que les problèmes que vous rencontrez, nous apprécions votre contribution à WinKy.

Et à bientôt pour de nouveaux articles et de nouveaux capteurs.

Jérôme Ferrari