- Qu'est-ce que l'ESP8266?
- Bases de la théorie WiFi:
- Types de programmation avec ESP8266:
- Matériel pour programmer le module ESP8266:
- Matériaux nécessaires:
- Explication du circuit:
- Panneau de construction pour programmer ESP8266:
L'Internet des objets et la domotique a vraiment été un sujet à la mode ces derniers jours. Construire quelque chose par nous-mêmes qui peut communiquer avec le World Wide Web et accessible de n'importe où dans le monde, cela semble vraiment cool, n'est-ce pas?
Mais attendez!!! Cela semble aussi compliqué ???….
Alors je l'ai fait pour moi, j'ai pensé qu'il faudrait énormément de temps et de compétences pour créer des choses qui peuvent interagir avec Internet. NON, je me trompais complètement, grâce à ce fantastique module appelé ESP8266 d'Espressif Systems. Maintenant, vous pouvez facilement ouvrir vos portes pour les projets IoT à l'aide de ce module. Ce module peu coûteux et de petite taille pourrait faire des merveilles et est vraiment simple et facile à utiliser, à condition de suivre les bonnes étapes.
Ce tutoriel a pour but de vous présenter ce module ESP8266-01 et de vous aider à démarrer avec lui. Peut-être avez-vous déjà apporté votre module et vous êtes resté bloqué en essayant de l'utiliser. Ensuite, vous n'êtes pas seul, ne vous inquiétez pas, beaucoup de gens trouvent qu'il est très difficile de démarrer avec le module car il n'y a pas de conseils ou de documentation appropriés pour ce module. C'est la raison pour laquelle ce tutoriel est réalisé. Suivez les instructions ici et vous devriez être en mesure de faire fonctionner votre module ESP8266-01 en un rien de temps, ici nous utiliserons le module adaptateur série FTDI USB vers TTL pour programmer l'ESP8266. Consultez la vidéo détaillée à la fin du didacticiel.
Avant d'entrer dans le sujet, couvrons quelques notions de base sur le module ESP8266-01.
Qu'est-ce que l'ESP8266?
La plupart des gens appellent ESP8266 comme module WIFI, mais il s'agit en fait d'un microcontrôleur. ESP8266 est le nom du microcontrôleur développé par Espressif Systems, une société basée à Shanghai. Ce microcontrôleur a la capacité d'effectuer des activités liées au WIFI, il est donc largement utilisé comme module WIFI.
Il existe de nombreux types de modules ESP8266 disponibles, allant de l'ESP8266-01 à l'ESP8266-12. Celui que nous utilisons dans le tutoriel est l'ESP8266-01 car c'est le moins cher et facilement disponible. Cependant tous les modules ESP n'ont qu'un seul type de processeur ESP, ce qui ne diffère que du type de barde d'évasion utilisé. La carte de dérivation de l'ESP8266-01 n'aura que 2 broches GPIO alors que dans d'autres cartes, elle sera plus haute.
La spécification complète du module est donnée dans le tableau ci-dessous
Tension |
3,3 V |
Consommation de courant |
10uA-170mA |
Consommation de courant maximale pendant le clignotement |
800 mA |
Mémoire flash |
16 Mo (512 Ko normal) |
Processeur |
Tensilica L106 32 bits |
La vitesse du processeur |
80 à 160 MHz |
RAM |
32 000 + 80 000 |
GPIO |
17 (mais la plupart sont multiplexés) |
Convertisseur analogique-numérique |
1 (10 bits) |
Connexions TCP maximales |
5 |
OK, certaines choses qui auraient pu vous surprendre à propos de la spécification sont que, OUI, le module ESP8266 est livré avec un convertisseur ADC et il consomme un courant très élevé de 0,8 A pendant le clignotement de votre appareil.
Consultez également nos divers projets IoT intéressants basés sur ESP8266.
Bases de la théorie WiFi:
Transfer Control Protocol (TCP), Internet Protocol (IP), User Datagram Protocol (UDP), Access Point (AP), Station (Sta), Service Set Identifier (SSID), Application Programming Interface (API), Webserver…..
Tous les termes ci-dessus ont-ils un sens pour vous?
Si oui. Ensuite, BINGO vous pouvez sauter cette partie et passer à la section suivante.
Sinon. Ensuite, vous devez faire partie des nombreux étudiants en électricité qui ont juste passé en revue la plupart de ces termes, comme je l'ai fait lorsque j'ai été initié à toutes ces choses. Alors, passons rapidement en revue tous ces termes car ce n'est qu'alors que nous pourrons faire notre entrée dans le monde de l'IOT.
Protocole de contrôle de transfert (TCP):
La plupart d'entre nous sauraient ce que cela signifie. Oui, ce sont l'ensemble des règles basées sur le fonctionnement d'Internet. Depuis ESP8266 a la possibilité de configurer des connexions WIFI. À un haut niveau, le Wi-Fi est la possibilité de participer aux connexions TCP / IP via une liaison sans fil. Vous pouvez faire fonctionner votre ESP sur le protocole TCP / IP ou le protocole UDP.
Protocole de datagramme utilisateur (UDP):
UDP est également un autre type de protocole Internet. Ce type de communication est plus rapide que TCP mais il est moins précis. La raison en est que TCP utilise un accusé de réception pendant sa communication, mais pas UDP. TCP est principalement utilisé dans les réseaux où il existe une exigence de fiabilité élevée. UDP est utilisé dans les endroits où la vitesse a une priorité élevée sur la fiabilité. Par exemple UDP est utilisé en visioconférence, car là même si certains pixels ne sont pas transmis, cela n'affectera pas beaucoup la qualité vidéo mais la vitesse est très importante.
La plupart des projets et codes ESP8266 fonctionnent autour du TCP / IP, UDP sera le moins dérangé.
Point d'accès (AP) et station (STA):
Une fois que vous commencez à travailler avec le module ESP, vous rencontrez fréquemment ces deux termes. Disons que vous et votre ami souhaitez surfer sur Internet sur vos téléphones intelligents, mais comme il ne dispose pas d'une connexion Internet active, vous décidez d'activer votre hotspot et votre ami s'y connecte. Ici, votre téléphone qui fournit la connexion Internet est le point d'accès (AP) et le téléphone de votre ami qui utilise Internet est appelé la station (STA).
Le module ESP8266 peut être utilisé en trois modes, mode AP, mode STA ou en mode STA et AP (combiné).
Identificateur de l'ensemble de services (SSID):
C'est un terme assez simple. Presque tous ont utilisé le WIFI. Le nom du réseau Wi-Fi est appelé son SSID. Lorsque nous avons plusieurs points d'accès auxquels une station doit se connecter, la station doit savoir à quel point d'accès elle doit se connecter, par conséquent, chaque point d'accès (AP) reçoit une identité appelée SSID.
Interface de programmation d'application (API):
Pour faire simple, une API est un messager qui prend en charge vos demandes, les traite et renvoie à votre système le résultat souhaité. La plupart des activités que nous effectuons sur Internet utilisent des API, comme lorsque vous réservez un vol, effectuez un achat en ligne, etc. Tous les sites Web vous relient à une API où une partie du travail comme l'inscription, le paiement, etc. est effectuée pour vous Là.
ESP8266 utilise l'API pour parler au monde d'Internet. Par exemple, s'il veut connaître l'heure, le climat ou tout ce qu'il devrait demander sous la forme d'une API au site Web correspondant. Ce site Web recevra la demande et rendra le résultat souhaité à notre module ESP.
Serveur Web:
Un serveur Web est quelque chose qui est chargé d'afficher le contenu d'un site Web. Tout le contenu de ce site Web particulier sera chargé dans son serveur Web. Il existe des ordinateurs dédiés dont le travail consiste à n'agir qu'en tant que serveur Web. Nous pouvons également programmer notre ESP8266 pour qu'il fonctionne comme un serveur Web et s'y connecter de n'importe où dans le monde.
D'accord, cela nous suffit pour commencer. Maintenant, mettons la main sur le matériel.
Types de programmation avec ESP8266:
Il existe deux manières de travailler avec votre module ESP8266. Ce tutoriel vous aidera à démarrer avec les deux. Une façon consiste à utiliser les commandes AT. L'autre moyen consiste à utiliser l'IDE Arduino. Comprenons ce que cela signifie.
Tous les modules ESP8266 expédiés de l'usine auront un firmware par défaut (SDK + API) chargé dedans. Ce firmware vous aidera à programmer le module ESP8266 via des commandes AT.
L'autre façon consiste à programmer directement le module ESP8266 en utilisant l'IDE Arduino (carte non nécessaire) et ses bibliothèques. Tous les projets peuvent être réalisés dans les deux méthodes. Mais, si vous commencez à utiliser l'IDE Arduino pour programmer votre ESP8266, vous ne pourrez peut-être pas utiliser les commandes AT car le SDK par défaut a peut-être été corrompu. Dans ce cas, vous devez flasher votre ESP avec les paramètres par défaut. Nous aborderons cela dans un autre tutoriel.
Matériel pour programmer le module ESP8266:
ESP8266 est un module à 8 terminaux. La broche de la même est indiquée ci-dessous.
Malheureusement, ce module n'est pas compatible avec la maquette et nous ne pouvons donc pas le monter directement sur notre maquette. Aussi contrairement Arduino il ne dispose pas d' une interface USB intégrée au pilote de série; par conséquent, nous devons utiliser le «module adaptateur série FTDI USB vers TTL» pour communiquer avec lui. Assurez-vous que la carte FTDI peut également fonctionner sur 3,3 V; celui que nous utilisons dans ce didacticiel est illustré ci-dessous.
Maintenant, comme nous le savons, nous devons alimenter l'ESP8266 avec 3,3V. Mais la consommation de courant est de 0,8 A, il peut donc ne pas fonctionner comme prévu s'il est alimenté par notre carte de dérivation FTDI. Par conséquent, nous devons construire notre propre circuit d'alimentation. Ici, nous avons utilisé LM317 à des fins d'alimentation; les détails pour fabriquer le matériel complet sont donnés dans les sections suivantes.
Matériaux nécessaires:
- Conseil Perf
- ESP8266-01
- Carte de dérivation FTDI
- LM317
- Condensateur 0,1 uf
- Condensateur 10 uf
- Barrel Jack
- Bergstik mâle et femelle
- Bouton poussoir
- Fils de connexion
- Adaptateur 12V pour alimenter la carte.
Explication du circuit:
Les schémas de la carte sont présentés ci-dessous
Certains ont peut-être essayé d'alimenter votre ESP directement à partir de votre FTDI et l'ont fait fonctionner, mais voici les raisons pour lesquelles vous pouvez créer votre propre carte avec quelques composants supplémentaires:
- Seules quelques cartes FTDI peuvent fournir suffisamment de courant pour le module ESP. Peu de modules ESP peuvent consommer un courant élevé que les autres pendant le clignotement. Par conséquent, il est toujours sûr d' avoir votre propre source d'alimentation, et il sera plus facile d'intégrer le circuit d'alimentation sur la carte à points au lieu de la carte d'expérimentation.
- Nous devons toujours réinitialiser le module ESP avant de télécharger le code, la construction de notre propre carte nous aidera à réinitialiser le module facilement. Nous avons utilisé le bouton poussoir pour réinitialiser l'ESP8266.
- La broche GPIO0 doit être mise à la terre lors de la programmation à l'aide d'Arduino et doit être laissée libre lors de l'utilisation des commandes AT, cela peut facilement être basculé si nous construisons notre propre carte. Nous avons utilisé un cavalier pour basculer entre le mode de commandes AT et le mode de programmation Arduino IDE.
- Toute la programmation se fait à l'aide de la communication série , si vous utilisez une maquette, certains terminaux lâches peuvent provoquer une erreur à mi-chemin et nous forcer à flasher le module pour travailler à nouveau.
Cela étant dit, vous pouvez choisir entre l'utilisation d'une maquette et la création de votre propre carte pour la programmation du module. Si vous souhaitez toujours utiliser la maquette, le même circuit illustré ci-dessus peut être construit à l'aide de votre maquette. Seule l'apparence sera différente, toutes les autres instructions de ce tutoriel s'appliqueront de la même manière.
Panneau de construction pour programmer ESP8266:
Nous construisons donc ici la carte pour programmer le module ESP8266 qui possède son propre circuit d'alimentation pour alimenter l'ESP8266.
Comme dit, notre module nécessitera environ 800 mA lors de sa programmation. Par conséquent, nous avons construit notre propre module d'alimentation en utilisant un régulateur de tension variable LM317 puisque le courant source du LM317 est de près de 1,2 A. La tension d'entrée du LM317 sera de 12 V, ce qui sera donné à l'aide d'un adaptateur mural 12V 2A. La sortie du LM317 sera régulée à 3,3V en permanence en utilisant les résistances de 220ohm et 360ohm. Consultez également notre circuit de chargeur de batterie utilisant LM317 pour en savoir plus sur LM317.
Les formules pour calculer la tension de sortie du LM317 sont données ci-dessous:
Vout = 1,25 * (1+ (R2 / R1))
Où, R1 est 220 ohms et R2 est 360 ohms.
Le module ESP8266 est connecté selon les broches indiquées dans le tableau ci-dessous.
N ° de broche |
Nom de la broche ESP |
Connecté à |
1 |
Sol |
Masse du module FTDI |
2 |
GPIO2 |
Laissé libre ou connecté au bâton Berg pour une utilisation future |
3 |
GPIO0 |
Basculer pour basculer entre les modes de programmation |
4 |
Rx |
Tx du module FTDI |
5 |
Tx |
Rx du module FTDI |
6 |
CH_PH |
3,3 V à partir du LM317 |
sept |
Réinitialiser |
Bouton poussoir pour réinitialiser le module |
8 |
Vcc |
3,3 V à partir du LM317 |
Pour basculer facilement entre le mode de commande AT et le mode de programmation Arduino, j'ai placé un commutateur (cavalier) qui tirera le GPIO 0 à la terre lors de l'utilisation de l'IDE Arduino et le laissera flottant lors de l'utilisation des commandes AT.
Il y a un bouton poussoir qui, lorsqu'il est enfoncé, réinitialise le module ESP. Cela se fait en connectant simplement la broche RST du module ESP au rail de masse via le bouton poussoir. Chaque fois avant de programmer notre module ESP, nous devons le réinitialiser.
Une fois que vous avez assemblé le circuit, il devrait ressembler à ceci ci-dessous.
J'ai utilisé une carte Perf mais vous pouvez également utiliser une maquette si vous êtes intéressé (comme indiqué ci-dessus). La construction complète et l'explication sont montrées dans la vidéo ci-dessous.
Une fois terminé avec les connexions. Mettez la carte sous tension sans les cartes ESP et FTDI et vérifiez si nous obtenons correctement 3,3 V sur les bornes Vcc et Terre de la position des modules ESP. Assurez-vous maintenant que votre carte FTDI est en mode 3,3 V et connectez vos modules FTDI et ESP à votre carte.
Allumez votre adaptateur et connectez-le à votre carte, le module ESP doit s'allumer avec une couleur rouge.
Ensuite, connectez votre carte FTDI à votre ordinateur à l'aide d'un câble mini-USB vers USB et accédez au Gestionnaire de périphériques sur votre ordinateur et vous devriez trouver votre carte FTDI connectée à votre port COM, comme indiqué ci-dessous:
Il est maintenant temps de mettre la main sur la programmation de notre module ESP8266. Vous pouvez commencer par utiliser les commandes AT, puis passer à l'utilisation de l'IDE Arduino. N'oubliez pas de consulter nos autres projets basés sur ESP8266.