Récupérer les valeurs d'un formulaire web sans rafraîchir la page (jQuery) [ESP32 Ép#5]
HTML-код
- Опубликовано: 13 мар 2020
- Pour soutenir mon travail: tommydesrocher...
Faire un don: bit.ly/35TD7os
Venez discuter sur mon serveur Discord: / discord
Plateforme de développement ESP32: bit.ly/2PRyK8h
Flash deals Banggood: bit.ly/2upifb4
Le code complet est disponible sur mon site web: tommydesrocher...
jQuery:
jquery.com/dow...
Types de requêtes HTTP:
www.w3schools....
Arduino Blink without delay:
www.arduino.cc...
Autres exemples de code pour récupérer des données de formulaire avec jQuery:
- www.tutorialre...
- www.tutorialre...
- www.tutorialre...
Bonjour! Dans cette vidéo je reprends le code de la vidéo précédente et j'ajoute un formulaire sur l'interface web pour choisir la vitesse de clignotement de la LED. Ainsi, dans cette vidéo je vous montre comment utiliser un formulaire web pour mettre à jour les variables du code C++ de l'ESP32. Pour éviter de rafraîchir la page à chaque mise à jour du formulaire, j'ai choisi de créer un formulaire custom et de récupérer les données en arrière plan avec du javascript (jQuery). Ainsi les requêtes HTTP se font sans que l'utilisateur ne remarque quoi que ce soit. On évite de rafraîchir la page trop souvent et de faire travailler l'ESP32 inutilement. J'espère que cette vidéo vous sera utile!
Pour me rejoindre:
- www.TommyDesro...
- / td72pro
- / td72pro
- / td72pro
- / td72pro
Pour me soutenir:
- Faire un don: bit.ly/35TD7os
- Lien affilié Amazon.fr: amzn.to/2CcGn2t
- Lien affilié Amazon.ca: amzn.to/2CapxBc
- Lien affilié GearBest: bit.ly/2Eitk2h
- Lien affilié Banggood: bit.ly/2CImNwd
- Lien affilié PCBWay: bit.ly/2zt6MG6
***
La description de cette vidéo contient des liens affiliés. Cela signifie que je gagne une certaine commission sur les produits achetés à partir de ces liens. C'est majoritairement ainsi que je peux financer mes projets et partager gratuitement mes vidéos sur le web. Alors je souhaite remercier tous ceux qui me soutiennent. C'est grâce à vous que ces vidéos sont possibles! Наука
très bon travail, comme toujours ! Il manque juste un petit truc, le else dans la bouche principale pour éteindre la led si jamais on a appuyé sur Off alors que la led est allumé.
Ah c'est vrai! J'étais trop occupé à montrer comment changer le délais de clignotement 😂
Je me suis fait la même réflexion, mais j'aurais laissé l'extinction de la LED dans la route "/off", car avec le else dans la boucle principale si la LED est déjà éteinte on lance une instruction inutilement à chaque boucle.
Sinon comme d'habitude, super vidéo.
@@ugogirard6657 Excellente suggestion, j'ai ajouté cette modification au code disponible sur mon site web: tommydesrochers.com/recuperer-les-valeurs-dun-formulaire-web-sans-rafraichir-la-page-jquery-esp32-ep5/
Wow !! C'est cool pour des futurs projets
L'idée est bonne mais avec l'ESP32 fonctionnant en multitâche, cette solution peut théoriquement poser problème : la tâche 1 peut s'arrêter juste avant le changement d'état de la variable etatLed et l'allumage dans la boucle principale, tandis que la tache 2 prend la main, et exécute l'instruction "éteindre la led" et etatLed = 0.
Et donc quand la tache 1 reprend elle rallume la led. Il faudrait un mutex pour éviter cela ou une section critique par exemple (si cela vous intéresse vous pouvez aller voir la notion de sémaphore). Je pense que le mieux c'est d'utiliser la variable etatLed dans le else :
else
{
if(etatLed == 1)
{
etatLed = 0;
digitalWrite(led, etatLed);
}
}
Tommy, toujours au top. Agréable et très pédagogique. Pour le Get vs Post, en bref, voilà la règle que j'applique : Si il s'agit de récupérer de la donnée, le Get ; pour écrire et/envoyer c'est Post. Attention la longueur des données est limité en Get, pas en Post. Le Get est moins safe que le Post (les données sont stockées dans l'historique de ton navigateur). Lors d'un Get la donnée est embarquée dans l'URL, pas dans le Post. En tous cas très bon boulot et tuto!!!! Un grand bonjour et merci d'un cousin Toulousain.
Excellent résumé, j'espère que plusieurs personnes verront ce commentaire.
Bonsoir, L'écriture de code sans delay peut être simplifié avec les pseudo-variables elapsedMillis.
C'est dans les biblio standard: #include
ensuite, on peut déclarer une variable:
elapsedMillis m;
Le code est alors bcp plus simple
if (m >= 1000) {
....
m = 0; // remise à zéro
}
Il existe aussi elapsedMicros et elapsedSeconds qui fonctionnent de la même manière.
Bravo et mille mercis pour cette série de tutos forts intéressants et clairs. De quoi s'occuper pleinement et sereinement pendant le confinement dû au covid 19. Ces tutos devraient être donc reconnus d'utilité publique (en France au moins). Merci encore Tommy.
Merci beaucoup pour tes vidéos, elles sont d'une très grande qualité et ça m'a donné envie de me mettre à la programmation.
Du coup j'ai acheté un ESP32 et je me suis donné comme projet de gérer ma cafetière par wifi et grace à tes vidéos j'ai réussi à comprendre et a adapter le code.
Encore une fois merci, vivement la suite :)
Merci pour ta vidéo.
Pourrais tu faire une suite avec la persistance des données. Enregistrer le délai de clignotement, éteindre puis rallumer l'arduino, relire la donnée de clignotement et la mettre par défaut au démarrage.
Je pense que cela peut intéresser pas mal de monde sur la persistance des données.
A bientôt.
Oui, très bonne idée!
@@TD72PRO Pour l'instant je débute dans le monde Arduino mais pas dans le monde du développement. Dès mon premier test avec mon Arduino j'ai tout suite vu l'intérêt de créer des librairies. Cela permet de mieux organiser ton code, surtout si tu as des projets compliqués.
Si tu ne connais pas trop et que cela t'intéresse dit le moi, je mettrai un lien sur git.
Salut Tommy
Un GRAND MERCI pour tes vidéos
et ton augmentation de taille d'écriture de ton code ;)
Bonjour Tommy, super série sur le ESP32, bravo pour ce travail de présentation et les astuces ...
Merci pour ces vidéos super complètes et très précises. Les explications sont claires et pédagogiques. Bonne continuation !
Mille Merci!!!! très beau boulot, clair, pédagogue, du grand! Du très très grand! Par contre, l'idée de la persistance des données est intéressante ! J'ai essayé d'installer une BDD Mysql avec la librairie Arduino Connector mais avec ton code et requêtes asynchrone c'est pas évident du tout. Pourras-tu nous faire une peut tuto à ce sujet (BDD mysql avec arduino connector ou autre solution)? Merci encore!
Super vidéo, comme d'habitude ! Bravo !
Vu mon niveau, je les regarde plusieurs fois pour assimiler toutes le notions . . . je comprends vite, mais il faut m'expliquer longtemps !!
très bien expliqué, très utile et excellente préparation. Merci beaucoup !
Note : plutôt que de me connecter au serveur de chez moi, j'ai utilisé l'ESP32 comme Access Point : je lui ai fait créer son propre réseau avec ceci :
WiFi.softAP(ssid, password);
IPAddress IP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(IP);
ensuite je n'ai plus qu'à me connecter au réseau créé par l'ESP32 depuis mon téléphone (ou un PC ou ...)
génial, c'est expliquer de manière clair et simple dans un exemple concret, parfait donc, merci pour ce tuto
encore bravo pour ce super tuto. il va me falloir un peu de temps pour assimiler ça, mais ça semble accessible. c'était le chainon manquant pour réaliser mon projet. merci :)
Très instructif.
Toujours aussi efficace.
J'adore ton travail.
Merci d'avoir agrandi le texte :)
Super vidéos. C'est très bien de rester simple pour donner de bonnes bases. Je vais pouvoir attaquer mon projet sereinement :)
C'est très clair et instructif, merci Tommy.
Que dire, merci de cette video, tu montre pas mal de chose et c'est super ;)
Super, j'ai bien mieux compris que la dernière vidéo...sur laquelle je bute encore, mais j'y travaille
Continue comme ça ---> j'ai l'impression de devenir plus intelligent ;)
MERCI !
Je viens de passer l'après-midi à chercher comment passer ces &'@# de paramètres... Maintenant j'ai compris.
Je m'y colle dès demain matin.
Bonjour Tommy, merci pour tes bonnes explications. J'ai vu que tu n'avais pas créé de playliste ESP32, peut-être qu'il serait intéressant de faire. 😉
Bonjour Tommy, Super tuto ! J'ai découvert ta chaine il y a peu de temps avec grand plaisir ! Si tu le permets, je suis resté sur ma faim..., concernant la possibilité d'afficher l'état de la LED en plus de la luminosité sur la page pour une réelle confirmation si les appareils ne sont physiquement pas visibles ( pour la pompe et le hors "gel" des tuyaux du un puit situés dans un cabanon à l'extérieur de la maison) je peux transmettre les fichiers adapter, si cela peut intéresser .... Bonne continuation &GOOD JOB
très bonne vidéo elle m'aide énormement sur mes projets domotiques (avec openclassroom pour apprendre tous ces languages ;)
est ce que tu comptes faire une vidéo sur la securisations de ces sites web, genre sessions de connexions et tout ?
Information :
j'ai testé le code, il ne fonctionne pas avec un iPhone comme client car la méthode POST n'envoie rien. il faut lui ajouter .done() pour obtenir des données sur le serveur.
$(document).ready(function()
{
$("#appliquer").click(function()
{
var valeur = $("#choixDelayLed").val();
$.post("delayLed",
{
valeurDelayLed: valeur
}).done();
Vraiment sympa cette vidéo merci beaucoup, vivement que mes esp32 arrivent . J'ai commande aussi un debugger qui semble bien marcher
Merci pour ton travail et ta volonté!
Néanmoins, utiliser jQuery n'a pas vraiment de sens, surtout dans un environnement comme l'ESP32.
Le javascript de mars 2020 pouvait tout à fait s'en sortir seul, comme tu l'avais fait auparavant. ;)
Toujours aussi cool !
Vas tu faire une série de vidéos sur FreeRTOS pour l'esp32 ?
Super vidéo comme toujours 👍👍
superbe vos vidéos continuer.
Excellent, c'est un super tuto !
Tommy, toujours au top
merci pour tout ce que tu fait
et-il possible de recupere le donne (par exemple les variable entier et les evoillé sur la page web et le transforme en graphique??)
mon ide et de fabrique un petit osciloscope qui a comme ecran un navigateur
Bravo, très clair ! J'étais curieux de voir comment transmettre des paramètres en ayant les fichiers dans SPIFFS, mais j'ai été un peu déçu car l'exemple ici montre comment remonter des infos vers le serveur, et pas l'inverse. Je m'explique : dans cette application de clignotement par exemple, il serait intéressant de savoir à l'ouverture de la page quelle est la vitesse de clignotement actuelle, donc avoir le champ correspondant déjà sélectionné. Dans mes applications, le fait que la page web soit dynamiquement créée par le code ESP32 me permet de modifier à ma guise le contenu de la page à l'ouverture, ainsi que selon les actions de l'utilisateur sur la page client, je peux même changer le code javascript dynamiquement. Serait-il donc possible que le serveur communique au script des informations permettant de paramétrer la page ? Bien sûr, je pourrais aussi lire le fichier HTML et faire les modifs comme je les fait actuellement, mais ce serait encore moins élégant...
Je vais essayer de faire ça avec le protocole Ajax, jscript et JSON. Ca devrait marcher :-)
Et ça marche !
Bonjour, dans un environnement non relié à internet, est-il possible que le browser garde en cache les librairies nécessaires, ou, est'il possible de spécifier un url ou le browser doit aller chercher la librairie ?
Salut, supers ta série de tutos sur l'ESP32. J'ai une question sur les menus déroulants. On peut forcer une ligne spécifique à être au premier plan par , mais si je veux l'ID 35 comme ligne par défaut, comment fait-on? Merci, Fred!
Impeccable 💦
Super génial. Merci d'avoir exhause ma demande
Bonsoir j'ai un petit problème , je sais pas pourquoi mais le CSS ne s'applique pas
Salut Tommy, excellente vidéo ! Très bon travail, très bien expliqué. Comme d'habitude. Bravo !!
Je travaille sur un projet dans lequel je plot les valeurs de différents capteurs sur un site web. Ces valeurs sont envoyées par wifi et stockés sur un serveur dans un autre pays, et le site web est donc hébergé localement au serveur. Je me demandais s'il était possible d'utiliser ce principe que tu décris dans cette vidéo pour changer des paramètres directement sur mon ESP8266. Pour relancer une mesure manuellement par exemple...
Merci d'avance et encore bravo !
Merci Tommy pour la vidéo
Je veux faire le même truc mais pour changer timezone. quand je cliquer sur appliquer, l'heure change sur mon afficheur TM1637
est ce que tu as un lien pour m'aider
Merci
Merci ! Excellente vidéo !
Merci , de cette suite de série de vidéos très instructif de programmation sur ESP32 .
je ne sais pas comment il serait possible de remplacer les choix de delay par un programme de curseur analogique
et de pouvoir interagir avec l'ESP32 via internet et pas en éternet?
bien fait comme d habitude
Tu peux libérer un peux de ressources en utilisant le CDN de jquery, bootstrap, etc. Personnellement j'utilise Angular pour mon front-end.
Bonjours de Belgique. Bravo pour vos tutoriels, sera t-il possible de faire un tutoriel sur bluetooth avec ESP32 car je voudrai commander l'ouverture et la fermeture d'une porte de garage avec mon GSM et voir l'état de la porte (ouverte ou fermée) sans réseau WiFi. Merci pour votre réponse.
Bon travail comme d'habitude. Cependant, JQuery est de moins en moins utilisé et c'est lourd pour un simple formulaire. Je te propose de faire une version "vanilla" pure (sans framework) avec un autre projet de domotique un peu plus avancé.
C’est pas compatible avec wifi manager ?
Superbe vidéo, très compréhensive. J'ai une question: en faite j'ai essayé de refaire la même chose, mais moi je voudrais modifier l'heure a partir d'un formulaire sur une page html et ensuite l'afficher. Mais je suis bloquée sur le code à écrire sur ma fonction main(), et j'arrive pas. Si vous pouvez bien m'aider. Merci d'avance.
salut je voulais savoir si c'est possible d'utiliser des fichiers php dans l'esp32 ?
Super vidéo, pourrais tu mettre en pratique le fait d'appeler une fonction js via une action de l'esp ?
bonjour, comment puis je faire pour gérer plusieurs clients vers un maitre ( exemple un ESP32 en maitre qui reçoit les infos ou commande 3 ou 4 ESP8266 (d1mini, ESP01 ou autre ESP8266). Super travail continue comme ca.
Super Vidéo bien expliquer. Je profite de tes tutos pour mon projet de volet. Une chose que je ne trouve pas c'est comment faire pour que le bouton ne soit pas un interrupteur mais juste un poussoir qui allume une Led juste pendant le temps que je le maintien et qui éteint la led quand je relâche. Merci pour ton excellent travail.
J'ai trouvé ceci: jsfiddle.net/ophh42ug/1/
C'est un exemple qui montre comment détecter quand on appuie sur la souris et quand on la relâche.
Très bonne vidéo ! La partie JavaScript m'a un peu perdu car c'est assez spécial comme langage mais sinon tout était clair !
Super vraiment trop bien mais tu "speed", j'ai pas encore digérer la vidéo précédente ;-).
Super vos vidéos m'aident beaucoup ! Je cherche a faire communiquer plusieurs Esp ensemble. Un Esp en point d'accès et plusieurs esp client qui lui envoi des variables. Le tout rassembler et visible sur une page web. J'arrive a envoyer une requête depuis un Esp client mais je ne comprends pas comment lui attribuer des variables. Avez vous des conseils ? Merci en tous cas
Merci beaucoup pour ton partage !
J'ai suivi ton tutoriel tout fonctionne bien!!par contre j'aurais aimé me connecté en passant par wifimanager pour connecter la carte au réseau mais ça ne fonctionne pas. C'est comme si le serveur de wifimanager est démarrée mais ne démarre pas celui de ce tutoriel. Si tu as des idées je suis preneur. Merci!!! Continue tes vidéos il son super
bonjour merci vraiment pour cette vidéos c'est trop géniale, mais ma questions est la suivante , j'aimerais envoyer les données d'un sp32 vers un serveur pour enfin les stoker dans ma bdd donc en gros faire un post de mon sp32 ver un site internet ! un site lointain ou celui héberger en local dans un serveur ! pas le serveur Sp32 mais un serveur c'est truc de localhost...
si vous pouvez me répondre ça me fera énormément du bien !
comment ecrire une requête post avec un parametre sans utiliser Jquery ?
j'ai un problème avec le SPIFFS il me met une erreur" error: can't read source directory
*** [.pio\build\esp32doit-devkit-v1\spiffs.bin] Error 1
===================================================== [FAILED] Took 0.93 seconds =====================================================The terminal process "C:\Users\alban\.platformio\penv\Scripts\platformio.exe 'run', '--target', 'uploadfs'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it. "
Quelqu'un pourrait m'aider j'arrive pas à utiliser le SPIFFS pour infos je suis sur esp32 merci d'avance.
Perso je ne vois pas l'intéret de jquerry par rapport à du js natif (au moins dans le cadre des requettes ajax)
blog.garstasio.com/you-dont-need-jquery/ajax/
Hello Tommy, depuis quelques semaines, sur des projets simples, après "Build" and "Upload" with "success" , lorsque je lance le monitor, des séries de ? apparaissent sur fond de losange blanc...illisible! C'est la même board que toi, quelle est la raison de cet affichage? D'autres personnes ont elles le même problème? Merci pour toutes les réponses qui me permettront de débloquer la situation.
As-tu bien ajouté le paramètre monitor_speed 115200 dans le fichier platformio.ini ?
Tommy Desrochers Hello, oui, le paramètre est bien ajouté. Je vais « bosser « un peu plus ce nouveau logiciel.Je te remercie de m’avoir accordé du temps.Merci pour tes vidéos et bon courage pour la suite!
Salut, est-il possible de mettre la partie web et java sur une carte mémoire avec plus d'options (exp: image ou son). Si oui comment faire et merci
Je crois que ce serait intéressant de tester sur une carte SD. Des adaptateurs sont disponibles pour les ESP, je vais m'en procurer un.
Top 👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍👍
As tu bien reçu les fichiers stl ?
Si oui top cool
Suite à tes vidéos je voudrais me lancer mais quand je regarde pour acheter un ESP32 il y a tout un tas de références. Y a t’il des différences entre les modèles d’ESP32 en vente ? Par simplicité en ce moment je commanderais sur Amazon mais quel modèle ??? Merci
Il y a effectivement beaucoup de modèles, certains ajoutent certaines fonctionnalités, mais beaucoup sont simplement similaires les uns aux autres. Voici un modèle qui est pratiquement comme le mien: amzn.to/2Uv6edm
@@TD72PRO dommage a 1h près je prenais ton lien. La commande est faite (livraison dans 3 jours) et j'attends avec impatiente la suite de tes épisodes. Merci à toi !!
SPIFFS est maintenant obsolete .... Comme tout ce met a jour automatiquement sur platformIO .... je ne suis plus capable d'exécuter SPIFFS sur mon esp-0....iL me faut m'orrienter vers la librairie LittleFS ... et la ca fonctionne de nouveau.
On ne fait que remplacer SPIFFS par LittleFS dans le code
on ajoute board_build.filesystem = littlefs sous monitor-speed = 115200
et le tour est joué pour ce qui est de platformIO... pour arduino IDE.... rechercher Arduino with LittleFS
en ce dimanche soir pluvieux au Québec j'ai décidé de bretter un peu du C avec PlatformIO
Pourquoi ? je suis un peu bucké ( sur les principes ) avec c/c++
// fichier à inclure
#include
int main()
{
mon code
return 0;
}
donc normalement cela se passe ainsi
inclusion des entêtes
programme pricipale
fin du programme par return 0;
voici un exemple simple exécutable seulement sur PlatformIO ...
#include
int main(){ // setup()
// put your setup code here, to run once:
Serial.begin(115200);
while(!Serial){}
const int pin = LED_BUILTIN; ;
pinMode(pin,OUTPUT);
digitalWrite(pin,LOW);
while(true) // loop()
{
Serial.println ("Low");
delay(1000);
digitalWrite(pin,HIGH);
Serial.println("high");
delay(1000);
digitalWrite(pin,LOW);
}
}
sauf que ca fonctionné juste une journée... ;0(
Félicitations pour ces tutos super efficaces !
Malheureusement je bute encore sur un problème avec la bibliothèque jquery.
La console du navigateur me donne le message suivant : Échec du chargement pour l’élément dont la source est « 192.168.0.26/jquery-3.4.1.min.js ».
alors que le fichier est bien listé comme présent sur le SPIFFS.
Je n'ai pas ce problème lorsque je vais chercher la bibliothèque sur le net avec cette instruction :
Une idée ?
Bonjour BOB
Attention , des mises à jours sont faites régulièrement. j'ai la version 3.5.1 jquery
le fichier telecharger et nommé comme cela: jquery-3.5.1.min.js
j'ai ceci dans le main.cpp
server.on("/jquery-3.5.1.min.js", HTTP_GET, [](AsyncWebServerRequest *request)
Et dans le head du HTML
ceci
Je me suis fait aussi avoir.
perso, en 2020, je recommande de ne plus utiliser jquery. le js native fait très bien le travail. (et il n'y plus vraiment de problème de compatibliter entre les navigateur)
pour faire de l'ajax utiliser api fetch (developer.mozilla.org/fr/docs/Web/API/Fetch_API/Using_Fetch)
quand à accéder au paramètre du formulaire j'utilise API formData (developer.mozilla.org/fr/docs/Web/API/FormData)
quand à l'action je détourne l'action submit, (le js désactive l'action par défaut et fait ce que je lui demande)
12:24 : guillmet et pas guillEmet???!!!
J'adore ton travail et j'essaie de reproduire ce que tu fait mais malheureusement j ai rencontré un problèmes que j ai mentionné dans les commentaires de la dernière video ! C'est que j ai eu du mal a inclure la bibliothèque SPIFFS. h je vous en supplie de m aidez ❤️ j'utilise platformio merci beaucoup pour votre efforts
Sur ESP32 ou ESP8266? Avec ESP8266 il faut inclure la bibliothèque FS.h.
Salut
Merci beaucoup.
Par contre la dernière version de jquery est la 3.5.0.
Le programme ne fonctionne pas avec cette version.
(j'ai utilisé la 3.5.0 et ça marche pas)
Par contre jquery-3.4.1 c'est ok.
lien pour la 3.4.1:
code.jquery.com/jquery-3.4.1.min.js
hola ! Cela fonctionne avec jquery-3.5.1.min.js , il suffit de remplacer les occurences 3.4.1 par 3.5.1
Super les vidéos, très bon tuto !
J'adore l'ESP32, j'ai un Node32s (Aiyarafun)
Un autre tuto sur les "Range Sliders" ?
www.w3schools.com/howto/howto_js_rangeslider.asp
Je bloque pour recuperer la variable dans le main.cpp
Bonne continuation...Merci
Bonjour,
J'ai fait une adaptation de code de Tommy pour un projet de variation de vitesse moteur avec une broche PWM (0-1023)
index.html:
CONTROLE DE LA VITESSE
Vitesse: Km/h
scripts:
$(document).ready(function(){
$("#vpwm").change(function(){ //#vpwm c'est l'id (identifiant du range)
var valeur = $("#vpwm").val();
$.post("DP",{ // 192.168.0.100/DP par exemple si /AUTRECHOSE
valpwm: valeur
});
});
});
main.cpp
server.on("/DP", HTTP_POST, [](AsyncWebServerRequest *request) { // /DP du script ou /AUTRECHOSE
if(request->hasParam("valpwm", true))
{
String message;
message = request->getParam("valpwm", true)->value();
Delaypwm = message.toInt(); // Delaypwm : variable exploitable dans le main.cpp comme ceci par exemple analogWrite(led1, Delaypwm);
Serial.println(Delaypwm);
}
Voila
Bon codage.
First
Je ne sais pas comment te remercier pour tout ce travail (Si j'ai une petite idéé en fait 😁 ). J'ai reussis a faire mon serveur Web sur esp32 en mode Station en moins de 5h. Et vu mon niveau de débutant je trouve que c'est un exploit.ruclips.net/user/sgaming/emoji/7ff574f2/emoji_u1f601.png