J'ai acquis il y a quelques temps le module ESP8266 chez HackSpark (www.hackspark.fr) pour 10€. On en trouve maintenant assez facilement à 5€ sur d'autres sites car ce module est en train de provoquer un vrai chamboulement dans le monde des micro-contrôleurs. Ce module est normalement prévu pour être associé à un micro-contrôleur, mais il a l'avantage d'être en lui même un micro-contrôleur assez simple. Il peut être utilisé pour point d'accès Wifi ou comment client Wifi rattaché à un routeur par exemple et peut recevoir des commandes AT pour initialiser le mode souhaité.
L'utilisation que j'ai choisi d'en faire est une utilisation "standalone", c'est à dire en fonctionnement seul, non rattaché à un micro-contrôleur. Pour cela, il faut absolument disposer d'un adaptateur USB/Série 3,3V. N'utilisez surtout pas de port 5V qui risquerait d'endommager définitivement le module. Cet adaptateur servira à la fois à flasher le nouveau firmware et à passer des commandes. J'ai choisi d'installer le firmware NodeLua qui permet de passer des commandes dans un langage évolué Lua directement à l'ESP.
Préparation pour l'installation d'un nouveau firmware
Avant d'installer le nouveau firmware, préparez toutes les connections avec un maximum de minutie sous peine de griller définitivement le module.
Si vous avez une version récente du module, le schéma est probablement le suivant.
1. Pour simplifier le travail, j'ai ensuite confectionné un câble femelle/mâle de type nappe IDE avec un connecteur IDC femelle 2x5 (seules 4 seront utilisées) et un connecteur IDC pour un breakout board 2x5. Les deux connecteurs sont auto-perforants, ce qui fait qu'il n'est pas nécessaire de disposer d'une pince à sertir.
2. Utilisez 4 câbles femelles/mâles pour brancher l’adaptateur usb/série sur la planche d'essai.
3. Connectez l'adaptateur à la place en respectant le schéma suivant (réalisé avec http://www.robotgear.com.au/Hosted/PEBBLE/Current/PEBBLE/PEBBLE%20for%20FF.html). Dans le schéma suivant, le port GPIO0 est connecté à la masse, ce qui met le module en mode Flash. Il doit être déconnecté pour un démarrage normal. La LED sur le port GPIO2 ne sert que pour des tests pour le moment.
3. Branchez l'adaptateur USB sur le PC et vérifiez que les leds s'allument correctement. S'il n'y a pas de fumée, c'est déjà bon signe. Vérifiez cependant plusieurs fois la connectique afin d'être sûr de ne pas vous tromper. ATTENTION : en fonction de votre adaptateur, il peut être nécessaire de connecter le TX au RX et inversement.
4. Installez les drivers, si ce n'est pas déjà fait.
Installation d'un nouveau firmware
L'installation d'un nouveau firmware se fait à l'aide de l'outil ESP8266Flasher qui peut être téléchargé à l'adresse suivante : https://github.com/nodemcu/nodemcu-flasher. Choisissez ensuite la version 32 ou 64 bits.Le firmware Nodemcu Lua qui nous intéresse est télécharger à l'adresse https://github.com/nodemcu/nodemcu-firmware/tree/master/pre_build/latest.
1. Connectez l'adapteur USB/Série au PC.
2. Sélectionnez le port série de votre adaptateur.
3. Cliquez sur le menu "Config" et sélectionnez le firmware à charger.
4. Dé-sélectionnez les fichiers commençant par INTERNAL et ne gardez que le fichier nodemcu_latest. 5. Revenez sur le menu "Operation" et cliquez sur le bouton Flash. Si votre module est correctement raccordé, vous verrez un QR Code et l'adresse MAC du point d'accès.
6. Laissez l'opération se terminer correctement et ne débranchez surtout pas votre module jusqu'à la fin. L'opération complète prend environ 2 minutes.
Premiers tests sous Lua
Une fois le firmware nodemcu Lua chargé, vous pouvez commencer à exécuter vos premiers programmes. Pour cela, débranchez votre module et débranchez le câble de connexion du GPIO0 pour sortir du mode flash. Rebranchez la connexion série pour retrouver le mode console.
Vous pouvez vous connecter directement sur la console série avec Putty ou tout autre logiciel série. La vitesse par défaut est de 9600, ce qui est suffisant pour des commandes saisies à la main, mais plutôt lent pour des transferts de fichiers.
Un autre outil graphique LuaLoader simplifie grandement la connexion au module. Il peut être téléchargé sur http://benlo.com/esp8266/ . Le logiciel est en anglais mais très simple d'utilisation. Une fois téléchargé et dézippé (aucune installation n'est nécessaire), connectez vous au port série. Par défaut, seuls les port COM2 et COM4 sont listés. Si votre adaptateur utilise un autre port, lancez LuaLoader en mode Administrateur pour obtenir la liste de tous les ports. Une fois connecté, vous verrez le signal ">".
Pour un premier test, commencez par récupérer le ChipId. La commande exécutée s'affiche sur l'écran de gauche. Essayez ensuite de renseigner le SSID et le mot de passe Wifi. La connexion est assez rapide et vous pouvez afficher l'adresse IP.
Pour positionner GPIO0 à 0 ou à 1, sélectionnez le port dans GPIO, puis appuyez sur le bouton "Set". Cliquez ensuite sur 0 ou 1 pour changer l'état.
Conclusion
Le module ESP8266 permet de disposer pour un prix modique d'un micro-contrôleur et d'une interface Wifi. Il dispose d'assez peu de mémoire, donc il ne faut pas lui en demander trop, mais le portage de Lua sur ce module ouvre des portes assez inattendues. De nouvelles versions avez 2 Mo de mémoire Flash est disponible chez Olimex et une version au format XBee est également disponible chez IteadStudio. Un forum est disponible à l'adresse http://www.esp8266.com.
Une utilisation assez simple permet de la piloter directement depuis un PC en ligne de commande ou depuis une application Java, la logique étant codée en Java et en n'envoyant que les commandes de base, un peu comme le fait Firmata par exemple.
A suivre.
Commentaires
Enregistrer un commentaire