Inhaltsverzeichnis:

Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO - Gunook
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO - Gunook

Video: Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO - Gunook

Video: Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO - Gunook
Video: ESP8266 / ESP-01 Firmware update mit Arduino UNO / MEGA flashen 2024, Juli
Anonim
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO
Wiederherstellen oder Aktualisieren der Firmware auf dem ESP8266 (ESP-01)-Modul mit Arduino UNO

Das ESP-01-Modul, das ich ursprünglich verwendet habe, wurde mit älterer AI Thinker-Firmware geliefert, was seine Fähigkeiten einschränkt, da viele nützliche AT-Befehle nicht unterstützt werden.

Es ist im Allgemeinen eine gute Idee, Ihre Firmware für Fehlerbehebungen zu aktualisieren, und je nach den vom ESP-Modul benötigten Funktionen ist möglicherweise ein vollständigerer Satz unterstützter AT-Befehle erforderlich. In diesem Tutorial wird auch erklärt, wie Sie die ursprüngliche Espressif-Firmware wiederherstellen oder flashen, wenn Sie Ihre ESP-Firmware beispielsweise durch falsche AT-Befehle durcheinander bringen. Dies geschah, als ich versuchte, die Standardbaudrate von 115200 auf 9600 zu ändern. Ich habe den folgenden Befehl verwendet (basierend auf einer schnellen Google-Suche):

AT+IPR=9600

Dies hat das ESP-01-Modul gemauert. Es funktionierten keine AT-Befehle mehr, was mich zu weiteren Recherchen veranlasste und nach vielen Stunden endlich einen Weg gefunden hatte, mein ESP-01 wiederherzustellen und die neueste kompatible Firmware zu installieren. Also entschied ich, dass es sich lohnt, den gesamten Prozess zu teilen.

Achtung: Aufgrund meiner Erfahrung rate ich dringend davon ab, den Befehl AT+IPR zu verwenden, um Ihre Baudrate zu ändern, da Sie höchstwahrscheinlich Ihre Firmware neu flashen müssen. Es gibt jedoch viele verschiedene Varianten des ESP-01-Moduls mit unterschiedlicher Flash-Größe und werksseitiger Firmware-Version, sodass Ihre Erfahrungen variieren können.

Das ESP-01-Modul ist nicht 5-V-kompatibel und benötigt 3,3 V, um es mit Strom zu versorgen, aber auch auf der Logikebene ordnungsgemäß zu funktionieren. Zur Kommunikation mit dem Computer benötigt das Modul zusätzlich einen USB-Seriell-Konverter. Anstatt also einen Spannungswandler und einen USB-zu-Seriell-Adapter zu verwenden, habe ich mich für eine einfachere Lösung entschieden. Da ich bereits ein Arduino UNO habe, habe ich letzteres verwendet, um das ESP-01-Modul mit Strom zu versorgen und die Kommunikation zwischen dem ESP-01 und dem Computer herzustellen, das effektiv als serielle Brücke funktioniert.

Lieferungen

  1. ESP-01-Modul
  2. Arduino UNO (mit USB-Kabel)
  3. Jumper DuPont Drähte
  4. Steckbrett

Schritt 1: Drahtverbindungen

Drahtverbindungen
Drahtverbindungen
Drahtverbindungen
Drahtverbindungen
Drahtverbindungen
Drahtverbindungen

Die Drahtverbindungen mit dem Arduino UNO- und ESP-01-Modul können einfach mit Überbrückungskabeln und einem Steckbrett hergestellt werden. Die Verbindungen zwischen dem Arduino-Entwicklungsboard und dem ESP-Modul sind in der Tabelle beschrieben. Die RX- und TX-Verbindungen werden in diesem Fall nicht vertauscht, da die Kommunikation nicht zwischen Arduino und ESP-Modul, sondern zwischen ESP und Computer stattfindet. In diesem Fall wird das Arduino UNO-Board über seinen integrierten USB-zu-Seriell-Konverter als serielle Brücke verwendet.

Die RX-Pins-Verbindung zwischen der Arduino-Platine und dem ESP-Modul sollte über einen Spannungsteiler erfolgen, da der ESP-01 mit 3,3 V Logikpegel arbeitet und der 5 V Logikpegel vom Arduino UNO das ESP-Modul beschädigen könnte. Sie können einen einfachen 3,3-V-Spannungsteiler mit nur 2 Widerständen aufbauen, wie in der Abbildung gezeigt. Optional können Sie einen Logikpegelwandler verwenden.

