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.
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
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 :
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.
Un appui sur le bouton du bas ou du haut permet de faire défiler les pages de 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 :
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
- Routeur photovoltaïque V12 – Affichage et paramétrage
- Routeur Photovoltaïque – Raccordement à un chauffe-eau
- Routeur Photovoltaïque – Installation rapide du logiciel
- Routeur photovoltaïque piloté via MQTT
- Capteur SmartGateways / Siconia pour routeur photovoltaïque
- Routeur photovoltaïque – Modes de régulation
- Routeur photovoltaïque – Affichage et paramétrage
- Routeur photovoltaïque – Réalisation matérielle
- Réalisation d’un Routeur photovoltaïque Multi-Sources Multi-Modes et Modulaire
- Routeur photovoltaïque – Installation manuelle du logiciel
- Capteur Shelly Em™ – Shelly Pro Em™ pour routeur photovoltaïque
- Exemples Montage Routeur Photovoltaïque F1ATB
- Capteur Enphase – Envoy-S Metered™ pour routeur photovoltaïque
- Routeur photovoltaïque simple à réaliser
- Capteur UxIx2 ou UxIx3 pour routeur photovoltaïque
- Triacs gradateurs pour routeur photovoltaïque
- Capteur Linky pour routeur photovoltaïque
- Capteur UxI pour routeur photovoltaïque
- Programmation de l’ESP32 – Application au routeur Photovoltaïque
- Chauffer votre piscine avec l’excédent d’énergie Photovoltaïque
- U x I : Routeur Solaire pour gérer la surproduction photovoltaïque (DIY)
- Panneaux Photovoltaïques Intégrés Au Bâti (IAB) d’un abri voiture
- Réalisez un Routeur Solaire avec un Linky (DIY)
- Câblage de panneaux Photovoltaïques à des Micro-Onduleurs en Autoconsommation (DIY)
- Démarches Administratives pour le Photovoltaïque
- Affichage à distance consommation ou surproduction électrique
- Réalisez un Routeur Solaire pour gérer la surproduction
- Câblage de panneaux Photovoltaïques à un onduleur en Autoconsommation (DIY)
- Panneaux Photovoltaïques Intégrés Au Bâti (IAB)
- Routeur Solaire. Mesure de Puissance avec un ESP32
Merci,Merci….
Apres différentes péripéties, ca marche🎉…. bon c’es moi qui me fait des problèmes aussi…
j’ai le retour Linky, j’ai la lecture à distance, maintenant je vais attaquer le routeur pour le chauffe eau.
– pour la visu à distance, j’ai souvent un message d’erreur wifi, il reboot et c’est bon…problème d’adresse avec la box?
– je suis en Tempo, et je regarde à faire une case couleur en haut à droite de l’affichage principal.. genre une case pour le jour et une case pour le lendemain… vous savez si quelqu’un c’est déjà penché sur ce genre de modif?
Pour le tempo, je ne l’ai pas et je cherche les codes envoyés par le Linky pour le lendemain afin de le rajouter à l’affichage.
Cdlt
je suis dans le début de mes modif, là je me bats pour rajouter une ligne avec le tarif actuel ( LTARF) sur la page secondaire… mais je dois revoir car je ne dois pas déclarer correctement ma variable donc ca bloque à l’injection…
pour le tarif du lendemain ca doit être la ligne : » NJOURF+1 00 B « , je vais surveiller les variations sur une semaine
Si vous me donnez une copie des valeurs envoyées par le Linky suivant les tarifs, après je me charge du codage. Je n’ai pas le tarif Tempo chez moi pour essayer.
Cdlt
Bonjour,
Besoin d’un petit coup de pouce pour le firmware lignes de 35 à 49, j’ai commenté dans le code du firmware.
//WIFI
const char* ssid = « Freebox-xxxxxx »; //Mettre le nom de la BOX – Je sais faire
const char* password = « xxxxxxxxx »; //Mot de passe WIFI – OK, je sais aussi
// Adresse IP Statique de l’ ESP32 – Là, je mets quel adresse IP, celle du maitre ou de l’esclave (je suis avec UxIx2 et deux ESP32)
IPAddress local_IP(192, 168, 1, 163); – Ça c’est l’adresse IP de l’esclave
// Set your Gateway/Passerelle IP address – Je présume que c’est l’IP de ma Freebox
IPAddress gateway(192, 168, 1, x254);
IPAddress subnet(255, 255, 255, 0);
IPAddress primaryDNS(8, 8, 8, 8); //optional – Ici en principe on met 192.168.1.254
IPAddress secondaryDNS(8, 8, 4, 4); //optional – Ici on met 0.0.0.0
// Client of Power Router. Adresse source des données de puissance Routeur Solaire V4_RMS F1ATB 2023 – Ci-dessous, je ne sais pas si faut faire quelque chose.
const char* hostSource = « 192.168.0.205 »;
const int httpPort = 80;
Avec mes remerciements.
Jean
// Adresse IP Statique de l’ ESP32 – Là, je mets quel adresse IP, celle du maitre ou de l’esclave
Ni le maitre, ni l’esclave mais l’adresse IP que vous voulez donner à l’eSP32 afficheur
// Client of Power Router. Adresse source des données de puissance Routeur Solaire V4_RMS F1ATB 2023 – Ci-dessous, je ne sais pas si faut faire quelque chose.
const char* hostSource = « 192.168.0.205 »; LA VOUS METTEZ l’adresse IP du maitre ou de l’esclave celui qui fourni les données de puissance). De preference le maitre pour moins perdre de tems de transfert.
const int httpPort = 80;
Merci André,
J’étais en train d’y travailler, j’ai fait les modifs dans le fichier User_Setup_Select.h, tout se passe bien avec le téléversement, sauf que l’écran reste noir, avant de téléverser il y avait des motifs en couleur.
Je n’ai pas compris se que vous dites ici, à propos de la définition de l’écran <>
Je vous mets des copies d’écran ici
https://uploadnow.io/files/fX25LKm
Cordialement.
Mince ça n’a pas mis votre phase que j’ai copié à propose de la définition
<<>
Faut peut être pas de guillemets
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.
Bonjour André,
Après avoir réalisé l’affichage et le routeur , je bute sur l’affichage a distance..
Les modifications dans le fichier User_Setup_Select.h sont réalisées mais lors de la compilation du fichier de test
du TFT il se termine par l’erreur » fatal error hal/gpio_11.h directory non trouvée.
Je n’ai pas pris la bonne librairie TFT_eSPI ?
Merci pour votre aide
Bravo pour toutes vos réalisations
Serge
Désolé, je ne vois pas.
Cdlt
Bonjour André
Désolé, J’ai du faire une fausse manip. J’ai de nouveau téléchargé la librairie depuis GitHub
Plus de pb.
Bonne fin d’année
Cordialement,
Serge
Bonsoir André,
Bon, moi je n’ai pas d’affichage après avoir téléversé, par contre si je remets le firmware d’origine l’afficheur fonctionne.
J’ai fait les modifs dans le fichier User_Setup_Select.h (voir copie jointe)
https://ibb.co/nR3qq6g
Avec mes remerciements.
Jean
Bonjour André,
Je viens de faire le montage, tout ceci fonctionne parfaitement du 1° coup sauf que l’affichage me montre une puissance active négative sur l’afficheur alors que la partie mesure avec sonde de courant montre le même chiffre mais en positif …
Sur la 2° page
– Soutire ce jour = 0
– Injectée ce jour = 79 Wh
Note: Il est minuit, donc je ne produis rien
A priori, je ne vois pas pourquoi. Quelle version de routeur utilisez-vous, UxI, UxIx2 etc…?
Cdlt
j’utilise la UxI –
Pour la partie mesure je suis en « Solar_Router_V5_10_RMS » avec pince ampèremétrique –
Pour la partie display « Power_Remote_Display_V4.1_RMS »
Quand je produis rien, tout est inversé … j’ai la bande verte (au lieu de l’orange), la courbe rouge est en dessous du 0, Soutiré=0 mais injectée=xx VA…
Inversé le sens de la pince
Bonsoir André,
Pas de solution pour moi.
Je viens de téléverser le fichier « TFT_Print_Test.ino » l’afficheur ne fonctionne pas, je lui remets le fichier d’origine « firmware.bin » il affiche TTGO
Je dois dire que je suis dans l’impasse, je ne sais pas quoi faire, pour le MaxPV j’ai fait le « Companion » sans problème.
Jean
Avez vous fait la modification de la bibliothèque expliqué sur la page?
Oui André, comme suit:
//#include
#include
Arduino 2.2.1, je choisis le carte TTGO LoRa32 OLED, le port com9 (pour moi) et ne touche à rien d’autres
Le téléversement se passe nickel et donne ça:
Leaving…
Hard resetting via RTS pin…
Le RST c’est bien le petit bouton sur le côté de la carte (j’ai essayé les trois boutons!!!…)
Pour info. je n’ai pas le capteur IR, de mon point de vu ça ne devrait pas empêcher l’affichage.
J’ai aussi téléversé le firmware du « Mesure de température » (sans le DS18B20) rien non plus
J’ai commandé un autre TTGO ST7789V
Faut que je me replonge dans Visual Studio, il me semble que l’on peut convertir iun *.ino en fichier *.bin
J’ai des heures de galère avec IDE Arduino, en principe j’y arrive, mais là, je dois m’avouer vaincu!!!!…..
Ça n’a pas pris le copier/coller de la ligne 69 ????… j’ai compris, ici ça n’aime pas le « inférieur » qui juste derrière Display.h, donc je l’enlève
#include <User_Setups/Setup25_TTGO_T_Display.h
Bonsoir,
Cadeau de fin d’année, se n’est pas moi, mais une personne (Jean Claude) qui à mon adresse mail et qui vient de m’écrire sur le fait que lui aussi a galéré, après recherche, il c’est rendu compte qu’il avait plusieurs dossiers TFT_eSPI er du coup plusieurs fichiers User_Setup_Select.h
Je viens de faire le ménage dans le dossier Documents/Arduino, bien sur ont ne touche pas celui qui est dans Arduino/libraries
Comme avec toutes ses péripéties j’ai installé une sonde DS18B20 sur l’afficheur, alors je suis parti sur le firmware de l’Afficheur de température et voilà DINGO ça fonctionne, trop content.
J’y ai passé presque toute la journée, mais je vais pouvoir bien dormir.
Bon réveillons à tous (mon épouse et moi ça sera sans, je sors d’être malade et mon épouse à pris le relai)
Bon rétablissement et bonne année.
Hello, je suis sur la mise en place de l’affichage distant et en voulant utiliser l’OTA je me suis rendu compte que ça ne fonctionner pas.
Il faut rajouter dans le global:
//Créer objet AsyncWebServer sur le port 80 :
AsyncWebServer server(80);
et dans le setup:
//démarrer serveur
server.begin();
//démarrer ElegantOTA
AsyncElegantOTA.begin(&server);
Bonjour André,
Merci pour vos vœux, de même je vous souhaite le meilleurs pour cette nouvelle année, surtout la santé.
Garder votre motivation pour vos réalisations actuelles et à venir, personnellement je suis très content d’avoir découvert votre routeur (en fait, c’est le fameux Jean Claude qui m’a mis sur la piste) facile à réaliser et à mettre en œuvre qui fait preuve de beaucoup d’intelligence.
Pour ceux qui suivent, je viens de finir un tuto sur la réalisation du routeur qui dans mon cas est avec deux ESP32 et sur l’Afficheur à distance.
Pour le tuto il faudra aller sur le forum-photovoltaique afin de prendre contact avec moi.
Meilleur vœux à tous
Bonjour, ou se trouve le forum photovoltaique et votre tuto .Merci d’avance pour votre réponse
Bonjour Philippe, Il faut m’écrire en MP sur le forumphotovoltaique
https://forum-photovoltaique.fr/viewtopic.php?f=110&t=67337&p=738235#p738235
Mon tuto est un condensé de tout ce qu’explique André avec plus de détails pour ceux qui « pataugent » avec IDE Arduino, après loin de moins d’avoir la « science infuse », moi c’est mon « aide mémoire » car dans le temps et au regards de mon âge j’ai tendance à oublier.
Jean
Bonjour André
Meilleurs vœux à tous pour 2024
Je voulais vous remercier chaleureusement pour votre travail j’ai réaliser votre retour avec un shelly EM pour la mesure et un ESP32 pour l’actionneur avec sonde et afficheur tout fonctionne parfaitement depuis 2 semaines il me reste plus qu’a mettre tout dans un boitier alu qui me servira de radiateur pour le triac.
je viens de faire un don pour contribuer à votre travail
Cdlt
Alain
Merci Alain pour votre don. Cela motive.
Bonne Année et bon routage.
André
Bonjour André,
Magnifique boulot, je vous remercie pour tout ce que vous avez fait.
Je bute sur la configuration hostsource, je ne sais pas quelle adresse ip mettre. Peu importe l’adresse que je met, moniteur série m’affiche connexion à échouée et je n’ai pas d’affichage
// Client of Power Router. Adresse source des données de puissance Routeur Solaire V4_RMS F1ATB 2023
const char* hostSource = « 192.168.0.205 »;const int httpPort = 80;
J’ai fait votre système avec enphase.
Merci par avance
A la ligne
const char* hostSource = « 192.168.0.205 »
Il faut mettre l’adresse IP de l’ESP32 qui collecte les données de puissance (connecté à Enphase dans votre cas et non l’adresse IP d’enphase).
PS: j’ai mis en ligne une version V6 du logiciel de l’afficheur. Cela ne change que des commentaires par rapport à la V5.
Cdlt
Merci André pour votre réponse rapide. Mon esp32 a comme IP 192.168.1.54. Je met donc celle ci const char* hostSource = « 192.168.1.54 ». Moniteur série me dit connexion échouée.
Avez vous bien rentré le nom du WIFI, l’adresse de la passerelle etc..
Oui, je n’ai pas de message d’erreur quand au ip wifi et passerelle. C’est vraiment que cette adresse: const char* hostSource = « 192.168.1.54
Hello,
En attendent que le soleil arrive pour tester le routeur.
Mon petit affichage modifier après un long parcours avant de comprendre comment modifier le code ( je suis très novice dans le domaine)
Merci pour tout ce taf André
https://drive.google.com/file/d/1yDp6iaRhAITP3UWRk2iaoqkUGY2VNdiH/view?usp=drive_link
Bonsoir André,
j’ai constaté un bug dans le moniteur série sur le code de l’afficheur, mon ESP32 version 6.02 afficheur TTGO version 6 RMS
une idée ?
DEBUT SEQUENCE TOUT VA BIEN :
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drWake up : 0
IR at wake up : 0
IP address: 192.10.1.42
HostSource : 192.10.1.80
IR at end setup : 0
IR loop : 0
720 W
IR loop : 0
728 W
IR loop : 0
726 W
AU BOUT D’UN MOMENT IL PERD LA CONNEXION :
IR loop : 0
812 W
IR loop : 0
Connexion vers 192.10.1.80 échoué
812 W
IR loop : 0
Connexion vers 192.10.1.80 échoué
812 W
IR loop : 0
Connexion vers 192.10.1.80 échoué
812 W
IR loop : 0
Connexion vers 192.10.1.80 échoué
812 W
IR loop : 0
Connexion vers 192.10.1.80 échoué
APRES PLUSIEURS TENTATIVES IL REPART :
Connexion vers 192.10.1.80 échoué
812 W
IR loop : 0
839 W
IR loop : 1
774 W
IR loop : 0
2610 W
IR loop : 0
887 W
Je pense que c’est un problème de WIFI qui n’arrive pas bien là où se trouve l’afficheur.
J’ai 2 systèmes d’affichage chez moi, qui fonctionnent bien.
Cdlt
André
Bonjour André,
j’ai trouvé j’utilise beaucoup de domotique chez moi et j’avais un doublon sur cette IP donc mon routeur wifi faisait la déconnexion détectant un conflit d’IP
en tout cas encore merci pour tout je le dirai jamais assez
J’y ai pensé au doublon d’adresse. C’est un classique.
Cdlt