Affichage à distance consommation ou surproduction électrique

Un petit afficheur, un nano processeur et une connexion WIFI permettent de collecter à distance la consommation électrique ou la surproduction due à une installation photovoltaïque et l’afficher localement. Un capteur de présence infrarouge permet d’activer le dispositif uniquement lorsqu’une personne se trouve à proximité. La source des mesures est le routeur Photovoltaïque F1ATB.

Affichage distant de la puissance

Matériel

Seulement 2 cartes sont nécessaires pour le système :
– LILYGO® TTGO T-Display 1.14 pouces ESP 32 (4MB CH9102F )
– Un détecteur de mouvement à infrarouge.

Si vous souhaitez des détails sur la carte ESP32/TFT : Info carte: Https://github.com/Xinyuan-LilyGO/TTGO-T-Display

Les éléments sont disponibles chez Aliexpress en chine ou Amazon

Carte Lilygo 1.14pouce 4MB

Capteur Infra rouge

Pour l’alimentation, il est possible d’utiliser un chargeur de téléphone avec un cable USB-C ou connecter une alimentation à la broche 5V de l’ESP32. La consommation est d’environ 150mA au maximum et 8mA en veille.

Installation rapide du Logiciel

Comme pour le routeur, il existe à présent une procédure d’installation rapide depuis le navigateur web, Chrome ou Edge. Cette procédure efface toute la mémoire Flash pour l’installation du code.

La version VERSION V10.xx_ permet de se connecter à un routeur V12.xx
La version VERSION V9.xx_DISP permet de se connecter à un routeur V9.xx_RMS , V10.xx, V11.xx ou V12.xx
La version VERSION V8.00_DISP permet de se connecter à un routeur V8.xx_RMS

Installation manuelle du Logiciel

Pour les versions de logiciel inférieures à 10 , il faut la bibliothèque ESP32 version 2.0.17. Pour la version 10.xx, il faut compiler avec une version 3.x.x de la bibliothèque ESP32.

La dernière version du logiciel qui se connecte au routeur version V9.xx_RMS et version V10.xx ,V11.xx ou V12.xx est disponible ici :

Routeur Solaire ou autre source de mesure de puissance et affichage distant

Il faut télécharger et dezipper le fichier pour reconstruire le dossier source contenant 7 fichiers. C’est le fichier « Power_Remote_Display_Vxx.ino » qu’il faut ouvrir dans l’outil de développement « IDE Arduino » et compiler. On y retrouve les mêmes bibliothèques que dans le routeur. Cela ne devrait pas poser de problème à la compilation.

Il existe d’anciennes versions :

Il faut dans les préférences faire appel au gestionnaire de carte de « Espressif » qui développe l’ESP32. Allez dans Fichier / Préférences et mettez l’adresse : https://dl.espressif.com/dl/package_esp32_index.json

Dans le gestionnaire de cartes, choisissez la carte TTGO Lora32-OLED

Installer la bibliothèque TFT_eSPI . Comme cette librairie peut traiter différents afficheurs, il faut lui préciser le modèle utiliser dans ce projet.

Dans Arduino/librairies/TFT_eSPI ouvrir User_Setup_Select.h avec un éditeur de texte comme Bloc-Note ou Notepad++. Le dossier Arduino se trouve en général dans le dossier document.

Commenter ligne //#include <User_Setup.h> autour de la ligne 27 en rajoutant // en début de ligne

Décommenter include <User_Setups/Setup25_TTGO_T_Display.h> autour de la ligne 58 en enlevant les // en début de ligne

Pour un premier essai d’affichage, essayez l’exemple TFT_eSPI /160*128/TFT_Print_Test.ino. Il n’est pas adapté à la taille d’écran, mais permet de vérifier le système.

Attention, lors de la mise à jour automatique de la bibliothèque TFT_eSPI, la configuration du type d’afficheur peut avoir disparu.

Premier lancement du programme

Configuration par le port série (depuis la version 9.01_DISP)

Si vous êtes connecté par le port série à la carte ESP32, après l’installation, il faut indiquer le nom du réseau Wifi et son mot de passe. Cette connexion peut être faite avec le moniteur de l’IDE Arduino ou depuis votre navigateur web. Il y a 3 commandes clés à entrer :

  • ssid: nom_du_reseau
  • password: mot de passe
  • restart

Configuration par le web

Au premier lancement du programme dans l’ESP32, le logiciel ne connaît pas le nom et le mot de passe de votre réseau Wifi à la maison. Il va créer son propre Wifi en passant en mode point d’accès pour que vous vous y connectiez. Sur votre Smartphone (déconnectez votre accès mobile) ou PC portable, regardez la liste des WiFi disponibles. Connectez-vous à celui qui porte le nom DISP-ESP32-….., il n’y a pas de mot de passe.

