ESP32 Wifi manager template

Auteur

J.Soranzo

Association

Bricolab

Entity

VoRoBoTics 1

dépôt Bitbucket des sources doc

https://bitbucket.org/myarduinotemplates/docsource/src/master/

Dépôt BitBucket

https://bitbucket.org/myarduinotemplates/wifimanagerbasetemplate/src/master/

Création

05/2024

Maj

05/2024

Introduction

WIFI Manager est une librairie ARDUINO qui permet de ne pas mettre ses identifiant dans le code ARDUINO; les fameuses lignes:

const char* SSID = "YourSSID";
const char* password = "YourPassword";

Pour cela, la lib tente une connexion avec les paramètres mémorisés par l’ESP et si elle échoue, elle se met en mode aces point (point d’accès - elle crée son propre mini réseau wifi) en se connectant à ce mini réseau wifi (au moyen d’un téléphone ou d’un pc, mac disposant d’un navigateur Internet). Une page de connexion s’ouvre automatiquement - on parle alors de portail captif, comme dans les hotels par exemple, on peut entrer ses paramètres d’accès. Adresse ip du portail captif au cas où est dans le code configurable par défaut 192.168.4.1.

_images/portailWifiManager01.JPG _images/portailWifiManager02.JPG

Comme son nom l’indique, le but de ce projet est de créer un block de base constitué d’un ESP32 avec intégration de la lib Wifi manager et éventuellement un tout petit écran OLED pour afficher l’IP Si besoin de documenter et de s’arrêter là !

See also

SITE DE REFERENCE ARDUINO.CC

WiFiManager 2

See also

SITE OFFICIEL GITHUB

tzapu/WiFiManager 3

Ce block doit permettre la réutilisation facile.

Premier run

Utilisation sur une carte AZDelivery ESP32.

See also

SITE DE COMMERCE AMAZON

AZDelivery ESP-32 Dev Kit C V4 4

Installation du pack dans ARDUINO et paramètre par défaut : OK

Installation de la lib dans l’environnement ARDUINO: prise du ZIP sur ARDUIBO.CC et dans library manager installation d’un zip.

Les exemples fournis dans la librairie WIFI manager

Advanced
Basic
NonBlocking
Old_examples
OnDemand
Parameters
ParamsChildClass
Super
Tests
Unique

Exemple basic

Avec une configuration 4Mo de FLASH et un schéma 1.2M App/1.5 SPIFFS

Utilisation de la bibliothèque WiFiManager-2.0.17 version 2.0.17 dans le dossier: C:\Users\jojo\Documents\Arduino\libraries\WiFiManager-2.0.17
Utilisation de la bibliothèque WiFi version 2.0.0 dans le dossier: C:\Users\jojo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.13\libraries\WiFi
Utilisation de la bibliothèque Update version 2.0.0 dans le dossier: C:\Users\jojo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.13\libraries\Update
Utilisation de la bibliothèque WebServer version 2.0.0 dans le dossier: C:\Users\jojo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.13\libraries\WebServer
Utilisation de la bibliothèque DNSServer version 2.0.0 dans le dossier: C:\Users\jojo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.13\libraries\DNSServer
Utilisation de la bibliothèque FS version 2.0.0 dans le dossier: C:\Users\jojo\AppData\Local\Arduino15\packages\esp32\hardware\esp32\2.0.13\libraries\FS
Le croquis utilise 833653 octets (63%) de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
Les variables globales utilisent 44184 octets (13%) de mémoire dynamique, ce qui laisse 283496 octets pour
les variables locales. Le maximum est de 327680 octets.

versus blink:

Le croquis utilise 236793 octets (18%) de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
Les variables globales utilisent 21048 octets (6%) de mémoire dynamique, ce qui laisse 306632 octets
pour les variables locales. Le maximum est de 327680 octets.

Premier constat: Wifi manager est gourmand en ressources. Il faut tout de même nuancer ce propos car il utilise un grand nombre de librairies nécessaires dans un projet avec du wifi (lib Wifi, Webserver)

