Bonjour à tous,
Ne me dite pas que vous n’ayez jamais entendu parlé de ce composant qui fait déjà « pas mal de bruit dans le Landerneau » du DIY et de ce qui gravite autour !
A la base, l’ESP8266 est un simple module WIFI destiné à étendre les possibilités de cartes à microcontrôleurs comme les Arduino et d’établir avec elles des connections WIFI en TCP/IP. Mais l’ESP8266 disposant lui-même de son propre microcontrôleur, il est vite apparu à une petite communauté que l’on pourrait se dispenser de la carte « maitresse » pour peu que l’on dispose de l’environnement logiciel pour sa programmation.
C’est ce à quoi va rapidement « s’atteler » son fabriquant chinois, ESPRESSIF en proposant (entre autres) une solution en C/C++ au travers de l’IDE Arduino ; de l’Arduino sans Arduino ! Vous pouvez en effet comparer l’ESP8266 à un Arduino Mini ou Nano qui serait doté de la WIFI. Avec des performances pourtant supérieures :
Fréquence 80MHz pour l’ESP8266 contre 16MHz pour un Arduino UNO R3,
Flash Memory 4MB pour l’ESP8266 contre 32Kb (sic) pour un Arduino UNO R3.
L’ESP ne dispose pas par contre d’EEPROM ce qui nécessite d’utiliser la Flash Memory mais on voit bien qu’avec 4MB ce n’est pas un problème.
Mais ne nous y trompons pas tout de même. Si tout a été fait pour que la programmation soit aussi proche que possible de celle d’un Arduino, parfaitement intégrée dans l’IDE, utilisant même le langage spécifique de l’Arduino comme « digitalWrite » ou « analogRead », l’ESP n’est pas un Arduino. Les processeurs tout d’abord sont différents : ATmega pour la plupart des Arduino contre ESP8266.
Cependant, j’ai fait quelques tests de comparaisons sur digitalWrite justement. L’ESP donne une vitesse d’exécution environ 1,5 fois supérieure à un UNO !!! Et à mon grand étonnement, l’utilisation des routines de bas niveau spécifiques à l’ESP : (GPIO_REG_WRITE(GPIO_OUT_W1TS_ADDRESS, 1 << outPin) comparables aux manipulations de ports sur Arduino (PORTD = b10101000) n’apporte pas de gains significatifs en vitesse (+7 à 8%). Mais il ne s’agit que de tests théoriques portants sur des point très spécifiques. Il faudrait comparer si c’est possible l’exécution d’un programme bien réel.
Alors l’ESP, est-il de l’Arduino sans Arduino et mieux que l’Arduino ? Il faudra aviser selon ce que l’on souhaitera réaliser. Arduino vient de sortir un UNO en WiFi, mais il est certain que lorsque le gain de place est recherché, un ESP est plus facile à embarquer qu’un UNO. Et nous ne devrions pas attendre longtemps je pense pour voir apparaître des Nano ou autres Mini en WiFi chez Arduino.
Quoiqu’il en soit, l’ESP a de nombreux atouts et peut apporter beaucoup à la richesse et aux fonctionnalités des projets de modélisme ferroviaire.
Je suis personnellement en train de terminer une réalisation de pont tournant automatisé sur la base d’un FLEISCHMANN 6152 en HO et aucune autre solution Arduino embarquée n’était envisageable. Vous trouverez rapide aperçu ici et pourrez vous rendre compte du degré de miniaturisation :
Nous sommes assez nombreux à avoir initialisé des projets à base d’ESP. Encore plus nombreux sans doute sont ceux qui voudraient mais ne le connaissent pas bien. On peut penser que l’ESP ne sert qu’à faire des serveurs internet, ce qui est largement faux. Quoique, cela peut-être bien utile si l’on souhaite développer une application riche et pilotable à distance via un ordinateur, une tablette ou un smartphone.
Voilà, j’ai souhaité ouvrir ce nouveau fil pour que vous puissiez poser toutes vos questions et que la communauté Locoduino puisse partager une expertise déjà importante semble t’il sur le sujet.
Bien amicalement.
Christophe