Ouvrez un navigateur web et rentrez l’adresse 192.168.4.1 qui correspond à l’ESP32. Il va vous renvoyer une page vous demandant le nom du WiFi de la maison auquel se connecter à l’avenir et le mot de passe.

Votre box internet va attribuer à l’ESP32 une adresse IP sur votre réseau maison.

Reconnectez vous au Wifi de la maison avec votre smartphone ou PC. Rentrez l’adresse IP attribuée à l’ESP32 dans un navigateur Web. Allez sur la page « Paramètres » pour définir l’adresse IP à laquelle l’afficheur doit se connecter.

Affichage

La résolution de l’écran est de 240*135 pixels pour le modèle choisi. Il existe d’autres versions avec une meilleure résolution, mais cela n’est pas nécessaire pour ce projet.

L’affichage par défaut donne la puissance en W. Une bande orange visualise l’amplitude. Cette bande passe à droite en vert en cas de surproduction due à des panneaux photovoltaïques.

Affichage Température, Tempo du jour (ici en blanc) et Tempo du lendemain (ici en bleu)

Un appui sur le bouton du bas ou du haut permet de faire défiler les pages de détails

Détails

Un appui sur la cheminée, « Reset » le processeur.

Si vous ne branchez pas de détecteur de mouvement infrarouge, l’affichage restera allumé en permanence.

Depuis la version 10, il est possible de choisir les couleurs et la disposition d’affichage.

Accès WEB

Avec un navigateur, vous pouvez accéder à l’ESP par le web si l’ESP est réveillé. Pour le réveiller, passez devant, faite tourner les pages affichées, cela augmentera la durée d’affichage avant mise en veille. Ensuite, dans un navigateur, rentrez l’adresse IP de l’ESP et vous aurez accès à 2 pages : Accueil et Paramètres.

Montage

L’ensemble est monté dans une petite maison réalisée avec une imprimante 3D à résine. Le fichier du modèle .stl est téléchargeable ici :

Boitier (maison) avec face arrière vissable au mur.

Une autre version adaptée à une imprimante à filament et retravaillée par un réalisateur du projet est disponible sur Cults3D.

Pour le détecteur de mouvement, choisissez un modèle avec un diamètre de 10mm du capteur qu’il faudra probablement tourner de 90° pour rentrer dans la boite.

OTA (On The Air)

Les mises à jour du logiciel se font par le port USB ou à distance par Wifi en utilisant la fonction OTA comme pour le routeur. Si votre afficheur est éteint, ce n’est pas possible. Appuyer sur l’un des boutons pour l’allumer au moins 3 mn, le temps de faire la mise à jour.

Parasites HF

Si votre afficheur s’allume même en votre absence, probablement que votre capteur IR déclenche sur les émissions du WIFI. J’ai déjà noté ce phénomène. Ce n’est pas la chaleur d’un être humain qui le déclenche, mais les signaux radioélectriques captés par les fils du capteur IR qui se comportent en antennes. Il faut les raccourcir si possible. Les torsader entre eux, voir les blinder et ne pas les faire passer à côté de l’antenne Wifi.

Autre Montage

Boitier logeant 3 batteries 3 batteries Li-ion montées en parallèle et d’assurer ainsi une longue autonomie entre 2 charges. Il permet ainsi de laisser le boitier sur un plan de travail de cuisine par exemple sans « fil à la patte ». Crée par Maxime.

Articles sur le Photovoltaïque

F1ATB André

Radio Amateur - Domotique - Photovoltaïque

Vous aimerez aussi...