Hors sujet : test file système

Une tentative d’utiliser SPIFFS soldée par un échec erreur 663. Du coup => exemple SPIFFS_Test.ino

Au début de l’exemple, il faut formater le file système…

A part cela le test passe bien. Utile le plugin ARDUINO file system

See also

SITE DE RESSOURCES GITHUB

Arduino ESP32 filesystem uploader 5

_images/esp32SketchDataUploader.png

Remarque Juillet 2024 sur les files système ARDUINO. Aujourd’hui 3 files systèmes sont utilisables: SPIFFS, LittleFS et FatFS

See also

SITE DE RESSOURCES GITHUB

Dépôt Bitbucket et branches

Projet Bitbucket plus vaste myArduinoTemplates

branches:

  • master : exemple basic

  • avecFileSystem : ajout de spiffs

  • avecFileSystemEtOled : ajout oled 128x32 0.92”

  • avecFileSystemEtOledEtWebServer

  • avecFileSystemEtOledEtWebServerEtLed

Webserver

A partir des exemples Arduino et notamment FSB Browser lit le fichier index.html de data

Battery Mesure

Dans cet article:

Note: ADC2 pins cannot be used when Wi-Fi is used. So, if you’re using Wi-Fi and you’re having
trouble getting the value from an ADC2 GPIO, you may consider using an ADC1 GPIO instead.
That should solve your problem.

Programme dédié aux tests adcChecker.ino

Je pilote une LED

pin 15

Ressources avec la branche avecFileSystemEtOledEtWebServerEtLed

Utilisation de la bibliothèque FS version 2.0.0
Utilisation de la bibliothèque SPIFFS version 2.0.0
Utilisation de la bibliothèque WiFiManager-2.0.17 version 2.0.17
Utilisation de la bibliothèque WiFi version 2.0.0
Utilisation de la bibliothèque Network version 1.0.0
Utilisation de la bibliothèque Update version 2.0.0
Utilisation de la bibliothèque WebServer version 2.0.0
Utilisation de la bibliothèque DNSServer version 2.0.0
Utilisation de la bibliothèque AsyncUDP version 2.0.0
Utilisation de la bibliothèque SPI version 2.0.0
Utilisation de la bibliothèque Wire version 2.0.0
Utilisation de la bibliothèque Adafruit_GFX_Library version 1.1.8
Utilisation de la bibliothèque Adafruit_SSD1306 version 1.1.2
Utilisation de la bibliothèque ESPmDNS version 2.0.0
Le croquis utilise 1054753 octets (80%) de l'espace de stockage de programmes. Le maximum est de 1310720 octets.
Les variables globales utilisent 45176 octets (13%) de mémoire dynamique, ce qui laisse 282504 octets pour les variables locales. Le maximum est de 327680 octets.

Avec le schéma Huge APP (3MB No OTA/1M SPIFFS), on ne consomme que 33%

_images/hugeApp.jpg

Carte d’essai

_images/carteWifiManagerRecto.jpg

_images/carteWifiManagerVerso.jpg

Prog: ARDUINO 1.8.19+ devices ESP32 dev module, 1.2app, 1.7SPIFFS / 4MB (reste 1.1 ? OTA ?)

Réalisation sur la base d’une carte AZ Delivery ESP-32 Dev Kit C V4 15€ sur AMAZON

Broche I2C : 22 (CLK) et 21 (DATA)

Web asynchrone ?!

Il s’agit de remettre à jour des contenus de la page html sans recharger la page.

Caution

VIDEO

GDMP : ESP32 serveur web asynchrone et web application 10 très bon exemple à base de svg !!!

_images/esp32serveurAsynchronePiscine.JPG

Utilise de l’Ajax, javascript avec un setInterval 5s et manifest.js

Ainsi que les librairies de me-no-dev ESPAsyncWebServer 11 et AsyncTCP

Autre exemple avec les Websockets: