Où sommes nous ?

Retour

Les modèles d'ESP8266

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++.

Caractéristiques de l'ESP8266

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 NodeMCU

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 :

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 :

En résumé

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.

ESP-01

A voir

Comment le programmer

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.

résumé

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.

ESP-201

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.

Ces détails qui n'en font pas le modèle parfait

Attention, la LED interne est branchée sur le GPIO01 : il serait donc impossible d'utiliser à la fois cette LED et le Serial.

La programmation

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 :
La liste de nos voyages
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 Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.