Ingénieur

ENGINNERS Carte de développement ESP8266 NodeMCU

INGÉNIEURS-NodeMCU-Conseil de développement

L'Internet des objets (IoT) est un domaine à la mode dans le monde de la technologie. Cela a changé notre façon de travailler. Les objets physiques et le monde numérique sont plus que jamais connectés. Gardant cela à l'esprit, Espressif Systems (une société de semi-conducteurs basée à Shanghai) a lancé un adorable microcontrôleur compatible WiFi de la taille d'une bouchée - ESP8266, à un prix incroyable ! Pour moins de 3 $, il peut surveiller et contrôler les choses de n'importe où dans le monde - parfait pour à peu près n'importe quel projet IoT.

La carte de développement équipe le module ESP-12E contenant la puce ESP8266 dotée du microprocesseur Tensilica Xtensa® LX32 RISC 106 bits qui fonctionne à une fréquence d'horloge réglable de 80 à 160 MHz et prend en charge le RTOS.

Puce ESP-12E

  • Tensilica Xtensa® 32 bits LX106
  • 80 à 160 MHz Fréquence d'horloge.
  • 128 Ko de RAM interne
  • Flash externe de 4 Mo
  • Émetteur-récepteur Wi-Fi 802.11b/g/nINGÉNIEURS-NodeMCU-Development-Board-1

Il y a aussi 128 Ko de RAM et 4 Mo de mémoire Flash (pour le stockage des programmes et des données) juste assez pour faire face aux grandes chaînes qui composent web pages, données JSON/XML et tout ce que nous lançons sur les appareils IoT de nos jours. L'ESP8266 intègre un émetteur-récepteur Wi-Fi 802.11b/g/n HT40, de sorte qu'il peut non seulement se connecter à un réseau WiFi et interagir avec Internet, mais il peut également configurer son propre réseau, permettant à d'autres appareils de se connecter directement à ce. Cela rend l'ESP8266 NodeMCU encore plus polyvalent.

Besoin en énergie

Comme le vol d'exploitationtagLa plage d'ESP8266 est de 3 V à 3.6 V, la carte est livrée avec un vol LDOtage régulateur pour garder le voltage stable à 3.3V. Il peut fournir de manière fiable jusqu'à 600 mA, ce qui devrait être plus que suffisant lorsque l'ESP8266 tire jusqu'à 80 mA pendant les transmissions RF. La sortie du régulateur est également répartie sur l'un des côtés de la carte et étiquetée 3V3. Cette broche peut être utilisée pour alimenter des composants externes.

Besoin en énergie

  • Vol d'exploitationtage: 2.5 V à 3.6 V
  • Régulateur embarqué 3.3V 600mA
  • Courant de fonctionnement de 80 mA
  • 20 μA en mode veilleINGÉNIEURS-NodeMCU-Development-Board-2

L'alimentation du NodeMCU ESP8266 est fournie via le connecteur USB MicroB intégré. Alternativement, si vous avez un vol 5V régulétagLa source, la broche VIN peut être utilisée pour alimenter directement l'ESP8266 et ses périphériques.

Avertissement: L'ESP8266 nécessite une alimentation 3.3 V et des niveaux logiques 3.3 V pour la communication. Les broches GPIO ne sont pas tolérantes au 5V ! Si vous souhaitez interfacer la carte avec des composants 5V (ou plus), vous devrez effectuer un changement de niveau.

Périphériques et E/S

L'ESP8266 NodeMCU a un total de 17 broches GPIO réparties sur les en-têtes de broches des deux côtés de la carte de développement. Ces broches peuvent être affectées à toutes sortes de tâches périphériques, notamment :

  • Canal ADC - Un canal ADC 10 bits.
  • Interface UART - L'interface UART est utilisée pour charger le code en série.
  • Sorties PWM - Broches PWM pour la gradation des LED ou le contrôle des moteurs.
  • Interface SPI, I2C et I2S - Interface SPI et I2C pour connecter toutes sortes de capteurs et de périphériques.
  • Interface I2S – Interface I2S si vous souhaitez ajouter du son à votre projet.

E/S multiplexées

  • 1 canaux ADC
  • 2 interfaces UART
  • 4 PWM sorties
  • Interface SPI, I2C et I2SINGÉNIEURS-NodeMCU-Development-Board-3

Grâce à la fonction de multiplexage des broches de l'ESP8266 (plusieurs périphériques multiplexés sur une seule broche GPIO). Cela signifie qu'une seule broche GPIO peut agir comme PWM/UART/SPI.

Commutateurs embarqués et indicateur LED

Le NodeMCU ESP8266 comporte deux boutons. Celui marqué comme RST situé dans le coin supérieur gauche est le bouton Reset, utilisé bien sûr pour réinitialiser la puce ESP8266. L'autre bouton FLASH dans le coin inférieur gauche est le bouton de téléchargement utilisé lors de la mise à niveau du micrologiciel.

Commutateurs et indicateurs

  • RST - Réinitialiser la puce ESP8266
  • FLASH – Télécharger de nouveaux programmes
  • LED bleue - Programmable par l'utilisateurINGÉNIEURS-NodeMCU-Development-Board-4

