Table des matières:

Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO : 7 étapes
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO : 7 étapes

Vidéo: Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO : 7 étapes

Vidéo: Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO : 7 étapes
Vidéo: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Juillet
Anonim
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO
Restaurer ou mettre à niveau le micrologiciel sur le module ESP8266 (ESP-01) à l'aide d'Arduino UNO

Le module ESP-01 que j'ai utilisé à l'origine était livré avec un ancien firmware AI Thinker, ce qui limite ses capacités car de nombreuses commandes AT utiles ne sont pas prises en charge.

C'est généralement une bonne idée de mettre à niveau votre micrologiciel pour les corrections de bogues et également en fonction des fonctionnalités requises du module ESP, un ensemble plus complet de commandes AT prises en charge peut être nécessaire. Ce tutoriel explique également comment restaurer ou flasher le firmware Espressif d'origine s'il vous arrive de gâcher votre firmware ESP, par exemple, à travers de mauvaises commandes AT. C'est ce qui s'est passé lorsque j'ai essayé de modifier le débit en bauds par défaut de 115 200 à 9 600. J'ai utilisé la commande suivante (basée sur une recherche rapide sur Google):

AT+IPR=9600

Cela a maquillé le module ESP-01. Aucune commande AT ne fonctionnait plus, ce qui m'a incité à faire plus de recherches et après de nombreuses heures, j'ai finalement trouvé un moyen de restaurer mon ESP-01 et d'installer le dernier firmware compatible. J'ai donc décidé que cela valait la peine de partager tout le processus.

Attention: Sur la base de mon expérience, je vous déconseille fortement d'utiliser la commande AT+IPR pour modifier votre débit en bauds car cela vous obligera très probablement à re-flasher votre firmware. Cependant, il existe de nombreuses variantes du module ESP-01 avec une taille de flash et une version de micrologiciel d'usine différentes, votre expérience peut donc varier.

Le module ESP-01 n'est pas conforme au 5 V et nécessite 3,3 V pour l'alimenter mais aussi pour fonctionner correctement au niveau logique. Pour communiquer avec l'ordinateur, le module a en outre besoin d'un convertisseur USB vers série. Ainsi, au lieu d'utiliser un convertisseur de tension et un adaptateur USB vers série, j'ai décidé d'opter pour une solution plus simple. Comme j'ai déjà un Arduino UNO, j'ai utilisé ce dernier pour alimenter le module ESP-01 et établir la communication entre l'ESP-01 et l'ordinateur, fonctionnant effectivement comme un pont série.

Fournitures

  1. Module ESP-01
  2. Arduino UNO (avec câble USB)
  3. Cavalier fils DuPont
  4. Planche à pain

Étape 1: Connexions des fils

Connexions de fils
Connexions de fils
Connexions de fils
Connexions de fils
Connexions de fils
Connexions de fils

Les connexions filaires avec les modules Arduino UNO et ESP-01 peuvent être effectuées facilement à l'aide de câbles de démarrage et d'une planche à pain. Les connexions entre la carte de développement Arduino et le module ESP sont décrites dans le tableau. Les connexions RX et TX ne sont pas inversées dans ce cas, car la communication ne se fait pas entre le module Arduino et ESP mais entre l'ESP et l'ordinateur. Ainsi, dans ce cas, la carte Arduino UNO est utilisée comme pont série via son convertisseur USB vers série intégré.

La connexion des broches RX entre la carte Arduino et le module ESP doit être effectuée via un diviseur de tension, car l'ESP-01 fonctionne sur un niveau logique de 3,3 V et recevoir un niveau logique de 5 V de l'Arduino UNO pourrait endommager le module ESP. Vous pouvez construire un simple diviseur de tension de 3,3 V en utilisant seulement 2 résistances, comme indiqué sur la figure. En option, vous pouvez utiliser un convertisseur de niveau logique.

Attention: pour ma configuration, je viens de câbler les broches RX directement (déconseillé !) et tout a fonctionné, mais si vous décidez de renoncer à la conversion de niveau logique, procédez à vos risques et périls !

Pour établir une connexion à la terre commune, la broche de terre Arduino UNO est connectée à la broche de terre du module ESP.

L'Arduino UNO est utilisé pour fournir une alimentation de 3,3 V directement à la broche VCC du module ESP. Connectez la broche 3,3 V à la planche à pain à l'aide d'un cavalier, car le 3,3 V sera utilisé non seulement pour la broche VCC de l'ESP, mais également pour la broche CH_PD de l'ESP pour activer la puce ESP.

La broche RESET de l'Arduino UNO est connectée à la terre pour contourner tout code téléchargé via l'Arduino afin que le code soit plutôt envoyé de l'ordinateur à l'ESP-01.

La figure du tableau montre l'ensemble complet des connexions pour le flashage du micrologiciel, mais à ce stade, ne connectez pas les broches de réinitialisation et GPIO_0 de l'ESP car nous ne lirons que les informations du micrologiciel à l'étape suivante.

Étape 2: Vérifiez la version du micrologiciel

Vérifier la version du micrologiciel
Vérifier la version du micrologiciel

