Dans cet article, nous allons voir comment passer du mode AP (Access Point) utilisé dans l'article précédent, en mode station, c'est à dire en client simple, comme votre smartphone ou pc portable.
Le ESP 12e dev kit est livré avec le firmware NodeMCU. NodeMCU est une plateforme Iot open source qui permet l'utilisation du langage de script Lua.Etant un peu débutant, je préfère que vous alliez vous même lire les définitions officielles de toutes ces notions.
Lua va vous permettre d'écrire facilement du code pour faire fonctionner votre ESP. Il est basé sur le langage C. Pensez à gérer votre mémoire.
Il faut savoir que l'ESP boot sur un fichier : init.lua. L'extension .lua signifie que le fichier n'est pas compilé. L'extension .lc indique que le fichier est compilé. LuaLoader vous permet de compiler les fichiers que vous souhaitez. Mais j'ai remarqué que beaucoup de code init.lua se charge de compiler le code au démarrage, puis efface tous les fichiers Lua. Cela permet de garder un peu de mémoire. Mon fichier init.lua fait ceci puis exectue main.lc (la version compilée de main.lua).
Voici les fichiers sur le repo git : https://github.com/couscousbzh/ESP8266-Proto2
- init.lua (ajouté)
- webserver.lua (inchangé)
- header.htm (inchangé)
- main.lua (modifié)
Les modifications se trouvent dans le fichier main.lua. La premiere est simple, au lieu de charger webserver.lua je charge la version compilée webserver.lc (car je rappelle que les .lua seront effacés par le init.lua, lui meme compilé en .lc et effacé ensuite)
La deuxième modification concerne le mode station/ap. Pour switcher il suffit de modifier la variable local modeStation = true/false. Il faudra aussi renseigner le SSID de votre box wifi et sa clé.
Dans le proto 1, le mode était AP (Access Point), c'est à dire que votre ESP se comporte comme votre box wifi maison et va gérer son propre réseau (192.168.2.x). Il faudra alors changer de wifi et passer sur le wifi de l'ESP.
Je préfère rester sur le même réseau wifi que celui de ma box, car je suis fainéant et je ne souhaite pas modifier mon wifi à chaque fois que je veux utiliser l'ESP. Donc je dois passer le mode en station.
Le code prévoit 5 tentatives de connexion, cela peut prendre quelques secondes. Ensuite votre box wifi va attribuer une adresse IP à votre ESP (si la box est configurée avec un server DHCP, ce qui doit être le cas par défaut). Normalement vous pouvez lire l'IP s'afficher sur LuaLoader apres un reboot. Vous pouvez vous connecter dessus depuis votre browser préféré.
A plus qu'à !