La carte dispose également d'un indicateur LED programmable par l'utilisateur et connecté à la broche D0 de la carte.

Communication série

La carte comprend le contrôleur de pont USB-UART CP2102 de Silicon Labs, qui convertit le signal USB en série et permet à votre ordinateur de programmer et de communiquer avec la puce ESP8266.

Communication série

  • Convertisseur USB vers UART CP2102
  • Vitesse de communication de 4.5 Mbps
  • Prise en charge du contrôle de fluxINGÉNIEURS-NodeMCU-Development-Board-5

Si vous avez une ancienne version du pilote CP2102 installée sur votre PC, nous vous recommandons de mettre à jour maintenant.
Lien pour la mise à niveau du pilote CP2102 - https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

Brochage ESP8266 NodeMCU

L'ESP8266 NodeMCU a un total de 30 broches qui l'interfacent avec le monde extérieur. Les connexions sont les suivantes :INGÉNIEURS-NodeMCU-Development-Board-6

Par souci de simplicité, nous allons faire des groupes de broches avec des fonctionnalités similaires.

Broches d'alimentation Il y a quatre broches d'alimentation à savoir. une broche VIN et trois broches 3.3V. La broche VIN peut être utilisée pour alimenter directement l'ESP8266 et ses périphériques, si vous avez un vol 5V régulétagla source. Les broches 3.3V sont la sortie d'un vol intégrétage régulateur. Ces broches peuvent être utilisées pour alimenter des composants externes.

GND est une broche de terre de la carte de développement ESP8266 NodeMCU. Les broches I2C sont utilisées pour connecter toutes sortes de capteurs et périphériques I2C dans votre projet. Le maître I2C et l'esclave I2C sont pris en charge. La fonctionnalité d'interface I2C peut être réalisée par programmation et la fréquence d'horloge est de 100 kHz au maximum. Il convient de noter que la fréquence d'horloge I2C doit être supérieure à la fréquence d'horloge la plus lente du périphérique esclave.

Broches GPIO ESP8266 NodeMCU dispose de 17 broches GPIO qui peuvent être affectées à diverses fonctions telles que I2C, I2S, UART, PWM, télécommande IR, lumière LED et bouton par programmation. Chaque GPIO compatible numérique peut être configuré pour un pull-up ou un pull-down interne, ou réglé sur une impédance élevée. Lorsqu'elle est configurée en tant qu'entrée, elle peut également être définie sur un déclenchement par front ou par niveau pour générer des interruptions CPU.

Canal ADC Le NodeMCU est intégré avec un ADC SAR de précision 10 bits. Les deux fonctions peuvent être implémentées en utilisant ADC viz. Test du volume d'alimentationtage de la broche VDD3P3 et du vol d'entrée de testtage de la broche TOUT. Cependant, ils ne peuvent pas être mis en œuvre en même temps.

Broches UART ESP8266 NodeMCU dispose de 2 interfaces UART, c'est-à-dire UART0 et UART1, qui fournissent une communication asynchrone (RS232 et RS485) et peuvent communiquer jusqu'à 4.5 Mbps. UART0 (broches TXD0, RXD0, RST0 et CTS0) peut être utilisé pour la communication. Il prend en charge le contrôle des fluides. Cependant, UART1 (broche TXD1) ne dispose que d'un signal de transmission de données, il est donc généralement utilisé pour l'impression du journal.

Broches SPI L'ESP8266 dispose de deux SPI (SPI et HSPI) en modes esclave et maître. Ces SPI prennent également en charge les fonctionnalités SPI à usage général suivantes :

  • 4 modes de synchronisation du transfert au format SPI
  • Jusqu'à 80 MHz et les horloges divisées de 80 MHz
  • Jusqu'à 64 octets FIFO

Broches SDIO ESP8266 dispose d'une interface d'entrée/sortie numérique sécurisée (SDIO) qui est utilisée pour interfacer directement les cartes SD. 4 bits 25 MHz SDIO v1.1 et 4 bits 50 MHz SDIO v2.0 sont pris en charge.

Pins PWM La carte dispose de 4 canaux de modulation de largeur d'impulsion (PWM). La sortie PWM peut être implémentée par programmation et utilisée pour piloter des moteurs numériques et des LED. La plage de fréquence PWM est réglable de 1000 μs à 10000 μs, c'est-à-dire entre 100 Hz et 1 kHz.

Broches de contrôle sont utilisés pour contrôler ESP8266. Ces broches incluent la broche d'activation de puce (EN), la broche de réinitialisation (RST) et la broche WAKE.

  • Broche EN - La puce ESP8266 est activée lorsque la broche EN est tirée vers le haut. Lorsqu'elle est BASSE, la puce fonctionne à la puissance minimale.
  • Broche RST - La broche RST est utilisée pour réinitialiser la puce ESP8266.
  • Broche WAKE - La broche Wake est utilisée pour réveiller la puce du sommeil profond.

Plateformes de développement ESP8266