Pour trouver la version de votre firmware ESP-01, dans le moniteur série Arduino IDE, tapez:

AT+GMR

Remarque: toutes les commandes AT doivent être saisies en majuscules sans espace.

Voici la sortie série de mon ESP-01 (votre module ESP peut ne pas afficher exactement les mêmes informations car cela dépend du modèle et de la date de sortie):

AT+GMR

Version AT: 0.25.0.0 (5 juin 2015 16:27:16) Version SDK:1.1.1 Ai-Thinker Technology Co. Ltd. 23 juin 2015 23:23:50 OK

Maintenant, pour passer au dernier firmware officiel Espressif ESP8266EX, accédez à la section ressources de son site Web:

Remarque: la liste des micrologiciels disponibles peut ne pas être tous compatible avec votre modèle ESP-01. Consultez la section Dépannage à la fin de ce didacticiel pour plus d'informations.

Étape 3: Préparation de la configuration: avant le flashage du micrologiciel

Préparation de la configuration: avant le clignotement du micrologiciel
Préparation de la configuration: avant le clignotement du micrologiciel

Maintenant, nous allons préparer l'Arduino UNO pour la procédure de flashage du firmware ESP-01.

Assurez-vous que le fil Arduino RESET est déconnecté de la terre. De plus, les fils TX et RX de l'Arduino UNO doivent être déconnectés du module ESP-01.

Ouvrez Arduino IDE et dans le menu du haut, accédez à Fichier > Exemples > 01. Basics > BareMinimum. Téléchargez le croquis sur l'Arduino UNO. Ce croquis vierge garantira qu'aucune interférence de communication ne se produira avec le module ESP.

Reconnectez les câbles RX et TX entre l'UNO et l'ESP-01. Connectez également la broche RESET de l'UNO à la terre.

La broche CH_PD ou CH_EN signifie "Chip Power-Down" ou "Chip Enable" et elle doit être tirée HAUT ou connectée à 3,3 V afin d'activer la puce ESP.

Deux câbles de démarrage supplémentaires sont nécessaires pour les broches ESP suivantes: GPIO_0 et RESET.

GPIO_2 n'est pas utilisé et laissé déconnecté.

L'ESP-01 doit être réglé en mode programmation afin que le code puisse y être téléchargé. Mais l'ESP-01 n'a pas le matériel supplémentaire embarqué nécessaire pour y parvenir directement, donc tout doit être connecté séparément. Pour mon propre usage, je n'ai pas pris la peine d'utiliser des commutateurs, mais j'ai simplement utilisé deux câbles de démarrage mâle-femelle connectés aux broches GPIO_0 et RESET du module ESP-01 et les ai branchés sur les broches de masse communes de la planche à pain à partir de la masse de l'Arduino UNO.

Avant de commencer la procédure de clignotement, GPIO_0 est connecté à la masse pendant toute la procédure de clignotement pour activer le mode de programmation.

La broche RESET est connectée à la terre pendant une seconde puis retirée. Cela permet de télécharger le nouveau firmware.

Étape 4: Téléchargez l'outil et le micrologiciel de clignotement

Télécharger l'outil de clignotement et le micrologiciel
Télécharger l'outil de clignotement et le micrologiciel

Le firmware utilisé est celui d'Espressif qui est le fabricant d'origine de la puce ESP8266.

Rendez-vous sur: https://www.espressif.com/en/products/hardware/esp8266ex/resources pour accéder aux outils officiels et aux fichiers du firmware AT.

Sous l'onglet "Outils", téléchargez les outils de téléchargement Flash (ESP8266 et ESP32), actuellement le dernier en date est la V3.6.8.

Sous l'onglet "AT", téléchargez le dernier firmware AT compatible, à savoir ESP8266 AT Bin V1.6.2 pour mon modèle ESP-01. Cela dépend du modèle ESP-01 car il peut avoir une taille de mémoire flash différente. Vous trouverez plus d'informations à ce sujet dans la section DETECTED INFO du programme Flash Download Tools après avoir cliqué sur START pour commencer la procédure de flashage. Donc, si vous n'êtes pas sûr de la taille du flash ou des fichiers de firmware à sélectionner, exécutez simplement le programme pour obtenir les informations correctes sur votre module ESP.

Après avoir clignoté, vous pouvez utiliser les commandes AT pour tester et travailler avec l'ESP-01. Téléchargez le jeu d'instructions officiel ESP8266 AT:

Étape 5: Procédure de clignotement

Procédure de clignotement
Procédure de clignotement
Procédure de clignotement
Procédure de clignotement
Procédure de clignotement
Procédure de clignotement
Procédure de clignotement
Procédure de clignotement

Extrayez le fichier zip des outils de téléchargement Flash et ouvrez le fichier exe. Assurez-vous de l'exécuter en tant qu'administrateur si vous utilisez Windows. Une fenêtre DOS s'ouvrira d'abord, suivie d'une fenêtre contextuelle. Sélectionnez l'outil de téléchargement ESP8266. Cela ouvrira une fenêtre avec plusieurs options configurables.

