Programmation de l’ESP32 – Application au routeur Photovoltaïque
L’ESP32 est un microcontrôleur très intéressant Il regroupe des entrées sorties analogiques et numériques ainsi qu’un accès WIFI et Bluetooth. Pour sa programmation, il existe différents outils. Ici, nous allons utiliser l’outil très connu dédié aux microcontrôleurs de la famille des Arduino qui peut être adapté à l’ESP32.
IDE Arduino «Integrated Development Environment»
IDE Arduino
Allez sur le site d’Arduino https://www.arduino.cc/ et choisissez l’onglet ‘Software’. Téléchargez et installez la dernière version de l’environnement de développement (IDE). Allez dans le menu « File » et « Preferences » et choisissez la langue française.
L’ESP32 ne faisant pas partie de la famille des cartes Arduino, il faut rajouter à l’IDE une bibliothèque complémentaire fournie par le fabricant « 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
Choix de la carte ESP32
Il existe de nombreuses cartes sur le marché à base d’ESP32. Cela peut-être difficile parfois de trouver la définition des broches de sorties (GPIO). Ici on utilise une carte de développement avec un ESP32-Wroom et 2×19 broches. Achat possible chez Amazon, uPesy ou chez Aliexpress en Chine directement.
- ESP32 (3 choix)
- ESP32 38P (classique)
- ESP Wroom-32U avec antenne Wifi externe
- ESP32 Wroom DevKit v2 de uPesy en France
Chargement d’un programme et compilation
Dans le menu fichier vous pouvez:
– créer un nouveau programme ,
– utiliser un des nombreux exemples fournis ou ,
– charger un programme que vous avez téléchargé. Par exemple le programme du routeur photovoltaïque de F1ATB
Connectez via le port USB la carte ESP32 à votre PC. Sélectionnez la carte ESP32 DEV Module et le port série (COM) de Windows sur laquelle elle s’est connectée.
En haut, le premier bouton permet de compiler uniquement le programme afin de vérifier qu’il n’y a pas d’erreur. La flèche permet de compiler le programme source, générer le binaire et le télécharger dans la carte ESP32. Il sera lancé en fin de téléchargement.
Bibliothèques complémentaires
De nombreux programmes font appel à des bibliothèques de programmes assurant différentes fonctions. Il est fréquent, lors des compilations d’avoir un message d’erreur car il manque une bibliothèque. On retrouve la liste des bibliothèques incluses dans votre installation de l’IDE Arduino sur la partie gauche de l’écran.
En cas de manque, faite une recherche avec le gestionnaire de bibliothèque et rajoutez la bibliothèque manquante.
Problème de driver
Il peut arriver que votre carte ESP32 ne soit pas reconnue par Windows lors du branchement sur USB.
Sur la carte ESP32 un composant fait l’interface série/USB, le WCH340 très fréquent ou le CP2102 ou CP2104. Regardez sur la carte. Windows ne sait pas gérer tout seuls ces drivers..
C’est peut-être l’absence de driver sur le PC fixe qui est responsable de la non-reconnaissance.
S’il s’agit d’un WCH340 , le driver se trouve ici sur le site de son fabricant :
http://www.wch-ic.com/downloads/CH341SER_EXE.html 733
S’il s’agit d’un CP2102 ou CP2104 idem :
https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads
Choississez la version correspondant à votre OS; Windows…
Un lien d’aide à l’installation : https://tropratik.fr/installer-un-convertisseur-usb-ttl-cp2102
Un autre exemple : https://techexplorations.com/guides/esp32/begin/cp21xxx/
Problème de Boot
Certaines cartes avec un ESP32 n’acceptent pas le téléversement du code binaire. Dans ce cas avant le téléversement :
- Appuyez sur Boot
- Appuyez sur Reset (EN/RST)
- Relachez Reset
- Relachez Boot
Migration bibliothèque ESP32 V2.x vers 3.X
Espressif a apporté une migration importante de sa bibliothèque gérant l’ESP32 en passant à la version 3.0.0. Laquelle est buguée, il faut passer immédiatement à la version 3.0.1. Pour les détails des changements :
https://docs.espressif.com/projects/arduino-esp32/en/latest/migration_guides/2.x_to_3.0.html
Moniteur Série
Après une opération de téléchargement, ouvrez le moniteur série de l’Arduino en allant sur le menu Outils. Vérifiez à droite de la fenêtre qui s’est ouverte que vous êtes à 115200 baud. L’ESP32 vous fournira de nombreuses informations comme l’adresse IP qu’on lui a attribuée etc.
Arrivé à ce stade pour le routeur photovoltaïque, allez au chapitre premier lancement ici : https://f1atb.fr/fr/routeur-photovoltaique-realisation-logicielle/
Chargement d’un programme via OTA
En général, on installe un programme sur un Arduino ou un ESP32 via le port série USB. Comme l’ESP32 dispose du Wifi, on peut intégrer au code de l’application un module logiciel « OTA » (On The Air) ou par Radio. Cela permet de télécharger et mettre à jour un programme via le WIFI et non le câble USB.
Le routeur photovoltaïque (F1ATB) intègre cette fonctionnalité afin de faire les mises à jour à distance. Il n’y a rien à faire.
Si vous souhaitez tester un exemple d’OTA, de nombreux sont proposés dans l’IDE Arduino. Dans les exemples, sélectionnez le programme « Basic OTA ».
Modifiez légèrement le programme en précisant l’adresse IP pour votre ESP, le SSID (nom du Wifi)…
#include <WiFi.h> #include <ESPmDNS.h> #include <WiFiUdp.h> #include <ArduinoOTA.h> const char* ssid = "YOUR SSID"; const char* password = "THE PASSWORD"; // Set your Static IP address IPAddress local_IP(192, 168, 0, 208); //HERE DEFINE YOUR IP ADRESS // Set your Gateway IP address IPAddress gateway(192, 168, 0, 254); //DEFINE THE GATEWAY IPAddress subnet(255, 255, 255, 0); IPAddress primaryDNS(8, 8, 8, 8); //optional IPAddress secondaryDNS(8, 8, 4, 4); //optional
Téléchargez le code la première fois par la liaison série. Un appui sur le bouton RST permet de bien tester l’ensemble. À ce stade, il vous sera possible de mettre à jour la programmation via le web en choisissant non plus le port série dans l’IDE Arduino, mais le port réseau, dans notre cas 192.168.0.208. Dans votre code, il faudra intégrer la partie ArduinoOTA afin de conserver cette possibilité. Au chargement, l’IDE vous demandera un mot de passe. Répondez une lettre quelconque.
Remote « Debug »
En passant par le Wifi vous allez perdre la possibilité de debug par le port série. La biblothèque « RemoteDebug » va vous permettre de retrouver cette possibilité suivant 2 possibilités :
- – une écoute Telnet sur le port 23.
- l’utilisation de l’application RemoteDebugApp, à télécharger ici: https://github.com/JoaoLopesF/RemoteDebugApp
Pour utilisez cette fonctionalité de debug, il faut auparavent installer la bibliothèque RemoteDebug de Joao Lopes dans l’IDE Arduino, qui installera également des exemples d’utilisation.
OTA et Remote Debug sont 2 fonctionnalités implantées dans le logiciel du routeur Photovoltaïque de F1ATB. Il n’y a rien à faire sauf installer la bibliothèque RemoteDebug dans l’IDE.
Bugs Soft
hwcrypto/sha.h
Sur certaines configurations, lors de la compilation, il y a une erreur de librairie inexistante :…..include <hwcrypto/sha.h>
Avec un éditeur de texte, ouvrez le fichier dans vos bibliothèques Arduino C:/Users/Utilisateur/Documents/Arduino/libraries/RemoteDebug/src/utility/Websockets.cpp
Le début de l’adresse peut changer suivant l’utilisateur. Retrouvez le dossier Arduino pour localiser le fichier dans les sous-dossiers.
A la ligne 42, remplacez :
#include <hwcrypto/sha.h>
par
#include <esp32/sha.h>
Ne me demandez pas pourquoi, sur mon PC de bureau, je n’ai pas besoin de faire cette modification, sur mon PC portable, j’ai besoin.
Récupération de l’heure internet
Dans une application, il peut être intéressant d’afficher l’heure. La bibliothèque esp-sntp.h permet l’acquisition de l’heure,t la gestion de la zone horaire et le décalage horaire.
Allez dans Arduino voir l’exemple ESP32/Time/Simple Time. Vous verrez qu’il faut placer la synchronisation de l’heure avant l’accès au Wifi.
Affectation des GPIO (entrées / sorties)
L’ESP32 à des GPIOs offrant de multiples fonctionnalités. Mais tous les GPIO n’ont pas les mêmes possibilités. Certains, il est même recommandé de ne pas les utiliser.
Il y a un très bon article sur le sujet ici : https://www.upesy.fr/blogs/tutorials/esp32-pinout-reference-gpio-pins-ultimate-guide
Bonjour
Grand merci pour votre travail très précis .
J ai une question pour mon installation solaire triphasé avec onduleur APS. QT 2 » qui est capable d envoyer toute la puissance sur une seul phase » .
Vu que j ai 3 phases , le capteur qui est placé sur la phase peut il être déplacé sur le neutre de mon installation tri et va t il récupérer la bonne information ?
Non, la sonde sur le neutre ne donne pas le résultat. Si vous avez 3 consommations fortes et identiques sur les 3 phases , une consommation équilibrée, il n’y a aucun courant sur le neutre.
Cdlt
Bonjour à tous,
Je me lance aussi dans l’expérience du router solaire. Merci à vous André pour toutes ces explications compréhensif même pour les débutants.
j’ai fait le montage et tout c’est bien passé mais, et oui il y a un mais, au niveau de de la compilation du programme j’ai une erreur exit status 1.
J’ai bien ttes les librairies d’après moi, mais appartement l’erreur viendrai d’un exécutable non trouver pour le fichier *********.ino.elf .
Merci d’avance pour votre aide à tous.
Cdlt
Vous ne me donnez pas de détails sur l’erreur. Difficile de vous aider.
Regardez si vous n’avez pas l’explication au chapitre Bug Soft
https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/
Cdlt
désoler pour le manque de details.
en cherchant un peu sur le net j’ai trouvé comment afficher le détails de l’erreur.
cmd /c if exist « C:\\Users\\Eiolà&\\Desktop\\anet\\Solar_Router_V4_01_RMS\\Solar_Router_V4_01_RMS\\partitions.csv » COPY /y « C:\\Users\\Eiolà&\\Desktop\\anet\\Solar_Router_V4_01_RMS\\Solar_Router_V4_01_RMS\\partitions.csv » « C:\\Users\\Eiolà&\\AppData\\Local\\Temp\\arduino\\sketches\\DCAB69B86B4FE9F7DB9D60F993F4CBBA\\partitions.csv »
& �tait inattendu.
exit status 1
Compilation error: exit status 1
je pense que ceci est du a mes librairies mais je ne suis pas sur .
Je ne connais pas du tout IDE Arduino désolé.
@Banasz, avez-vous trouvé une solution?
Je viens de trouver le problème. Il ne faut pas de « & » dans le path de votre projet. Dans votre cas, « Eiolà& » pose problème.
Bonjour,
Dans le logiciel « Arduino IDE », mon ESP32 en liaison par câble USB sur mon PC reste désespérément « hors ligne ».
« Port » est grisé dans le menu « Outils ». J’ai essayé avec plusieurs câbles différents mais rien n’y fait !
Pouvez vous m’aider en me suggérant les raisons qui peut en être responsables ?
Merci de votre aide.
Thierry
Est ce que votre PC fait beep quand vous connectez l’USB.
Soit vous avez un câble USB qui ne fait que l’alimentation
Soit vous n’avez pas le bon driver correspondant à votre carte USB.
Voir l’article ici , Drivers.
https://f1atb.fr/index.php/fr/2023/09/20/programmation-de-lesp32-application-au-routeur-photovoltaique/
Cdlt
Bonsoir André. Merci de votre réponse rapide.
Oui, j’ai le beep de connexion./déconnexion.
Oui, j’ai un câble de données « complet » et vérifié grâce aux transfert de données d’un téléphone portable.
Oui, après vérification de vos liens « drivers » sur votre article, ces drivers sont déjà présents sur mon PC.
J’ai regardé sur la puce argenté de la carte ESP32. C’est écrit : ESP-WROOM-32 212-161007 FCCID:2AC7Z-ESP32WROOM32.
Mais nulle part, je lis : WCH340 ou le CP2102 ou CP2104.
Je l’ai acheté sur ce lien ALI EXPRESS :
https://fr.aliexpress.com/item/1005001636295529.html?spm=a2g0o.order_list.order_list_main.171.21ef5e5bHnFLsZ&gatewayAdapt=glo2fra
Troisième couleur : ESP-32 38Pin. Je suis sous Windows 11.
Si ces nouvelles infos puissent vous aider à continuer dans votre aide.
Cordialement.
Thierry
Bonsoir André. Merci de votre réponse rapide.
Oui, j’ai le beep de connexion./déconnexion.
Oui, j’ai un câble de données « complet » et vérifié grâce aux transfert de données d’un téléphone portable.
Oui, après vérification de vos liens « drivers » sur votre article, ces drivers sont déjà présents sur mon PC.
J’ai regardé sur la puce argenté de la carte ESP32. C’est écrit : ESP-WROOM-32 212-161007 FCCID:2AC7Z-ESP32WROOM32.
Mais nulle part, je lis : WCH340 ou le CP2102 ou CP2104.
Je l’ai acheté sur ce lien ALI EXPRESS :
https://fr.aliexpress.com/item/1005001636295529.html?spm=a2g0o.order_list.order_list_main.171.21ef5e5bHnFLsZ&gatewayAdapt=glo2fra
Quatrième couleur : ESP-32 38Pin. Je suis sous Windows 11.
Si ces nouvelles infos puissent vous aider à continuer dans votre aide.
Cordialement.
Thierry
« Mais nulle part, je lis : WCH340 ou le CP2102 ou CP2104. »
C’est visible (enfin… avec une bonne vue ou une loupe) là : https://i.servimg.com/u/f81/15/44/36/18/2210.jpg
Merci pour la photo André.
Après avoir sorti mon smartphone en mode « macro », j’ai exactement la même chose que sur votre photo.
Je viens d’aller revoir la page des drivers pour le CP 2102, il y a plein de lignes de téléchargement.
– CP210x VCP Windows v6.7 9/3/2020
– CP210x Windows Drivers v6.7.6 9/3/2020
– CP210x Windows Drivers with Serial Enumeratorv6.7.69/3/2020
– CP210x_5x_AppNote_Archive 9/3/2020
– CP210x_VCP_Win2K 9/3/2020
– Linux 2.6.x VCP Revision History9/3/2020
– Linux 3.x.x/4.x.x/5.x.x VCP Driver v3.x.x/4.x.x/5.x.x 1/29/2021
– VCP Driver for WinCE60 v2.1 9/3/2020
– VCP Drivers for WinCE50 v2.19/3/2021
Je n’ai peut être pas choisi la bonne ! Laquelle est ce ?
Un lien qui pourra peut-être vous servir : https://tropratik.fr/installer-un-convertisseur-usb-ttl-cp2102
Quand je connecte mon ESP32 à mon ordi PC, dans le gestionnaire de périphérique, j’ai bien » CP2102 USB to UART Bridge Controller » qui apparait dans « Autres périphériques ».
Par contre nulle part j’ai : « Port (COM et LPT) !!!!
Pas normal ?
Ca y est !!! c’est résolu.
J’ai installé comme dit dans votre lien : CP210xVCPInstaller_x64.exe pour Windows 10 avec noyau 64 bits
Je peux choisir le port dans Arduino IDE et mon ESP32 n’est plus « hors ligne ».
Cool !!! MERCI MERCI MERCI
Bonsoir à tous,
Juste pour partager mon feedback sur Mac Os avec la même carte esp32, j’avais le même souci et après vérification du numéro de puce silabs et installation du driver et sélection du port usb to uart le téléversement c’est fait sans plus d’erreur.
J’ai dû par contre modifier la ligne de code ligne 42 comme décrit par André.
Bonjour à tous
A la fin de ma compilation aprés avoir remplacer dans le fichier Websockets.cpp à la ligne 42 par #include
J’ai une autre erreur
C:\Users\olivier\Desktop\Solar_Router_V4_03_RMS\WebSockets.cpp:25:10: fatal error: WebSockets.h: No such file or directory
#include « WebSockets.h »
ompilation terminated.
exit status 1
Compilation error: WebSockets.h: No such file or directory
Quelqu’un a t’il la solution ?
Cordialement
Pas entendu, ce pb. Relisez bien la syntaxe.
Je suppose que si vous avez modifiez, c’est que vous aviez l’erreur de compilation. Sur beaucoup de PC, il n’est pas nécessaire de modifier.
Cdlt
Bonjour André,
Ben pour l’instant je ne vais pas bien loin 🙂
je téléverse tes programmes ensuite le l’exemple BasicOTA
Je retrouve bien l’ESP32 dans la liste des appareil sur ma box
je ping bien l’adresse IP
mais que je rentre l’adresse IP sur mon navigateur web j’ai : accès refusé
Il faut peut être téléverser le tout en 1 seul fois ?
d’avance merci
Basic OTA n’a pas de serveur Web . C’est juste une demo d’OTA.
Pour le logiciel du routeur, il faut charger la version v4.04_RMS
https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/
André,
OK pour le OTA.
Ma bêtise ça peux aider les autres : au premier lancement il faut chercher l’esp32 dans le wifi de sont PC et ensuite comme le logiciel l’indique il faut basculer sur son réseau wifi de la maison une fois le SSID + mot de passe rentrés !
Merci pour ta réactivité ! Bon dimanche 🙂
Bonjour André,
Merci pour votre réalisation, je suis sur le sujet mais je rencontre un problème lors de la compilation, message suivant:
#include
^~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Compilation error: exit status 1
Je ne trouve pas de solution et ne sais pas si c’est bloquant.
Merci de votre aide
Oui c’est bloquant
Il n’y a rien d’autre derrière le include? plus explicite
Il y a un bug classique qui est donné au chapitre Bug Soft ici:
https://f1atb.fr/index.php/fr/2023/10/06/routeur-photovoltaique-simple-a-realiser/
Cdlt
Bonjour,
J’ai oublié de préciser le nom exact qui s’affiche quand je fais la compilation.
#include
compilation terminated.
exit status 1
Compilation error: exit status 1
Bonjour,
il y avait : hwcrypto/sha.h
Merci c’était bien le problème dans Websockets.cpp. après correction la compilation est correcte .
Je continue 🙂
Bonjour
Tout d’abord merci pour ce boulot fabuleux je serai curieux de connaitre la profession d’André parce que le niveau technique des tutos est excellent et les présentations en anglais parfaites.
J ai un problème à la compilation qui bloque. Je précise que je suis sous lubuntu
j ai le message suivant
/home/arnololo/Documents/Panneaux solaire/Routeur solaire/Solar_Router_V4_01_RMS/Solar_Router_V4_01_RMS.ino:44:10: fatal error: hwcrypto/sha.h: No such file or directory
#include
^~~~~~~~~~~~~~~~
compilation terminated.
exit status 1
Voila si quelqu’un a une idée je suis preneur
J’ai rajouté sur la page, un chapitre Bugs Soft pour le correctif à faire.
Pour la profession : ingénieur à la retraite…
Cordialement
Bonjour
Désolé pour le message précédent c’était déjà expliqué dans le debug il fallait modifier le fichier Websockets
Bonjour, et comme tout le monde, merci André !
je ne suis pas informaticien, mais avec les fiches détaillées j’ai réussi a faire fonctionner l’ESP 32. Comme je suis un peu brouillon, j’ai suivi les choses dans le désordre… ça met plus de temps mais on y arrive. J’ai suivi à un moment les explications Upesy de la carte que j’ai acheté – bien faites aussi – et j’ai installé la version V2.01 car je n’ai que Windows 7 car je ne savais pas si l’IDE1.8.19 lirait les versions que vous avez amélioré (mais qui ne me seront pas utiles pour le moment).
Je vais finir de souder mes derniers composants, et si tout fonctionne comme prévus, pouvoir compléter le nombre de mes panneaux (pour l’instant 1,5 kW) sans risque de production « inutile ».
Encore merci, et comme vous le dites : le plus dur c’est de se lancer.
L’IDE 1.8 sait lire les dernières versions.
Bon câblage.
Cdlt
Bonjour, et félicitation pour votre travail
j’ai suivie a la lettre votre procédure pour la compilation mais j’ai un message d’erreur, pouvez vous m’aider
Merci
Message d’erreur:
C:\Users\llaur\AppData\Local\Temp\430c296f-1e5e-45ea-9926-353e2e1a72a1_Solar_Router_V5_02_RMS-1.zip.2a1\Solar_Router_V5_02_RMS\Solar_Router_V5_02_RMS.ino:51:10: fatal error: pageHtmlBrute.h: No such file or directory
#include « pageHtmlBrute.h »
^~~~~~~~~~~~~~~~~
compilation terminated.
Oh, il faut dézipper le fichier source pour recréer un dossier classique avec tous les fichiers.
bonjour, je suis bloqué au niveau de la programmation. Je téléverse le fichier solar_router_v5_02_rms.ino et lorsque je branche l’esp32 avec mon chauffe eau, cela fait un sapin de noel. les 2 leds clignotent sans arret. il y a un étape que j’ai du louper. je ne sais pas non plus ou modifier mon ssid et password pour le connecté au wifi. Merci de m’aider.
Relisez la procédure pour un premier lancement. Vous n’avez rien à modifier. L’Esp32 émet un signal wifi Esp…
Bonjour, déjà bravo pour ce travail pout ce routeur solaire.
Je me suis mis à le réaliser, envoyer le programme dans l’ESP32 mais je bloque après avoir entré le nom et mot de passe dans la page « Routeur Solaire – RMS », je ne trouve pas ll’IP du esp32 et dans le moniteur série d’Artuino, il est noté connexion failed, pourtant je vois bien que le ssid et pass ont bien été enregistré.
Une aide serait le bienvenu
Il faut avant tout utiliser la version V5.10_RMS qui corrige un bug sur les mots de passe ayant des caractères spéciaux. Ensuite, évitez les copier/coller car il y parfois des caractères non visibles.
Bonjour André et bravo pour votre travail.je rencontre un problème que je n’arrive pas a résoudre en effet j’ai installer votre logiciel version V5.10_RMS pour faire fonctionner le routeur avec capteur UxlX2 et je n’ai aucune remonté d’information sur la page (Données brutes capteur JSY-MK-194T) alors que j’ai des données qui remonte si je choisie la mesure en Uxl mais sa ne correspond pas du tout a ma tension de mon réseau edf. pour info la LED du capteur JSY-MK-194T reste fixe c’est normal? cela fait plusieurs fois que je réinstalle le programme et que je refait le montage mes rein n’y fait je suit bloquer et je ne trouve pas la solution.avez vous une idée qui pourrez me débloqué de ce problème?car la je suit bloquer merci.
PS:pour info j’ai fait un essai avec la version du prof s et le capteur fonctionne correctement.
Inverser les fils TX et RX si vous n’avez rien.
si tu a essayé celle de prof s, a tu changé la vitesse Serial2.begin dans l’onglet ui2
Bonjour André,
Comme annoncé il y a quelques semaines je me suis lancé dans la construction de votre routeur.
J’ai déjà construit 3 modules plus un spare, j’utilise pour le moment le mode UxI pour mesurer la puissance consommée ou réinjectée j’ai deux chauffe-eau à piloter donc deux triacs .
Pour le moment l’installation de mes panneaux solaires a pris du retard à cause de la pluie .
En attendant je travaille a une version qui utiliserait mon module ShellyEM comme source des mesures .
En l’etat actuel j’arrive à récupérer toute le paquet des données depuis le Shelly et à afficher la puissance active soutirée dans l’interface Accueil du routeur client . C’est ensuite que cela se gâte dans le fonctionnement de la fonction swtich
Même si j’ai une idée, j’aurais besoin de savoir quelles sont les valeurs absolument indispensables dans la liste de toutes celles produites par la liste des « Case » dans la fonction Switch.
En plus certaines (comme PVAS_M , PVAS_T ) ne me parlent pas.
Merci pour vos réponses,
Cdt,
Nigg
PVAS_M = Puissance Apparente (Volt*Ampere) Maison (sonde mobile en entrée de Maison)
PVAS_T = Puissance Apparente (Volt*Ampere) Triac (sonde fixe ou passe le courant du Triac)
Bonjour Nigg
j’ai également un shelly EM sur une install de PV et je me pose les mêmes questions concernant l’utilisation du module shelly EM comme source de mesure sur le routeur. Comment as tu fait pour récupérer les données du Shelly et a afficher la puissance active dans l’interface ? Je suis preneur de tes explications et le code associé si cela est possible Merci par avance Gilles
Si quelqu’un m’ouvre l’accès extérieur au shelly et me donne la référence de la documentation des messages, je peux developper le bout de code pour le Shelly.
Cordialement
André
Bonjour André,
Je veux bien vous ouvrir l’accès au Shelly mais je vois pas comment faire …
Après plusieurs essais, visiblement je ne peux partager l’accès shelly qu’a un utilisateur connu Shelly et non un email lambda…
Concernant le ref de la doc, vous parlez de la doc utilisateur ou autre ?
cdlt
Gilles B
Pour la doc Shelly , j’ai trouvé ça: https://shelly-api-docs.shelly.cloud/gen2/
J’entend par partager, c’est d’ouvrir un accès au shelly depuis le monde extérieur.
Il faut au niveau de votre box internet mettre en place une règle NAT (Network Adress Translator) et me donner l’adresse IP de votre box sur internet.
Si vous ne savez pas le faire, je peux me connecter à votre PC à distance, et de là je me connecte à votre box internet.
C’est simple à faire. Contactez moi en privé sur f1atb.fr@gmail.com
Pour la doc, j’ai besoin de trouver le format des messages en sortie du Shelly. Je peux demander à Google si vous n’avez rien.
Cordialement
André
Bonjour Gilles, Andre,
Bon pour le ShellyEM on peut partager les données via l’application Shelly en donnant l’adresse mail d’un utilisateur mais ce ne sera pas la manière de faire pour le routeur ..
Pour voir le format des données vous pouvez récupérer les infos qu’il fournit par un get http
Exemple:
http://192.168.1.19/emeter/0
http://192.168.1.19/emeter/1
Vous obtenez les strings suivantes (une ligne par pince):
{« power »:207.98, »reactive »:-525.07, »pf »:-0.37, »voltage »:236.73, »is_valid »:true, »total »:1425675.4, »total_returned »:0.0}
{« power »:149.77, »reactive »:-409.43, »pf »:-0.34, »voltage »:236.00, »is_valid »:true, »total »:1253490.1, »total_returned »:0.0}
Pour faire un test rapide sans changer grand chose, il faut:
1 – Configurer le routeur en client ESP en donnant l’adresse IP du Shelly
2 – Dans votre application André, il suffit de modifier la procedure –> Source_Externe.ino en remplaçant ligne 25 :
String url = « /ajax_data »; par String url = « /emeter/0 »;
Ainsi les données arrivent dans la variable RMSExtDataB et il faut jongler avec les séparateurs ({ :,}) dans la chaine Shelly pour extraire les champs utiles et les présenter à la procédure appelante .
J’en suis là, et j’ai commencé avec le C/C++ il y a 3 semaines donc je ne vais pas à la vitesse du maitre André.
Pour faire une solution propre il faudra à terme que le Shelly ait sa propre procedure Source_ShellyEM.ino mais ne n’en suis pas la.
Pour aller plus vite votre aide André serait très bien venue je peux regarder pour partager l’acces IP a mon boitier Shelly pour que vous puissiez tester votre développement en interrogeant mon shelly pourvu que la réponse arrive assez vite….
Je vous tiens au courant des que c’est fait.
On peut communiquer via l’adresse mail que j’ai renseigné.
NB: je travaille sur la version 4.03…
Cdt,
Nigg
J’ai l’intention de faire une Source_ShellyEM.ino . Les accès par GET, c’est exactement ce qu’il me faut. Pour la mise au point si c’est un peu lent à cause de l’elignement, c’est pas grave. Je l’ai fait pour Enphase (accès chez mon frère à 1000km de chez moi, je suis en cours de développement pour les compteurs Belges). Il me faut quelqu’un qui mette une règle NAT sur sa box et derrière le codage est pas très compliqué.
J’ai essayé de vous contacter en direct, mais votre adresse mail chez free est revenu inconnue. Ecrivez moi en privé sur f1atb.fr@gmail.com
Cdlt
André
Re,
Bon je me suis attaqué a la partie source mais je me rends compte que j’oublie la partie server (server.ino) qui doit évoluer en parallèle.
Donc si vous avez un peu de doc pour expliquer comment tout cela s’articule je serai preneur , bien sur l’ensemble de l-adaptation vous sera mise a disposition si j’en viens a bout.
Encore merci pour votre travail.
cdt
Nigg
Correction adresse mail effectuée …
Bonjour André, je possède une carte ESP32 Vroom devkit V2 avec un CP2102 et malgré tous mes essais de transfert du programme routeur solaire du Profsolaire, j’obtiens toujours l’erreur « WiFi.h » . Impossible d’utiliser mon routeur car impossible d’injecter le programme . Auriez vous un tuyau pour cette erreur ? Merci
Avez vous déclaré la bibliothèque ESP32 d’Espressifdans le gestionnaire des préférences?
https://dl.espressif.com/dl/package_esp32_index.json
Merci André, J’ai trouvé mon erreur, la bibliotheque espressif n’était pas dans le bon répertoire, je ne comprends d’ailleurs pas pourquoi elle est allée se ranger ailleurs . Après transfert dans le bon dossier, tout est rentré dans l’ordre .
PS. Peut être parce que j’ai commencé sur MAC et continué sur PC !
Merci pour l’aide et les conseils .