Dans le précédent article, je présentais un petit bout de code pour faire clignoter une led sur le board. Simple mais pas plus efficace que sur une arduino nano.
Maintenant tâchons d'exploiter pleinement l'intérêt de cet appareil : le Wifi !
Jusque la il fallait pas mal bricoler pour obtenir un objet connecté, en général fallait rajouter un shield ou un modume ethernet ou wifi. Fini tout ca, avec l'ESP12 E Dev kit on a une puce ESP8266 pour le wifi sur un board équivalent à l'arduino nano en un peu plus gros.
Nous allons voir ici comment créer un simple serveur web qui répondra à deux boutons web pour actionner deux leds sur le board.
Nous allons avoir besoin d'un petit outil LuaLoader qui permet de gérer les scripts que l'on balance sur l'ESP.
On va lui uploader 3 fichiers :
- main.lua (code principal)
- webserver.lua (code concernant le serveur web)
- header.htm (page web envoyé au client)
Pour obtenir ces fichiers, voici le repo git : https://github.com/couscousbzh/ESP8266-Proto1
Petite explication :
main.lua va charger le fichier webserver.lua. J'aurais pu tout mettre dans un seul fichier mais vous allez vite vous rendre compte qu'uploader un fichier prends du temps. Donc autant bien répartir son code.
header.htm contient du code HTML CSS et JS. Il est incomplet volontairement. La fin du code est géré par webserver.lua pour rendre dynamique les boutons (état on et off).
Il faut charger ces 3 fichiers sur l'ESP avec LuaLoader. Ensuite il faut faire un dofile sur main.lua. L'application va alors démarrer et votre serveur devrait être opérationnel.
Connectez vous sur le réseau wifi (il s'appelle "DoitWifi" et le mot de passe est "12345678"). Ensuite charger une page web sur un browser avec l'url suivante : http://192.168.2.111.
Si tout ce passe bien, vous obtenez une page web très simple avec deux boutons. Cliquez dessus et admirez le résultat sur l'ESP12e, les leds s'allument sur ordre des boutons web !