À ce stade, reportez-vous à la capture d'écran pour voir exactement quelles options sélectionner et quoi taper dans les cases de code hexadécimal à côté de chacun des fichiers de firmware sélectionnés.

Remarque: sélectionnez les fichiers du firmware dans le même ordre car la procédure de flash est effectuée de manière séquentielle. Le fichier blank.bin doit être sélectionné trois fois, comme indiqué dans la capture d'écran du jeu d'instructions AT.

Pour trouver les codes hexadécimaux ou les adresses corrects, consultez le document officiel du jeu d'instructions AT. J'ai joint une capture d'écran de la table que j'ai utilisée pour flasher mon module ESP.

Ensuite, appuyez simplement sur le bouton START et regardez la magie opérer. Le texte du bouton affichera SYNC et la section DETECTED INFO affichera les spécifications de votre module ESP. Ensuite, le texte affichera DOWNLOAD et la barre de progression s'activera au fur et à mesure que les fichiers du micrologiciel seront téléchargés dans la mémoire flash ESP. Une fois la procédure de flashage du firmware terminée, vous verrez: FINISH.

Fermez le programme Outils de téléchargement Flash. Cela est nécessaire pour libérer le port série pour permettre au moniteur série Arduino IDE de prendre le relais.

Déconnectez la broche ESP GPIO_0 de la connexion à la terre. Cela désactivera le mode de programmation.

Connectez RESET à la terre pendant 1 seconde, puis déconnectez. Cela réinitialisera le module.

Ouvrez l'IDE Arduino. Dans le menu du haut, sélectionnez Outils > Port > sélectionnez le bon port COM. Ouvrez Serial Monitor et choisissez "Both NL & CR" et sélectionnez le débit en bauds de 115200 qui est celui par défaut.

Taper:

À

Si la procédure de flashage s'est bien déroulée, la réponse sera:

d'accord

Pour vérifier votre nouveau firmware, tapez:

AT+GMR

Voici la sortie Serial Monitor pour mon ESP-01:

AT+GMR

Version AT: 1.6.2.0 (13 avril 2018 11: 10: 59) Version du SDK: 2.2.1 (6ab97e9) Heure de compilation: 7 juin 2018 19: 34: 26 Version Bin (Wroom 02): 1.6.2 OK

Étape 6: modifier le débit en bauds de manière permanente

Modifier le débit en bauds de manière permanente
Modifier le débit en bauds de manière permanente

Cette partie est facultative. Le débit en bauds par défaut est 115200, mais si vous souhaitez le changer pour une autre vitesse en bauds, vous pouvez simplement taper la commande suivante dans le moniteur série Arduino.

Par exemple, si vous souhaitez passer à 9600 baud rate / 8 bits de données / 1 bit d'arrêt / pas de bit de parité / pas de contrôle de flux.

Tapez:

AT+UART_DEF=9600, 8, 1, 0, 0

La réponse doit être:

d'accord

La commande ci-dessus modifie le débit en bauds de façon permanente à 9600 mais vous pouvez choisir n'importe laquelle des vitesses en bauds standard.

Étape 7: Dépannage

Dépannage
Dépannage
Dépannage
Dépannage

S'il y a des anomalies après le flashage réussi du firmware, par exemple, dans le moniteur série, après avoir sélectionné le débit en bauds par défaut de 115200 et taper: AT mais ne voyez aucune réponse ou si vous tapez AT+GMR et recevez un autre type d'informations autres que les informations de version du micrologiciel, vous avez peut-être flashé le mauvais micrologiciel. Dans ce cas, dans le programme Flash Download Tools, après avoir appuyé sur le bouton START pour lancer la procédure de flashage du micrologiciel, le bouton vert d'état indique SYNC et c'est à ce stade que les informations du module ESP sont extraites et mises à disposition sous DETECTED INFO. Ces informations sont cruciales pour déterminer le bon firmware et les bons fichiers à flasher.

Ce qui suit est pour mon module ESP-01:

vendeur flash:

E0h: N/A flash devID: 4014h QUAD; cristal 8 Mbit: 26 Mhz

Votre INFO DETECTE dépendra du modèle ESP-01. Mais cela vous permettra de déduire la bonne taille de flash. Dans mon ESP, c'est 8Mbit ce qui équivaut à 1Mo. Donc, cela signifie que je dois choisir 512 Ko + 512 Ko dans les fichiers du firmware. Et cela signifie également que le firmware 1.7.0 ou 1.7.1 ne fonctionnera pas correctement pour mon module ESP, ce que j'ai également confirmé en flashant ces firmware et en les testant. De plus, dans la description des firmwares 1.7.0 et 1.7.1 sur le site officiel des ressources Espressif, les informations suivantes sont répertoriées: "Limited by the size of the AT bin file, only `1024+1024 flash map' défaut." 1024+1024 signifie que c'est pour un module ESP avec une taille flash totale de 2048 Ko ou 2 Mo.

Remarque: au cas où vous vous poseriez la question, vous pouvez rétrograder ou mettre à niveau entre différentes versions de firmware sans aucune restriction. Si quelque chose ne va pas, vous pouvez simplement flasher à nouveau avec des paramètres différents ou essayer un autre firmware.

Conseillé: