====== esp32 ====== {{tag>"script linux"}} {{ :dummy.png?75x75|ESP32 pour Téléinfo}} ===== Choix de l’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. ===== Câblage ===== ⚠️ **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 : ==== • 3V3 (3.3 V régulé) ==== * 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.** ==== • VIN (ou 5V selon les cartes) ==== * 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**. ==== • Pourquoi cette précision ? ==== 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**. ==== Rappel important ==== * 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**. ==== Description du câblage ==== {{ eleectronique:teleinformation-compteur-eletricite:pasted:20251119-075836.png }} 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. --- ==== Schéma de câblage (ASCII) ==== +-----------------------------+ | 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) ║ ╚═══════════════════════╝ ``` ===== ESP Home ===== {{.:pasted:20251129-072911.png}} 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. ===== Tasmota ===== 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. ===== Installer Tasmota ===== Brancher l'ESP32 sur l'ordinateur. Voir la page [[electronique: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 --- //[[user:cedricabonnel]]//