Passons maintenant aux choses intéressantes ! Il existe une variété de plates-formes de développement qui peuvent être équipées pour programmer l'ESP8266. Vous pouvez utiliser Espruino - SDK JavaScript et micrologiciel émulant étroitement Node.js, ou utiliser Mongoose OS - Un système d'exploitation pour les appareils IoT (plate-forme recommandée par Espressif Systems et Google Cloud IoT) ou utiliser un kit de développement logiciel (SDK) fourni par Espressif ou l'une des plates-formes répertoriées sur WiKiPedia. Heureusement, l'incroyable communauté ESP8266 a poussé la sélection IDE un peu plus loin en créant un module complémentaire Arduino. Si vous commencez tout juste à programmer l'ESP8266, c'est l'environnement que nous vous recommandons de commencer, et celui que nous allons documenter dans ce tutoriel.
Ce module complémentaire ESP8266 pour Arduino est basé sur le travail incroyable d'Ivan Grokhotkov et du reste de la communauté ESP8266. Consultez le référentiel ESP8266 Arduino GitHub pour plus d'informations.

Installation du noyau ESP8266 sur le système d'exploitation Windows

Continuons avec l'installation du noyau Arduino ESP8266. La première chose à faire est d'avoir le dernier IDE Arduino (Arduino 1.6.4 ou supérieur) installé sur votre PC. Si vous ne l'avez pas, nous vous recommandons de mettre à jour maintenant.
Lien pour Arduino IDE - https://www.arduino.cc/en/software
Pour commencer, nous devrons mettre à jour le gestionnaire de tableau avec un URL. Ouvrez Arduino IDE et accédez à File > Préférences. Ensuite, copiez ci-dessous URL au poste d'Administrateur Supplémentaire URLs zone de texte située en bas de la fenêtre : http://arduino.esp8266.com/stable/package_esp8266com_index.jsonINGÉNIEURS-NodeMCU-Development-Board-7

Appuyez sur OK. Accédez ensuite au gestionnaire de tableaux en accédant à Outils > Tableaux > Gestionnaire de tableaux. Il devrait y avoir quelques nouvelles entrées en plus des cartes Arduino standard. Filtrez votre recherche en tapant esp8266. Cliquez sur cette entrée et sélectionnez Installer.INGÉNIEURS-NodeMCU-Development-Board-8

Les définitions de carte et les outils pour l'ESP8266 incluent un tout nouvel ensemble de gcc, g++ et d'autres binaires compilés raisonnablement volumineux, de sorte que le téléchargement et l'installation peuvent prendre quelques minutes (les fichiers archivés file est d'environ 110 Mo). Une fois l'installation terminée, un petit texte INSTALLÉ apparaîtra à côté de l'entrée. Vous pouvez maintenant fermer le Board Manager

ArduinoExample: Clignotement

Pour vous assurer que le noyau Arduino ESP8266 et le NodeMCU sont correctement configurés, nous allons télécharger le croquis le plus simple de tous - The Blink ! Nous utiliserons la LED embarquée pour ce test. Comme mentionné précédemment dans ce didacticiel, la broche D0 de la carte est connectée à la LED bleue intégrée et est programmable par l'utilisateur. Parfait! Avant de télécharger l'esquisse et de jouer avec la LED, nous devons nous assurer que la carte est correctement sélectionnée dans l'IDE Arduino. Ouvrez l'IDE Arduino et sélectionnez l'option NodeMCU 0.9 (module ESP-12) sous votre menu IDE Arduino > Outils > Carte.INGÉNIEURS-NodeMCU-Development-Board-9

Maintenant, branchez votre ESP8266 NodeMCU sur votre ordinateur via un câble USB micro-B. Une fois la carte branchée, un port COM unique doit lui être attribué. Sur les machines Windows, ce sera quelque chose comme COM #, et sur les ordinateurs Mac/Linux, il se présentera sous la forme /dev/tty.usbserial-XXXXXX. Sélectionnez ce port série dans le menu IDE Arduino > Outils > Port. Sélectionnez également la vitesse de téléchargement : 115200INGÉNIEURS-NodeMCU-Development-Board-10

Avertissement: Une plus grande attention doit être accordée à la sélection de la carte, au choix du port COM et à la sélection de la vitesse de téléchargement. Vous pouvez obtenir une erreur espcomm_upload_mem lors du téléchargement de nouveaux croquis, si vous ne le faites pas.

Une fois que vous avez terminé, essayez l'example croquis ci-dessous.

configuration vide()
{pinMode(D0, OUTPUT);}boucle vide()
{digitalWrite(D0, ÉLEVÉ);
délai(500);
digitalWrite(D0, BAS);
délai(500);
Une fois le code téléchargé, la LED commencera à clignoter. Vous devrez peut-être appuyer sur le bouton RST pour que votre ESP8266 commence à exécuter l'esquisse.INGÉNIEURS-NodeMCU-Development-Board-11

Documents / Ressources

ENGINNERS Carte de développement ESP8266 NodeMCU [pdf] Instructions
Carte de développement ESP8266 NodeMCU, ESP8266, carte de développement NodeMCU

Références

Laisser un commentaire

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués *