electronique:teleinformation-compteur-electricite:esp32

esp32

L’ESP32 constitue une alternative compacte et économique pour récupérer automatiquement les informations TIC d’un compteur électrique. Il présente plusieurs avantages :

  • une connexion Wi-Fi intégrée, permettant de communiquer facilement avec un serveur, une box domotique ou un service en ligne ;
  • un espace de stockage interne (SPI Flash) pour le firmware et les données nécessaires au fonctionnement ;
  • une interface série (UART) directement accessible sur les broches GPIO pour lire les trames issues du démodulateur ASK.

L’utilisation d’un démodulateur ASK permet d’obtenir un signal numérique TTL immédiatement compatible avec l’entrée UART de l’ESP32, sans adaptation de niveau. Les broches les plus couramment utilisées pour la liaison série sont GPIO16 (RX) ou RX0 (GPIO3), selon la configuration retenue. L’alimentation du module est assurée par la sortie 3,3 V de l’ESP32, ce qui permet un câblage simple et propre.

Grâce à son environnement logiciel flexible (Arduino, ESP-IDF, MicroPython…), l’ESP32 permet de mettre en place facilement des fonctions avancées : connexion Wi-Fi, envoi de données vers MQTT, interface Web locale, synchronisation NTP, journalisation, etc.

⚠️ Attention : ne pas confondre 3V3, VIN et VCC/VDD (5 V)

Sur une carte ESP32 (dev board type WROOM / NodeMCU / UPesy / DOIT…), les tensions disponibles sont :

  • C’est la sortie du régulateur embarqué.
  • Elle alimente le microcontrôleur ESP32 et ses GPIO.
  • Toutes les entrées/sorties de l’ESP32 sont *strictement* en 3,3 V.
  • Le démodulateur ASK doit être alimenté ici.
  • Entrée utilisée pour alimenter la carte en 5 V (via USB ou alimentation externe).
  • Passera ensuite par le régulateur pour produire le 3,3 V interne.
  • NE PAS utiliser VIN pour alimenter le démodulateur ASK.

Parce que certains modules ou schémas utilisent la notation VCC / VDD, qui peut désigner tantôt 3,3 V, tantôt 5 V selon le fabricant. Sur l’ESP32, la seule tension sûre pour alimenter un module logique est 3V3.

  • Les GPIO de l’ESP32 ne sont pas tolérants au 5 V.
  • Injecter du 5 V sur RX0, GPIO3 ou tout autre GPIO risque de détruire le microcontrôleur.

Schéma de câblage ESP32 générique provenant du site https://www.upesy.fr/blogs/tutorials/esp32-pinout-reference-gpio-pins-ultimate-guide

L’ESP32 est connecté au démodulateur ASK, qui fournit un signal numérique TTL prêt à être lu par l’UART de l’ESP32. Le câblage est très simple : trois fils suffisent entre l’ESP32 et le module.

Broches recommandées :

  • 3V3 – alimentation du démodulateur
  • GND – masse commune
  • RX0 / GPIO3 entrée série utilisée pour lire les trames TIC)

L’ESP32 ne transmet aucune commande au compteur : seule la ligne RX est nécessaire. Le démodulateur assure la conversion du signal modulé provenant du Linky vers un signal propre au format TTL.

           +-----------------------------+
           |        Compteur Linky       |
           |        Sortie TIC (ASK)     |
           +-------------+---------------+
                         |
                         |  Signal TIC modulé
                         v
           +-----------------------------+
           |   Démodulateur ASK          |
           |                             |
           |   IN  <---------------------+- TIC Data
           |   GND <---------------------+- TIC GND
           |                             |
           |   OUT ----------------------+------------------> RX0 / GPIO3
           |   GND ----------------------+------------------> GND
           |   VCC <---------------------+------------------- 3V3
           +-----------------------------+

```
                ╔═══════════════════════╗
                ║        ESP32          ║
                ║      Dev Board        ║
                ╠═══════════════════════╣
                ║  3V3  : alimentation  ║
                ║  GND  : masse         ║
                ║  GPIO3 : RX0 (UART)   ║
                ╚═══════════════════════╝
```

La capture ci-dessus illustre un ESPHome fonctionnel, connecté à un compteur Linky, affichant les mesures électriques instantanées et les index de consommation. En parallèle, les logs temps réel confirment la bonne réception et l’envoi périodique des données.

Pour récupérer et exploiter les informations du compteur électrique Linky, nous allons utiliser un logiciel tel que Tasmota. Tasmota est un firmware open-source pour microcontrôleurs ESP8266 et ESP32, conçu pour simplifier la gestion des objets connectés et la domotique.

Grâce à Tasmota, il devient possible de :

  • Lire directement les trames TIC via l’entrée UART de l’ESP32, en utilisant un démodulateur ASK pour obtenir un signal numérique TTL propre.
  • Transmettre les données vers un serveur local ou en ligne, une box domotique ou un service cloud compatible MQTT ou HTTP.
  • Configurer facilement le système sans coder, grâce à son interface Web intuitive et ses nombreuses options de paramétrage pour les GPIO, UART et protocoles réseau.

En utilisant Tasmota avec l’ESP32, nous transformons ce microcontrôleur en un collecteur TIC intelligent, capable de centraliser les informations énergétiques de manière autonome et de les rendre exploitables pour la domotique ou le suivi de consommation.

Brancher l'ESP32 sur l'ordinateur. Voir la page esp32 connected on linux.

Télécharger Tasmota32 (tasmota32.bin) qui inclut les drivers nécessaires à la Téléinfo/TIC.

Téléchargez-le ici : https://ota.tasmota.com/tasmota32/release/

Flasher Tasmota pour ESP32 avec espytool

Cédric ABONNEL dit Cédrix

  • electronique/teleinformation-compteur-electricite/esp32.txt
  • Dernière modification : 2025/11/29 07:31
  • de Cédrix