Comment choisir l'ESP8266 idéal pour votre projet
Savez-vous que l'ESP8266 peut vous donner accès à votre réseau sans fil ? Et l'ESP32 ? Disponible à bas prix et respectueux de l'environnement ? Si vous n'êtes pas familier avec tout cela, il est temps d'avancer.
Rassurez-vous, nous vous présentons les avantages et inconvénients de l'ESP8266 sans laisser l'ESP32 de côté, et nous croyons que cela vous aidera grandement à choisir celui qui correspond le mieux à votre situation.
Après la section tutoriel, nous vous dirigerons vers l'endroit exact pour votre achat. Alors prenez place, calmez vos nerfs et prenez le temps de lire ce que nous avons pour vous.
L'ESP8266
1.1 Définition :
L'ESP8266 est une micropuce Wi-Fi conviviale, peu coûteuse, qui inclut une pile complète de protocole de contrôle de transmission (TCP) ou protocole internet (IP), permettant à tout microcontrôleur d'accéder à votre réseau sans fil (WIFI). En termes simples, l'ESP8266 est une micropuce Wi-Fi avec capacité microcontrôlée et TCP.
Pour l'histoire, cette puce a été remarquée par les producteurs occidentaux en 2014. Elle permet à un microcontrôleur d'accéder à un réseau sans fil et offre l'avantage du faible coût.
Les diverses applications de l'ESP8266 incluent : domotique, électronique portable, portails d'accès point, projets IoT, ampoules, prises, etc. En un peu plus d'un mois, le projet ESP8266 s'est élargi en ajoutant une plateforme open-hardware. Cela a été fait quand le développeur a commis le devkit V0.9, le fichier pour la carte ESP8266. NodeMCU a progressé en supportant le protocole MQTT IoT quand le MQTT a été déplacé de Contiki vers la plateforme SOC ESP8266 par Tuan PM.
1.1.1 Utilisation de l'ESP8266
Concernant le module ESP, il existe différents processus et IDEs disponibles, et parmi ces méthodes, la plus régulièrement utilisée est l'IDE Arduino. Il est strictement conseillé d'utiliser l'ESP8266 avec 3,3V ; toute autre tension comme 3,7V peut être néfaste pour le module. Il faut donc trouver une carte compétente supportant 3,3V, c'est pourquoi nous utiliserons la carte FTDI.
Comme alternative, la carte Arduino peut être utilisée si vous ne trouvez pas la carte FTDI. Au moins, si vous anticipez un défi avec l'ESP8266, regardez l'aspect de l'alimentation. Pour y remédier, il faut concevoir un petit régulateur de tension 3,3V capable de fournir au moins 500 mA.
1.2 Programmation de l'ESP8266
Il existe plusieurs méthodes pour programmer l'ESP8266. L'IDE Arduino est omniprésent pour programmer l'ESP8266. Pourquoi ? C'est simple ! Même pour les débutants, cela semble relativement confortable, et pour ceux qui s'y connaissent, c'est un jeu d'enfant. Il y a des situations où vous devrez faire une petite astuce pour aller plus loin avec l'Arduino.
Dans ce cas, vous pourriez vouloir regarder un SDK officiel pour le programmer en C pur. En programmation, différents composants sont requis : carte ESP8266, réseau Wi-Fi disponible, câble USB, système/ordinateur pouvant faire tourner l'IDE Arduino, etc.
NodeMCU ESP8266
Le NodeMCU comprend un firmware qui fonctionne sur le SOC (System on Chip) Wi-Fi de l'ESP8266. Le NodeMCU fait référence au firmware, qui utilise le langage de script Lua et non les kits de développement. Suite à l'ESP8266, le NodeMCU a été conçu en décembre 2013 et est couramment utilisé dans les applications IoT. Un bref historique montre que Hong a assigné le fichier principal du firmware NodeMCU à GitHub le 13 octobre 2014. Malheureusement, les concepteurs principaux ont quitté le projet, mais d'autres contributeurs indépendants l'ont poursuivi. En 2016, NodeMCU contient déjà plus de 40 modules.
Brochage (Pinout) de l'ESP8266
Dans le brochage de l'ESP8266, une chose cruciale : toutes les broches ne conviennent pas, ou certaines sont destinées à des usages particuliers. Beaucoup confondent souvent le NodeMCU avec l'ESP-12E, mais c'est incorrect. Contrairement à l'ESP-12E qui utilise l'UART pour l'enregistrement, c'est l'USB qui en est responsable dans le NodeMCU. Quand vous programmez, utilisez les numéros devant les GPIO (A0, D0, D1, D2, D3, D4, D5, D6, D7, D8). En raison de la différence des broches NodeMCU, certaines sont à l'état haut, d'autres à l'état bas ; placez l'oscilloscope au bord des clous. Les tests sur les entrées/sorties ont montré que analogRead semble compatible seulement avec ADC, digitalWrite n'est pas compatible avec ADC et GPIO 6, 7, 8 et 11.
Nous avons les broches d'alimentation : GND (commun pour toute logique et alimentation), USB (si connecté, tension positive vers la prise USB), 3V (sortie 3V du régulateur capable d'offrir 500 mA). Aussi, les broches logiques : toutes sont en 3,3V, broches à usage général les plus courantes pour le microcontrôleur. Nous avons aussi les broches série : RX et TX. Elles sont toutes deux en 3,3V, mais la différence est que RX est l'entrée vers le module, tandis que TX est la sortie depuis le module.
ESP8266 Arduino
Il faut savoir qu'il y a pas mal d'IDEs utilisables pour programmer l'ESP8266 et l'IDE Arduino en est un parfait. Tout a été simplifié quand la communauté ESP8266 a rendu possible la programmation de l'ESP8266 avec l'IDE Arduino. En utilisant ceci, aucun microcontrôleur externe n'est nécessaire, vous permettant d'écrire des sketches avec les bibliothèques Arduino publiques, les exécutant directement sur l'ESP8266. Le core ESP8266 Arduino est conçu pour venir avec des bibliothèques pour se connecter en Wi-Fi via TCP et UDP. L'ESP8266 a rendu tout cela plus facile : la communauté a monté d'un cran en concevant l'addon Arduino, rendant plus facile pour les débutants de programmer l'ESP8266. Il est toujours conseillé de commencer par là car c'est respectueux de l'environnement.
Ivan Prokhorov, avec les autres membres de la communauté, l'a rendu encore plus confortable avec leur travail aboutissant à ce design. Ajouter une carte tierce à l'IDE Arduino est une tâche bien plus facile avec le nouveau gestionnaire de cartes.
Projets ESP8266
L'ESP8266 est un module Wi-Fi conçu par Espressif Systems. C'est un microcontrôleur qui effectue les fonctions liées au Wi-Fi. Pour cette raison, il est largement utilisé comme module Wi-Fi avec d'autres cartes comme l'Arduino.
5.1 Création d'un serveur Web
Vous comprenez probablement que l'ESP8266 n'est pas seulement attendu mais aussi peu coûteux, convivial, et une excellente option pour connecter votre matériel à Internet. De nos jours, nous avons de nombreux produits IoT facilement disponibles, et divers projets ont été réalisés avec l'ESP8266. Parmi les projets : l'interfaçage nécessaire avec d'autres microcontrôleurs, le suivi sur Google Maps, la surveillance de la pollution de l'air, etc. L'idée derrière cela est principalement basée sur la connexion entre l'ESP8266 et le STM32F103C8.
Pour créer un serveur web, nous utiliserons le module Wi-Fi ESP8266 et la carte STM32F103C8 ; autres composants nécessaires : hotspot et ordinateur portable. Pour maintenir la communication avec l'ESP8266, les commandes AT sont très utiles.
Le tableau ci-dessous contient certaines des commandes AT utilisées.
| COMMANDES AT | FONCTION |
|---|---|
| AT+GMR | Affiche les détails du firmware. |
| AT+RST | Utilisée pour REDÉMARRER le module. |
| AT | Représente l'accusé de réception retournant « OK ». |
| AT+CIPCLOSE | Utilisée pour fermer la connexion TCP ou UDP. |
| AT+CIPSTATUS | Obtient le statut de la connexion. |
| AT+CIFSR | Obtient l'adresse IP. |
N'oubliez pas que ce ne sont pas les seules commandes AT utilisées ; seulement quelques-unes sont mises en évidence ici.
Le STM32F103C8 contient exactement trois ensembles de communication série UART. Pour connecter les broches ESP8266 avec les broches STM32, référez-vous au tableau ci-dessous.
| ESP8266 | STM32 |
|---|---|
| RX | PA2 |
| TX | PA3 |
| GND | G |
| VCC | 3,3V |
| CH_PD | 3,3V |
5.2 Projets basés sur Arduino ESP8266
Il y a une liste infinie d'idées de projets basés sur le module Wi-Fi ESP8266 pour vous faire expérimenter. Pour vous aider, vous pouvez tirer parti de plateformes IoT. L'une d'elles est Ubidots, une interface intuitive permettant d'afficher les données de votre projet et de contrôler vos appareils à distance.
- Servo contrôlé par web avec Arduino et Wi-Fi
- Surveillance des battements cardiaques
- Surveillance de la pollution de l'air basée sur IoT
- Jardinière intelligente à faible coût avec ESP8266
ESP32 vs ESP8266
Comme l'ESP8266, l'ESP32 est un excellent choix coût et offre un système sur puce microcontrôleur à basse consommation. Choisir entre ESP32 et ESP8266 peut être assez difficile, mais cela dépend du type de projet. Les deux ont leurs avantages et inconvénients. À ce stade, vous devriez vous soucier de lequel choisir selon ce que vous voulez faire.
Côté coût, l'ESP8266 est relativement moins cher que l'ESP32. L'ESP8266 n'est peut-être pas équipé de très haute utilité, mais c'est un excellent choix pour les travaux IoT DIY simples. Côté support logiciel, l'ESP8266 est bien sûr convivial. Un inconvénient de l'ESP8266 : ses broches peuvent ne pas suffire pour votre projet, et dans ce cas, pas d'autre choix que l'ESP32.
L'ESP32 comporte plus de GPIOs aux fonctions multiples, le rendant plus puissant que l'ESP8266. L'ESP32 supporte les fonctions Bluetooth et a un Wi-Fi plus rapide. Beaucoup pensent qu'il est plus compliqué de travailler avec l'ESP32 que l'ESP8266, oui ! Cela peut être vrai mais pas tout à fait exact. Cela peut sembler facile avec le langage Arduino. Comme rien n'arrive sans inconvénient, l'une de ses limitations est qu'il est plus coûteux que l'ESP8266 ; contrairement à l'ESP8266 qui fonctionne avec la plupart des logiciels, tous les logiciels n'ont pas été parfaitement conçus pour l'ESP32.
Module
L'ESP8266 est un module Wi-Fi (fidélité sans fil) commun pour ses applications IoT. Il fonctionne avec une tension de 3V mais peut aller jusqu'à 3,6V. Pour l'alimenter et le connecter en série, un niveau de savoir-faire technique est requis. Le module peut permettre à tout microcontrôleur d'accéder à un réseau Wi-Fi. Bien sûr, chaque ESP8266 est conçu avec un firmware de commandes AT, impliquant qu'il peut être connecté à un appareil Arduino, vous donnant une capacité Wi-Fi illimitée.
L'offre fantastique de tout cela ne peut être négligée, sans oublier qu'il s'agit d'une communauté compétitive et en constante évolution. Ses GPIOs permettent son intégration avec des capteurs, en faisant un module robuste capable de traitement et de stockage.
Tutoriel
Dans cette section, nous soulignerons les étapes nécessaires pour programmer l'ESP8266, ici en utilisant l'IDE Arduino. Avec l'intervention de l'IDE Arduino, l'utilisation des modules ESP semble relativement plus simple. La communauté Arduino a mis à disposition son gestionnaire de cartes, évitant le stress d'apprendre la documentation d'instructions du module ESP.
Nous allons faire clignoter une LED en utilisant l'IDE Arduino pour programmer le module ESP.
Pour programmer l'ESP8266 avec l'IDE Arduino, les composants requis incluent :
- IDE Arduino
- Module ESP8266
- Carte FTDI breakout
- Lumière LED
Étape 1 : Assurez-vous de la disponibilité de l'IDE Arduino. Si vous ne l'avez pas, téléchargez-le. Préférez les versions 1.6.5 et supérieures.
Étape 2 : Allez dans Fichier, puis Préférences. Descendez presque en bas de la page, vous verrez un onglet intitulé « Additional Board Manager URLs ». Cliquez sur l'espace et tapez ce lien.
Étape 3 : Cliquez sur Outils, descendez à « Board » et cliquez, puis cliquez sur « Board Manager ». Recherchez cette phrase : « esp8266 by ESP8266 Community ». Le résultat apparaîtra, cliquez sur « Install » sur l'espace résultant. Après completion, naviguez vers Outils, cliquez sur Board, puis sur Generic ESP8266 Module.
Étape 4 : Vous verrez un écran où vous pouvez téléverser le programme blink, localisez le fichier en cliquant sur Fichier, puis Exemples, suivi de ESP8266, et cliquez sur Blink.
Étape 5 : C'est l'étape où la carte FTDI est requise. Connectez maintenant le module ESP8266 et la carte FTDI. Réglez le commutateur jumper et tirez le GPIO0 vers le bas, puis alimentez les modules. Cela peut aussi être réinitialisé en appuyant sur le bouton poussoir.
Étape 6 : Appuyez et attendez la fin du téléversement. Pour vous assurer que le programme a été téléversé avec succès, vous remarquerez une LED clignotante sur le module ESP.
Conclusion
En regardant le chemin parcouru, nous croyons vous avoir fourni suffisamment d'informations pour choisir parmi les options disponibles. Besoin d'un microcontrôleur peu coûteux, convivial pour projets simples ? L'ESP8266 devrait être la meilleure option. Cependant, dans d'autres cas où vous avez besoin de codage avancé avec l'IDE Arduino, vous pourriez vouloir choisir l'ESP32 plutôt que l'ESP8266.
Nous sommes là, juste pour vous ! Nous vous garantissons l'originalité à un prix abordable. Franchissez le pas maintenant, nous ne sommes qu'à un coup d'œil ! Contactez-nous, demandez un devis, et si vous avez des questions ou suggestions, n'hésitez pas à nous les transmettre.
Technologie industrielle
- Choisir les pieds de nivellement idéaux pour mobilier et machines
- Choisir les bons coulisses de tiroir : guide complet
- Comprendre les Ajustements d'Arbre : Trois Types et Comment Choisir le Bon
- Guide expert : choisir la machine d'encartonnage idéale pour votre ligne de production
- Choisir le bon débitmètre : guide pratique et fiable
- Choisir la machine de découpe waterjet idéale pour votre atelier
- Choisir le Cintreuse à Tubes Idéale pour Vos Besoins de Fabrication
- Choisir le bon réducteur : conseils d'expert pour couple et efficacité optimaux
- Choisir l'anti-retour (backstop) convoyeur parfait : Guide sécurité