Achtung: Für mein Setup habe ich nur die RX-Pins direkt verdrahtet (nicht ratsam!) und alles hat funktioniert, aber wenn Sie sich entscheiden, auf die Logikpegelumwandlung zu verzichten, gehen Sie auf eigene Gefahr vor!

Um eine gemeinsame Masseverbindung herzustellen, wird der Arduino UNO Ground-Pin mit dem Ground-Pin des ESP-Moduls verbunden.

Das Arduino UNO wird verwendet, um den VCC-Pin des ESP-Moduls direkt mit 3,3 V zu versorgen. Verbinden Sie den 3,3 V-Pin mit einem Überbrückungskabel mit dem Steckbrett, da die 3,3 V nicht nur für den VCC-Pin des ESP, sondern auch für den CH_PD-Pin des ESP verwendet werden, um den ESP-Chip zu aktivieren.

Der RESET-Pin des Arduino UNO ist mit Masse verbunden, um jeden über das Arduino hochgeladenen Code zu umgehen, sodass der Code stattdessen vom Computer an den ESP-01 gesendet wird.

Die Tabellenabbildung zeigt den vollständigen Verbindungssatz für das Firmware-Flashen, aber verbinden Sie zu diesem Zeitpunkt nicht die Reset- und GPIO_0-Pins des ESP, da wir im nächsten Schritt nur die Firmware-Informationen lesen.

Schritt 2: Überprüfen Sie die Firmware-Version

Überprüfen Sie die Firmware-Version
Überprüfen Sie die Firmware-Version

Um Ihre ESP-01-Firmwareversion zu finden, geben Sie im Arduino IDE Serial Monitor Folgendes ein:

AT+GMR

Hinweis: Alle AT-Befehle müssen in Großbuchstaben ohne Leerzeichen eingegeben werden.

Hier ist die serielle Ausgabe für mein ESP-01 (Ihr ESP-Modul zeigt möglicherweise nicht genau die gleichen Informationen an, da dies vom spezifischen Modell und dem Veröffentlichungsdatum abhängt):

AT+GMR

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

Um nun auf die neueste offizielle Espressif ESP8266EX-Firmware zu aktualisieren, gehen Sie zum Ressourcenbereich der Website:

Hinweis: Die Liste der verfügbaren Firmware ist möglicherweise nicht alle mit Ihrem ESP-01-Modell kompatibel. Weitere Informationen finden Sie im Abschnitt Fehlerbehebung am Ende dieses Tutorials.

Schritt 3: Vorbereiten des Setups: Vor dem Firmware-Flashen

Vorbereiten des Setups: Vor dem Firmware-Flashen
Vorbereiten des Setups: Vor dem Firmware-Flashen

Jetzt bereiten wir das Arduino UNO für das ESP-01-Firmware-Flashing-Verfahren vor.

Stellen Sie sicher, dass das Arduino RESET-Kabel von Masse getrennt ist. Außerdem müssen die TX- und RX-Kabel vom Arduino UNO vom ESP-01-Modul getrennt werden.

Öffnen Sie die Arduino IDE und gehen Sie im oberen Menü zu Datei > Beispiele > 01. Basics > BareMinimum. Laden Sie die Skizze zum Arduino UNO hoch. Diese leere Skizze stellt sicher, dass keine Kommunikationsstörungen mit dem ESP-Modul auftreten.

Schließen Sie die RX- und TX-Kabel zwischen UNO und ESP-01 wieder an. Verbinden Sie außerdem den RESET-Pin des UNO mit Masse.

Der CH_PD- oder CH_EN-Pin steht für 'Chip Power-Down' oder 'Chip Enable' und muss auf HIGH gezogen oder mit 3,3 V verbunden werden, um den ESP-Chip zu aktivieren.

Für die folgenden ESP-Pins werden zwei zusätzliche Jumperkabel benötigt: GPIO_0 und RESET.

GPIO_2 wird nicht verwendet und bleibt getrennt.

Das ESP-01 muss in den Programmiermodus versetzt werden, damit Code darauf hochgeladen werden kann. Das ESP-01 verfügt jedoch nicht über die erforderliche On-Board-Zusatzhardware, um dies direkt zu erreichen, sodass alles separat angeschlossen werden muss. Für meinen eigenen Gebrauch habe ich mich nicht um die Verwendung von Schaltern gekümmert, sondern einfach zwei männlich-weibliche Überbrückungskabel verwendet, die mit den GPIO_0- und RESET-Pins des ESP-01-Moduls verbunden sind, und sie in die gemeinsamen Massepins des Steckbretts von der Arduino UNO-Masse gesteckt.

