L'ESP8266 à d'abord été vendu comme adaptateur WiFi à bas coût : mais disposant d'une mémoire relativement conséquente et de GPIOs, le tout pour quelques €uros, il est rapidement devenu la solution de choix pour faire des automatismes distants à la mode DIY.
L'original ne permettait de se faire commander que par des commandes AT à l'instar des modems RTC (oui oui, les trucs qui faisaient un boucan d'enfer et permettait de se connecter lentement à l'Internet avant la généralisation de l'ADSL et de la fibre) ; rapidement de nouveaux firmewares sont apparus permettant de programmer l'ESP in situ en Lua, Python, Javascript ou en natif avec un compilateur déporté C++.
On trouvera les caractéristiques techniques du CPU sur Wikipedia et les cartes elles-mêmes sont déclinées en plusieurs modèles.
On remarquera immédiatement que les ESP fonctionnent en 3,3 volts, que ce soit pour leur alimentation que pour les GPIOs.
Le vocable "NodeMCU" correspond à la fois à une carte que nous allons décrire ci-dessous, mais aussi d'un firmware qui permet de programmer le module en Lua.
L'ESP-8266-12E "NodeMCU" est le modèle idéal pour débuter avec l'ESP : il dispose d'un port micro-USB qui permet non seulement de l'alimenter en 5 volts mais aussi de le programmer sans avoir besoin de forcer quel PIN que ce soit.
Le NodeMCU peut être alimenté de plusieurs façons :
Par le port USB comme indiqué ci-dessus : cette tension est exposée aussi par la broche VU
Par les différentes broches 3v : dans ce cas, l'ESP est alimenté en directe, il n'y a plus de régulation ce qui offre donc la consommation minimum.
Par la broche Vin, qui supporte jusqu'à 20 volts et arrive directement au régulateur.
Sur le NodeMCU v1.0, il semblerait possible d'avoir à la fois Vin et Vu de connecté : ayant un v0.1, je n'ai pas testé (oui, je sais, je suis faible parfois).
(Une page qui explique tout ça).
Attention, les GPIOs restent en 3,3 volts.
On notera aussi la présence de 2 petits boutons poussoirs :
Il y a plusieurs révision du NodeMCU : pour ma v0.1, une LED connectée au GPIO 2 et se trouve sur le module ESP lui-même. Pour d'autres, elles sera sur le port 15. Enfin, certains modèles en disposent d'une seconde sur la carte additionnelle.
Il dispose aussi d'une entrée analogique, aussi appelée ADC. La conversion se fait sur 10 bits, donc une valeur de 0 à 1023 et la valeur maximum correspond à une entrée de 1 Volt.
Il a cependant 2 inconvénients :
Par sa facilité de programmation, de débugage et par le fait qu'il ne nécessite qu'une alimentation microUSB classique (qui peut être le port USB de votre PC), c'est définitivement le modèle idéal pour faire du prototypage.
Son grand nombre de GPIOs et à nouveau le fait qu'une simple alimentation USB 5V lui est suffisant en fait aussi un modèle de choix pour les projets déportés devenant complexes ... pour peu que la portée de son antenne interne ne soit pas un obstacle.
L'ESP8266-01 est la version minimal de l'ESP restant utilisable (il y a l'ESP-05 encore plus minimal, mais à moins de faire de la charcuterie, il sera difficile de sortir du firmware livré par défaut).
L'alimentation se fait en 3,3 volts et ne dispose que de 2 GPIOs "utilisateur" en plus de la console série (dont les 2 pattes peuvent être aussi convertis en GPIO après programmation). Les 4 pattes restantes sont réservées à la programmation ainsi qu'évidemment à l'alimentation.
Ça fait certes peu, mais ces GPIOs peuvent être programmer pour une communication I2C ou 1-Wire ce qui ouvre quand même de belles perspectives.
Le fait que ses pins sont positionnées sur 2 rangées ce qui rend de fait son mariage avec breadboard difficile et comme, de plus, il doit être alimenté en 3,3volts et ne dispose pas d'USB ... ce n'est pas un modèle adapté au prototypage.
Par contre, il sera idéal pour un relais WiFi ou un petit objet IoT déporté ... On trouvera pleins d'exemples sur le net où un téléphone contrôle qui une LED, qui un relai.
L'ESP-201 est à mi-chemin entre le NodeMCU et l'ESP-01.
D'après les specs, la flash ne devrait être que de 512Kb ; sur mes modèles, elle est de 1Mb (toujours vérifier la configuration réelle gràce au croquis get-esp8266-info.ino comme nous l'avions déjà fait).
Un joli récapitulatif des signaux du 201, emprunté ici.
Et cerise sur le gâteau, ce modèle propose à la fois une antenne intégrée au PCB ou externe. Celle fournie a beau faire "pas cher", elle remplit bien son rôle à l'usage et permet une portée améliorée. DU TOUT BON !
Par défaut, c'est l'externe qui est utilisée ; pour sélectionné l'interne, il faut jouer du fer à souder et déplacer une résistance comme indiqué ci-dessus. Mouai, dans ce cas, peut-être devrait-on privilégier un autre modèle.
Attention, la LED interne est branchée sur le GPIO01 : il serait donc impossible d'utiliser à la fois cette LED et le Serial.
Le plus simple est encore d'acheter un adaptateur USB -> Serie "FTDI" : une fois le bon driver installé (ça sera le cas avec la majorité des kernel des distributions "grand public"), il sera détecté comme un TTY supplémentaire et donc utilisable sans autre bidouille dans l'IDE Ardunio.
Comme on peut le voir sur la photo, l'ESP n'est pas connecté au 5v du FTDI : les ports USB ne délivrent généralement pas assez d'intensité et ça se termine souvent par des crash de l'ESP.
Visitez : Nos sorties Ski et rando |
Copyright Laurent Faillie
2001-2024
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso. |
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution. |
Visites durant les 7 derniers jours au total. |
Vous pouvez
laissez un commentaire
sur cette page.