Probleme avec le "Software Serial" d'un ESP8266 avec Tasmota

Bonjour,

En gros, mon projet : une sonde pour tracer la consommation de certains de mes appareils (ce n'est que temporaire, pour obtenir leur signature et faire des automatismes pour optimiser au mieux mon auto-conso).
Pour ce faire :

  • j'ai recyclé mon vieux compteur CBE (pré-Linky) pour utiliser sa TIC évidemment en mode historique
  • j'ai recyclé l'ancienne carte qui permet à mon BananaPI de controler ma domotique, carte que j'ai du changé quand je suis passé au Linky.
  • j'ai resorti un ESP8266, model 201 et j'y ai gravé avec Tasmota

Comme je souhaite garder la console, la TIC est branchée sur le GPIO-4 et donc en "software serial".

Le problème est que si la TIC envoie des trames lors du boot de l'ESP, celui-ci crash plusieurs fois et fini par désactiver ce GPIO-4.

  • Est-ce un problème courant ?
  • Y a-t-il un moyen d'éviter ces crash ?

Il semblerait qu'il soit possible d'utiliser le GPIO13 ce qui permettait de faire un "swap" entre les GPIO3 et 13 : est-ce que vous confirmez et si oui, est-ce que la console continuera a fonctionner sur les RX/TX standard ?

Merci

Je ne connais pas ce module ni la terminologie que vous utilisez. Pourriez-vous me donner un lien ? Quelle version du firmware avez-vous installée ?

Non, je n'ai pas rencontré ce problème. La broche GPIO 4 n'est pas une broche de connexion et ne reçoit aucune impulsion au démarrage. Utilisez-vous espsoftwareserial.h ?

La fonction swap() réaffecte simplement l'UART0 à différentes broches. Après un appel à swap(), les broches GPIO 13 et 15 deviennent RX0 et TX0, et les broches GPIO 3 et 1 ne sont plus connectées à l'UART jusqu'au prochain appel à swap(). Le convertisseur USB vers TTL étant connecté à ces broches, le moniteur série est indisponible. L'ESP8266 ne possède qu'une seule sortie UART Rx, qui peut être configurée sur GPIO 3 ou GPIO 13. Consultez cette discussion pour une explication plus détaillée.

Bonjour et merci de m'interesser à mon projet.

Je ne connais pas ce module ni la terminologie que vous utilisez. Pourriez-vous me donner un lien ? Quelle version du firmware avez-vous installée ?

Il s'agit de Teleinfo - Tasmota (ici en particulier le module TéléInfo que j'utilise, la description de ce firmware est parent de cette page).

La fonction swap() réaffecte simplement l'UART0 à différentes broches. Après un appel à swap(), les broches GPIO 13 et 15 deviennent RX0 et TX0, et les broches GPIO 3 et 1 ne sont plus connectées à l'UART jusqu'au prochain appel à swap().

Ha ok, j'avais lu que la console standard passait en "Software Sérial" : mais j'ai tenté cette échange et la console devient innopérante. Heureusement, ce firmware a une console web.

Le firmware ne vous offre que peu d'options : essentiellement l'utilisation de hwSerial sur les broches GPIO 3 ou 13 et d'une broche d'activation de réception.

Si cela ne répond pas à vos besoins, vous pouvez développer votre propre firmware, capable d'utiliser swSerial sans problème aux débits utilisés. Pour ce faire, vous devrez gérer vous-même la réception et l'analyse des trames entrantes, ce qui nécessite le protocole approprié.

Ben c'est ce que j'ai fait par le passé et ca ne me gêne pas de le refaire (ou de patcher Tasmota ce qui serait peut-être plus rapide).
Mais le cœur du problème est de savoir si je peux envoyer la console sur ses GPIOs d'origines, mais en mode "software serial" afin de garder l'UART hard pour la TéléInfo qui est critique (contrairement à la console).

Cela ne devrait pas poser de problème à la vitesse utilisée de 9 600 bps. Il vous faudra peut-être ajouter le circuit de la broche d'activation, ainsi que l'optocoupleur recommandé.

Un simple convertisseur série (swSerial -> Serial passthrough) devrait constituer un bon point de départ.

Bonjour,

Même si la question n'est pas répondu (software serial pour la console), je ne vais pas aller plus loin : le besoin n'est plus là.

En fait, en mode programmation, les GPIOs 01/03 reste utilisés dont je peux reprogrammer l'ESP en passant par les pins RX/TX console et une fois en mode "normal", les ports sont basculés. Bref, pas besoin de débrancher quoi que ce soit pour une programmation.

Sinon, tout fonctionne bien, la liaison TIC démarré systématique lorsque l'ESP est démarré, que le compteur tourne ou non.

Bref, plus de problème.