Vor Beginn des Flashvorgangs wird GPIO_0 für den gesamten Flashvorgang mit Masse verbunden, um den Programmiermodus zu aktivieren.

Der RESET-Pin wird für eine Sekunde mit Masse verbunden und dann entfernt. Dadurch kann die neue Firmware hochgeladen werden.

Schritt 4: Flash-Tool und Firmware herunterladen

Flash-Tool und Firmware herunterladen
Flash-Tool und Firmware herunterladen

Die verwendete Firmware stammt von Espressif, dem ursprünglichen Hersteller des ESP8266-Chips.

Gehen Sie zu: https://www.espressif.com/en/products/hardware/esp8266ex/resources, um auf die offiziellen Tools und AT-Firmware-Dateien zuzugreifen.

Laden Sie auf der Registerkarte "Tools" die Flash-Download-Tools (ESP8266 & ESP32) herunter, derzeit ist die neueste Version V3.6.8.

Laden Sie auf der Registerkarte "AT" die neueste kompatible AT-Firmware herunter, die ESP8266 AT Bin V1.6.2 für mein ESP-01-Modell ist. Dies hängt vom ESP-01-Modell ab, da es unterschiedliche Flash-Speichergrößen haben kann. Weitere Informationen hierzu finden Sie im Abschnitt DETECTED INFO des Programms Flash Download Tools, nachdem Sie auf START geklickt haben, um den Flash-Vorgang zu starten. Wenn Sie sich also nicht sicher sind, welche Flash-Größe oder welche Firmware-Dateien Sie auswählen sollen, führen Sie einfach das Programm aus, um die richtigen Informationen zu Ihrem ESP-Modul zu erhalten.

Nach dem Flashen können Sie AT-Befehle verwenden, um das ESP-01 zu testen und mit ihm zu arbeiten. Laden Sie den offiziellen ESP8266 AT-Befehlssatz herunter:

Schritt 5: Blinkverfahren

Blinkverfahren
Blinkverfahren
Blinkverfahren
Blinkverfahren
Blinkverfahren
Blinkverfahren
Blinkverfahren
Blinkverfahren

Entpacken Sie die ZIP-Datei der Flash Download Tools und öffnen Sie die exe-Datei. Stellen Sie sicher, dass Sie es als Administrator ausführen, wenn Sie Windows verwenden. Zuerst öffnet sich ein DOS-Fenster, gefolgt von einem Popup-Fenster. Wählen Sie das ESP8266-Download-Tool. Dies öffnet ein Fenster mit mehreren konfigurierbaren Optionen.

Sehen Sie sich in diesem Stadium den Screenshot an, um genau zu sehen, welche Optionen Sie auswählen und was Sie in die Hex-Code-Felder neben jeder der ausgewählten Firmware-Dateien eingeben müssen.

Hinweis: Wählen Sie die Firmware-Dateien in der gleichen Reihenfolge aus, da der Flash-Vorgang nacheinander erfolgt. Die Datei blank.bin muss dreimal ausgewählt werden, wie im Screenshot des AT-Befehlssatzes gezeigt.

Um die richtigen Hex-Codes oder Adressen zu finden, überprüfen Sie das offizielle AT-Befehlssatzdokument. Ich habe einen Screenshot der Tabelle angehängt, die ich zum Flashen meines ESP-Moduls verwendet habe.

Drücken Sie dann einfach auf die START-Taste und beobachten Sie, wie die Magie geschieht. Der Tastentext zeigt SYNC an und der Abschnitt DETECTED INFO zeigt die Spezifikationen Ihres ESP-Moduls an. Dann zeigt der Text DOWNLOAD an und der Fortschrittsbalken wird aktiviert, während die Firmware-Dateien in den ESP-Flash-Speicher hochgeladen werden. Nachdem der Firmware-Flash-Vorgang abgeschlossen ist, sehen Sie: FINISH.

Schließen Sie das Programm Flash Download Tools. Dies ist notwendig, um den seriellen Port freizugeben, damit der Arduino IDE Serial Monitor übernehmen kann.

Trennen Sie den ESP GPIO_0-Pin von der Masseverbindung. Dadurch wird der Programmiermodus deaktiviert.