244 réponses

  1. F6FXW dit :

    Bonjour,
    J’ai testé ce petit montage (sans la maisonnette), et c’est tout OK.
    Merci, le tuto est bien documenté, ça fonctionne donc de suite !

    Suggestions/doléances…
    Peut-on espérer voir arriver un jour une version qui propose une page à afficher avec les paramètres suivants:
    -1- La puissance active prise au réseau (C’est donc déjà existant)
    -2- La puissance active instantanée issue des cellules photovoltaïques. (Avec ajout d’un autre SCT013 en sortie onduleur, bien sûr)
    -3- Le cumul journalier/annuel de l’énergie active d’origine photovoltaïque.

    Pour l’affichage des différentes pages, le retour automatique à la page puissance active n’est pas forcément souhaité.
    Pourriez-vous programmer le BP comme un registre à décalage ? (Chaque pulse BP fait avancer d’une page) ce qui permettrait de laisser indéfiniment la page préférée.

    Bonne continuation, et réussites pour vos projets.
    Michel, F6FXW

    • F1ATB André dit :

      Je ne comprends pas votre question sur le BP (C’est quoi BP?) et le changement de page.
      La prochaine version aura 2 sondes de courant. Sortie ce mois-ci.
      Cdlt

      • F6FXW dit :

        BP =Bouton Poussoir
        Page = Un des affichage spécifique -> ( Puissance, ou sinusoïdes, ou historiques)

        Ok donc, on attend de voir la prochaine version.
        Cdlt, F6FXW

  2. Antoine dit :

    Juste pour un petit commentaire pour vous remercier sur cette afficheur déporté, c’est que du bonheur.
    Tout marche super bien.
    Merci pour tout

    • Christian dit :

      Bonjour André, encore un grand merci pour tout ce partage de connaissances.
      j’ai réalisé ce petit montage avec la maisonnette, cela fonctionne très bien sauf la mise en veille de l’afficheur qui ne s’éteint jamais.
      J’ai blindé les fils et j’ai un écran sandwich isolé sur les modules comme préconisé suite au message de Jean-Michel VRAUX. Rien n’y fait, pas d’extinction de l’afficheur. j’ai rechargé le programme, idem.. j’ai un doute sur le module de détection mais avant de commander un nouveau module, j’aimerais votre avis?
      Peut être ai-je oublié quelque chose.
      Merci encore pour tout
      Cdt.

      • F1ATB André dit :

        Il y a peut-être les fils du détecteur qui passent trop près du Wifi et se transforment en détecteur HF . Je suis souvent ennuyé par cela.
        Cdlt

        • Nutta dit :

          Perso je ne suis pas emmerdé avec ça mais lors des premiers tests (je n’avais pas encore reçu le détecteur IR) j’avais remarqué qu’il me suffisait de toucher au GPIO33 avec le doigt, pour activer l’afficheur. C’est hyper sensible en effet !
          En cas de détection permanente, il est peut-être possible de « charger » un peu l’entrée avec une résistance entre GPIO33 et la masse ?

        • Christian dit :

          Ok André merci, mais j’ai vraiment blindé tout au max et rien n’y fait, l’afficheur ne s’éteint pas.
          Je vais essayer de charger l’entrée comme préconisé et si pas de résultat je commanderais un nouveau détecteur.
          Encore merci
          Cdt.

  3. F6FXW dit :

    Bonjour André,
    Le lien vers Cults3D est mort. (Le site Cults3D n’est plus accessible)
    Je cherche à trouver un fichier xxx.FCStd (FreeCAD) que je voudrais modifier pour y placer un second afficheur (Températures) .
    Avez-vous connaissance de quelqu’un qui aurait cela ?
    Cordialement,
    F6FXW

  4. Olaf dit :

    Bonsoir André,

    Un routeur avec cette V4 pourra-t-il exporter des données vers la maisonnette ?

    Merci encore pour vos inventions

  5. ktmono03 dit :

    Bonsoir André
    Encore une fois bravo pour vos réalisations , ttes fonctionnent a merveille (routeurv4.03,esp déporté,chaletconso),juste un tt petit soucis qd j’appuie sur le BP du bas (GPIO 0) ,il m’affiche le détail chiffré ,mais jamais je n’obtiens pas les courbes U et I ,d’ailleurs elles n’apparaissent jamais quelques soit les différents appuis,après ce n’est pas un grave, mais c’est le petit plus ,lol !
    Cordialement 73 André

    • F1ATB André dit :

      Vous avez raison. Il y a un petit souci. Je vais corriger.

      André

    • F1ATB André dit :

      Une nouvelle version V4.1_RMS corrige le problème de la courbe de puissance.

      • ktmono03 dit :

        Bonjour André
        Merci pour la modif rapide ,…..je suis vraiment pénible lol !,en effet on sélectionne désormais bien ,la puissance instantanée,le tableau récapitulatif ,la courbe de puissance ….,mais je parlais de la sinusoïde du U et la courbe du courant I avec les valeurs max,comme celles des données brutes du routeur….après je chipote….pas grave si ça n’est pas possible .
        73 André
        cordialement
        Claude

        • F1ATB André dit :

          Il n’y a plus les courbes U et I. Par simplicité, je veux le même logiciel quel que soit le type de source. Il n’y a que UxI qui donne ce type de courbe.

          Cdlt

  6. Helios dit :

    Bonjour ,
    J’ai un module LILYGO T-DISPLAY V1.1 Équipé d’un driver CH9102F, Après des Recherche sur internet j bien trouvé un driver CH9102_Driver-main, Fourni par Le constructeur.
    Malgré son installation il est impossible de se connecter le message suivant apparaît: Périphériques USB non reconnus.
    Après différents essais de drivers Le résultat reste toujours le même.
    Peut être de votre côté auriez vous une idée qui pourrait me sortir de ce mauvais pas.
    Cordialement
    Helios

  7. Jérôme dit :

    Bonjour, la dernière version à date (4.1) est-elle compatible avec le routeur RMS 5, ou faut-il attendre une nouvelle version ?

    • F1ATB André dit :

      La version 5 remplace la version 4. Simplement en installant la V5 il faut refaire la procédure de premier lancement en se connectant au Wifi de l,ESP à l’adresse 192.168.4.1

      Cdlt

      • Jérôme dit :

        oui mais… sur cette page de l’afficheur à distance il n’y a pas de version 5 à télécharger. D’où ma question, est-que la dernière version téléchargeable de l’afficheur à distance (4.1) est compatible avec le routeur RMS 5 ?
        J’ai oublié de vous remercier pour tout ce travail 😉

  8. Arno dit :

    bonjour
    après le routeur je m attaque à la visu de la conso
    J ai un problème ma carte ttgo refuse d’afficher quoi que se soit (écran noir perpétuel) alors qu’avant la programmation j avais la liste des réseaux wifi. Je précise que le chargement du programme se passe bien et que la led bleue est allumée
    Je commence à pencher sur le fait que la carte est morte mais si quelqu’un a une idée je suis preneur.
    cordialement arno

  9. Mandrin dit :

    Un grand merci !!!
    C’est magique, on téléverse et ça fonctionne.
    Monsieur André, je vous remercie encore pour tout ce que vous faites et donnez en partage. Vous êtes un passionné, et c’est grâce à des gens comme vous que le monde devient plus beau.
    A l’inverse du routeur V5, mon Mac n’a pas voulu téléverser, mais un PC Windows oui… A réfléchir, peut être un problème de driveur CH9102 et CP2102
    Cordialement
    Mandrin

  10. ktmono03 dit :

    Bonsoir André
    je viens de charger la version 5.02 rms sur l’ESP32 ,comme dit Jérôme plus haut ,la dernière version de l’afficheur de la maison que j’ai trouvé est bien le 4.1 ?,
    le soucis est que depuis ce changement la puissance est devenue ‘négative’ donc en injection ,alors que sur l’esp principal ou se fait la mesure ,elle est tjrs bien ‘normale’ positive en soutirage…..
    cordialement
    Claude

    • F1ATB André dit :

      Comme mentionné sur la page du routeur, quand on change la version il faut également changer la version de la maisonnette.

      • Ktmono dit :

        Bonjour André
        Vraiment désolé ,je me suis polarisé sur les différentes anciennes versions jusqu’à la 4,1…cherchant la v5: ,mais en fait celle ci est en début de paragraphe …., pas bon de vieillir lol!!! ,merci encore pour le partage de vos connaissances
        cordialement
        Claude

  11. F1ATB dit :

    Comme mentionné sur la page du routeur, quand on change la version il faut également changer la version de la maisonnette.

  12. MrFixit dit :

    Bonjour André et Merci pour vos partages éclairés !
    Je désire réaliser votre routeur solaire mais sans utiliser le Wifi de ma box… Car je n’en ai pas.!
    Par contre je désirerais utiliser le ESP32 Wroom comme AP (access point) avec son serveur Web. Comment dois-je m’y prendre? Ai-je besoin de NodeMCU ? Ou alors, puis-je utiliser votre code avec quelques modifications?
    En vous remerciant par avance.

  13. Loic GRENAPIN dit :

    Bonjour, est-il nécessaire de modifier d’autres valeurs pour connecter à une freebox ?

    • F1ATB André dit :

      Il faut modifier les premières lignes du programme dans l’Esp comme indiqué. Au niveau de la Freebox, si vous voulez accéder de l’extérieur, vous pouvez mettre une règle NAT.

      • Loic GRENAPIN dit :

        Merci, mais visiblement le TTGO ne se connecte pas à ma FreeBox malgré l’indication du SSID et du mot de passe du Wifi.

  14. Montvalt dit :

    Bonjour André
    mon routeur solaire fonctionne parfaitement et je réalise l’afficheur avec le lyligo et j’ai un problème lors du téléversement: Fatal error, this chip is ESP32-S3 and not ESP32 Dans le gestionnaire de carte j’ai sélectionné TTGO Lora32-OLED mais je n’ai pas V1(qui n’apparait pas) . j’avoue ne pas savoir que faire
    Cordialement Dominique

    • F1ATB André dit :

      Je viens de faire l’essai, cela fonctionne avec TTGO Lora32-OLED. Le nom a du changer dans la bibliothèque.
      Cdlt

  15. Montvalt dit :

    Bonjour André
    Il semblerait que le Lyligo S3 soit bien différent de celui proposé dans cette réalisation. Hormis le reset qui est de l’autre côté de la carte l’attribution du 2ème bouton et de la broche pour le PIR on des GPIO différents. J’ai réussi à televerser en choisissant ESP 32S3 dev module, mais l’écran reste noir quelque soit l’excitation des gpio . Je vais me plonger dans la doc du S3
    A bientôt
    Cdlt

  16. ktmono03 dit :

    Bonsoir André
    J’ai déjà fait une maisonnette qui fonctionne très bien mais je vient d’en faire une deuxième avec le même type de carte,l’écran reste noir .pourtant avec le moniteur arduino ,on voit qu’elle fonctionne correctement, les valeurs de puissance,la détection IR ,la veille défilent bien.Avez vs rencontré ce type de probléme ?,sinon je vais contacter le vendeur….
    Cordialement 73 a vous
    Claude

    • F1ATB André dit :

      Essayez également avec un autre programme donné dans les exemples de l’Arduino. Mais votre écran semble HS.

      Cdlt
      André

      • ktmono03 dit :

        Bonsoir André
        Petit retour d’info
        je viens de trouver pourquoi j’avais ce souci d’écran ‘noir’….En fouinant sur le net ,quelqu’un avaiteu aussi le même problème avec cette carte pour une tt autre appli…. en fait je ne sais pas pourquoi cette modif (ci dessous) n’a pas du être sauvegardée …pourtant qd j’ai changé de version ,ça c’était bien passé,mais la, avec une nouvelle carte ….niete !! lol ! :

        Dans Arduino/librairies/TFT_eSPI ouvrir User_Setup_Select.h avec un éditeur de texte comme Bloc-Note ou Notepad++. Le dossier Arduino se trouve en général dans le dossier document.

        commenter ligne //#include

        decommenter include

        Donc voila ce petit retour ,si ça peut aider d’autres personnes qui aurait le même problème avant qu’ils ne renvoient ,pour rien,la carte gratuitement sous 15 jours aux chinois comme j’allais le faire …

        73 et merci André pour les futurs développements

        Cordialement
        Claude

  17. Alain dit :

    Bonsoir André,
    Un grand merci pour le partage, je suis en pleine construction du routeur deux esp32 programmés pour le display je souhaiterai ne pas utiliser le détecteur infrarouge pour avoir l’affichage en permanence si je ponte le Gpio33 à la masse cela serai bon pour qu’il reste allumé ?
    Une autre question j’ai vu à la ligne 77 « Option Tarifaire du Linky » si j’ajoute tempo qui est mon abonnement cela sera t’il prit en compte pour les jours bleu, blanc, rouge ?
    Encore bravo pour le taf.
    Cdlt
    Alain

    • F1ATB André dit :

      La mise à la masse ne fonctionnera pas, on attend un front pour le réveil et non un état.
      Interdissez le deep sleep (sommeil profond).
      Mettez // en début de ligne 258 pour passer en commentaires
      // esp_deep_sleep_start();
      Pour l’option tarifaire, cela fonctionne uniquement si l’ESP en charge de la mesure de puissance à l’entrée de la maison est connecté au Linky. Après il envoi à l’affichage l’option tarifaire en cours.
      Cdlt

  18. Alain dit :

    Bonjour André,
    je suis passé en commentaire ligne 258, //esp_deep_sleep_start();
    l’afficheur clignote toute les demi-secondes, dans le moniteur série la ligne
    Going to sleep now
    Going to sleep now
    Going to sleep now
    Going to sleep now
    Going to sleep now
    Going to sleep now
    Going to sleep now
    est en boucle, une idée?
    Cdlt
    Alain

    • F1ATB André dit :

      en y regardant de plus près il faut passer 3 lignes en commentaire
      //Serial.println(« Going to sleep now »); // Mise en veille profonde
      //tft.fillScreen(TFT_BLACK);
      //esp_deep_sleep_start();

  19. Alain dit :

    Bonjour André,
    c’est bon ça fonctionne afficheur allumé, merci.
    Je suis entrain de finaliser avec deux ESP un mesure et un action, je reviendrai certainement vers vous pour des réglages
    bon week-end
    Alain