Il existe 2 méthodes pour installer le logiciel binaire du routeur photovoltaïque F1ATB dans l’ESP32-S3. Une méthode en ligne rapide et la méthode manuelle décrite ci-après qui donne accès au code source. Elle demande une maîtrise de l’informatique.

Code Source

PlatformIO

L’ensemble du code est installable en utilisant l’outil de développement Visual Studio / PlatformIO et non plus l’IDE Arduino. Il n’y a pas de code à écrire, uniquement une compilation faite par l’IDE et un téléchargement du binaire dans l’ESP32. C’est le même code quelle que soit la configuration modulaire choisie et quel que soit le capteur de mesure. Il est injecté dans par la liaison série/USB.

Arborescence code Source

Dans l’arborescence du code à installer dans le dossier « project » de Visual Studio, on trouve plusieurs sous-dossiers et fichiers :

  • src : l’ensemble des fichiers source codé en C++. Un sous-dossier generated (voir plus-bas) n’est pas à toucher.
  • web : l’ensemble du code des pages web écrit en HTML, Javascript et css
  • tools : le fichier embed_web.py en python prend en début de compilation, le contenu du dossier web et en fait un seul fichier WebFiles.h rajouté au code source.
  • extra_scrpt.py, merge_bin.py donnent des directives pour les 2 binaires à générer. Un complet de 16Mo qui efface l’ensemble de la mémoire Flash. Un binaire ne contenant que le code à installer lors d’une mise à jour par OTA. Les binaires sont disponibles dans le dossier build.

Cette organisation avec un dossier web contenant les différents fichiers nécessaires aux pages web, permet de les tester dès l’écriture, avant même la compilation de l’ensemble. Sur Windows, il suffit avec l’invite de commandes de se rendre dans le dossier web et de rentrer la commande suivante :
py -m http.server 8000
Les pages seront accessibles à l’adresse localhost:8000
Pour aider au codage, Visual Studio bénéficie de l’IA intégrée très performante Copilot/Github.

Vérifiez que vous avez les bibliothèques installées sur votre IDE PlatformIO:

Avec certaines cartes, si le téléversement du code dans l’ESP32 ne se fait pas, il faut presser sur le bouton boot, puis reset, relâcher reset, relâcher boot avant le téléchargement.

Moniteur Série

Après une opération de téléchargement, ouvrez le moniteur série de l’IDE 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 qui lui a été attribuée, etc.

Premier lancement du programme

CONFIGURATION PAR WPS (DEPUIS LA VERSION 15.08)

La solution la plus simple pour passer à l’ESP32 le Wi-Fi auquel il doit se connecter à l’avenir est d’utiliser le bouton WPS de votre box Wi-Fi Un appui sur le bouton, puis immédiatement un démarrage ou reset de l’ESP32 et il cherchera à se connecter au WiFi désigné. Sur le port série (la console) vous trouverez l’adresse IP qui a été attribuée par la box internet. Sinon, allez sur votre box et regardez la liste des dernières adresses attribuées.

CONFIGURATION PAR LE PORT SÉRIE (DEPUIS LA VERSION 11.00)

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 ESP-RMS….., il n’y a pas de mot de passe. Parfois, il est nécessaire de rafraichir la liste des Wifi sur votre smartphone. De même, penser à répondre « oui » quand la fenêtre demandant si vous voulez rester connecté à un réseau sans accès à internet pop-up. Elle disparait parfois très rapidement.

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.

Adresse IP fixe

Si vous souhaitez fixer vous-même l’adresse IP, allez faire un tour auprès de votre box à la rubrique réseau / DHCP, vous trouverez le champ des adresses dynamiques. Par exemple, souvent les Livebox d’Orange attribuent des adresses dynamiques DHCP entre 192.168.1.10 et 192.168.1.150. Il vous reste alors un champ libre pour attribuer vos propres adresses entre 192.168.1.151 et 192.168.1.253. Fréquemment, les .254 et .255 sont réservés à autre chose. Vous pouvez ainsi donner comme adresse 192.168.1.200 à l’ESP32 si aucune autre machine sur le réseau occupe déjà cette adresse. Ce forçage de l’adresse IP, se fait dans la page « Paramètres » de l’ESP32.

IP Address gateway correspond à l’adresse IP de votre box. C’est elle qui fait la passerelle (gateway) avec le monde extérieur. Chez Orange, c’est en général 192.168.1.1. Chez Free, c’est plutôt 192.168.0.254. Les trois premiers chiffres 192.168.0 ou 192.168.1 doivent être les mêmes pour la box et votre ESP.

Alimentation durant la programmation

Il arrive que l’ESP32 alimenté par l’USB de votre PC ne démarre pas correctement. Cela vient d’une tension d’alimentation insuffisante, inférieure à 5 V, et d’un courant important au démarrage. Dans ce cas, utilisez un Hub USB disposant d’une alimentation propre à lui. Vous connectez l’ESP32 au Hub que vous connectez à votre PC. https://www.amazon.fr/Aceele-Microsoft-Nintendo-Ordinateur-Portable/dp/B07RLFKG4X/ref=sr_1_1_sspa

Sécurité

En travaillant sur ce projet en 230 V, vous acceptez d’assumer la responsabilité de votre propre sécurité et de prendre toutes les précautions nécessaires pour éviter les accidents électriques.

Responsabilité