Verbinden Sie RESET für 1 Sekunde mit Masse und trennen Sie dann die Verbindung. Dadurch wird das Modul zurückgesetzt.

Öffnen Sie die Arduino-IDE. Wählen Sie im oberen Menü Extras > Port > wählen Sie den richtigen COM-Port aus. Öffnen Sie Serial Monitor und wählen Sie "Both NL & CR" und wählen Sie die Baudrate von 115200, die die Standardeinstellung ist.

Typ:

BEI

Wenn der Flash-Vorgang korrekt verlief, lautet die Antwort:

OK

Geben Sie Folgendes ein, um Ihre neue Firmware zu überprüfen:

AT+GMR

Hier ist die Ausgabe des seriellen Monitors für mein ESP-01:

AT+GMR

AT-Version:1.6.2.0(13. April 2018 11:10:59) SDK-Version:2.2.1(6ab97e9) Kompilierzeit:7. Juni 2018 19:34:26 Bin-Version(Wroom 02):1.6.2 OK

Schritt 6: Ändern Sie die Baudrate dauerhaft

Baudrate dauerhaft ändern
Baudrate dauerhaft ändern

Dieser Teil ist optional. Die Standardbaudrate ist 115200, aber wenn Sie sie auf eine andere Baudgeschwindigkeit ändern möchten, können Sie einfach den folgenden Befehl in den Arduino Serial Monitor eingeben.

Zum Beispiel, wenn Sie auf 9600 Baudrate / 8 Datenbits / 1 Stoppbits / kein Paritätsbit / keine Flusskontrolle ändern möchten.

Eintippen:

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

Antwort sollte sein:

OK

Der obige Befehl ändert die Baudrate dauerhaft auf 9600, aber Sie können jede der Standardbaudgeschwindigkeiten wählen.

Schritt 7: Fehlerbehebung

Fehlerbehebung
Fehlerbehebung
Fehlerbehebung
Fehlerbehebung

Wenn nach erfolgreichem Flashen der Firmware Anomalien auftreten, z. B. im Serial Monitor, nachdem Sie die Standardbaudrate von 115200 ausgewählt haben und eingeben: AT, aber keine Antwort sehen oder wenn Sie AT+GMR eingeben und etwas anderes erhalten andere Informationen als die Informationen zur Firmware-Version, dann haben Sie möglicherweise die falsche Firmware geflasht. In diesem Fall wird im Flash Download Tools-Programm, nachdem Sie die START-Taste gedrückt haben, um den Firmware-Flash-Vorgang zu starten, die grüne Statustaste SYNC anzeigen und das ist die Stufe, in der die ESP-Modulinformationen extrahiert und unter DETECTED INFO verfügbar gemacht werden. Diese Informationen sind entscheidend, um die richtige Firmware und die richtigen Dateien zum Flashen zu bestimmen.

Folgendes gilt für mein ESP-01-Modul:

Flash-Anbieter:

E0h: N/A Flash devID:4014h QUAD;8Mbit Quarz:26 Mhz

Ihre DETECTED INFO hängt vom ESP-01-Modell ab. Dies ermöglicht es Ihnen jedoch, die richtige Blitzgröße abzuleiten. In meinem ESP sind es 8Mbit, was 1 MB entspricht. Das bedeutet also, dass ich 512 KB + 512 KB aus den Firmware-Dateien auswählen sollte. Und das bedeutet auch, dass die Firmware 1.7.0 oder 1.7.1 für mein ESP-Modul nicht richtig funktioniert, was ich auch durch Flashen dieser Firmware und Testen bestätigt habe. Außerdem sind in der Beschreibung der Firmware 1.7.0 und 1.7.1 auf der offiziellen Espressif-Ressourcen-Website die folgenden Informationen aufgeführt: "Begrenzt durch die Größe der AT bin-Datei wird nur `1024+1024 Flash Map` unterstützt von Ursprünglich." 1024+1024 bedeutet, dass es sich um ein ESP-Modul mit einer Gesamt-Flash-Größe von 2048 KB oder 2 MB handelt.

Hinweis: Falls Sie sich fragen, können Sie ohne Einschränkungen zwischen verschiedenen Firmware-Versionen downgraden oder upgraden. Wenn etwas schief geht, können Sie einfach mit anderen Parametern erneut flashen oder eine andere Firmware ausprobieren.

Empfohlen: