Inhaltsverzeichnis:

3 einfache Möglichkeiten zum Programmieren eines ESP8266 12X-Moduls - Gunook
3 einfache Möglichkeiten zum Programmieren eines ESP8266 12X-Moduls - Gunook

Video: 3 einfache Möglichkeiten zum Programmieren eines ESP8266 12X-Moduls - Gunook

Video: 3 einfache Möglichkeiten zum Programmieren eines ESP8266 12X-Moduls - Gunook
Video: ESP8266-01 - Pin-out und programmieren - einfach erklärt| #EdisTechlab #esp8266 #arduino 2024, November
Anonim
3 einfache Möglichkeiten zum Programmieren eines ESP8266 12X-Moduls
3 einfache Möglichkeiten zum Programmieren eines ESP8266 12X-Moduls

Wenn Sie mit dem ESP8266-Mikrocontroller nicht vertraut sind, habe ich wirklich das Gefühl, dass Sie etwas verpasst haben! Diese Dinge sind unglaublich: Sie sind billig, leistungsstark und haben vor allem integriertes WiFi! ESP8266 begann seine Reise als WiFi-Add-On-Board für traditionellere Arduino-Boards, aber kurz darauf erkannte die Community die Leistungsfähigkeit und fügte Support hinzu direkt mit der Arduino IDE programmieren zu können.

Wenn Sie heutzutage einen ESP8266 für Ihr Projekt verwenden möchten, würde ich empfehlen, ein Entwicklungsboard wie das Wemos D1 Mini * ($ 2,50 geliefert!!) oder Adafruit Feather Huzzah zu verwenden. Diese Boards haben alle verwendbaren Pins herausgebrochen, sind einfach über ihren Micro-USB-Anschluss programmierbar und haben einen eingebauten 3,3-V-Regler. Aber was, wenn Sie einen ESP8266 in einem Projekt mit einer benutzerdefinierten Platine verwenden möchten? Der einfachste Weg ist die Verwendung eines ESP12-Moduls, und in diesem Instructable zeige ich Ihnen ein paar einfache Möglichkeiten, sie zu programmieren. * = Affiliate Link

Schritt 1: Sehen Sie sich das Video an

Hier ist ein Video mit allen Informationen, die im Instructable enthalten sind, wenn Sie es ausprobieren möchten. Auf meinem Kanal arbeite ich viel mit ESP8266s, so dass mein Kanal im Allgemeinen einen Blick wert ist, wenn Sie so etwas interessiert!

Schritt 2: Vorschritt: Setup für die Programmierung des ESP8266

Image
Image

Wenn Sie den ESP8266 oder Arduino noch nie verwendet haben, müssen wir ein wenig Software einrichten. Dazu habe ich ein eigenes Video. Es ist nur 5 Minuten lang und führt alles durch, was Sie für die Einrichtung benötigen.

Wenn Videos nicht wirklich Ihr Ding sind, schauen Sie sich Lektion 2 von Beckys großartiger IoT-Klasse an, in der auch alles behandelt wird, was Sie brauchen.

Bevor Sie mit dem nächsten Abschnitt fortfahren, sollten Sie in der Lage sein, eine einfache Skizze auf einen ESP8266 hochzuladen (wie das im Video und in Beckys Lektion erwähnte Blinkbeispiel).

Schritt 3: Methode 1: "Frog" Pin-Programmierer

Methode 1
Methode 1

Dies ist wahrscheinlich der einfachste Weg, ein ESP12-Modul zu programmieren. Sie stecken das Modul im Grunde einfach in das Board und dann verhält es sich genau wie eines der zuvor erwähnten Entwicklungsboards. Ich habe beim Programmieren das Wemos D1 Mini-Board aus der Dropdown-Liste der Boards ausgewählt. Die Nachteile dieser Methode sind:

  • Der Programmierer ist etwas teuer, wenn Sie nur wenige Boards erstellen.
  • Platinen können nur so programmiert werden, bevor sie auf Ihre Leiterplatte gelötet werden

Der, den ich gekauft habe, ist von Aliexpress, aber ich glaube, der ursprüngliche Designer ist ein Benutzer von Tindie namens Fred. Sie waren zu der Zeit ausverkauft, also habe ich mich für das Aliexpress entschieden, aber ich werde auf beide verlinken.

  • Aliexpress Pop-in ESP-Modul Programmierer *
  • Fred's Frog Pin ESP Modul Programmierer

* = Affiliate-Link

Schritt 4: Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden

Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden
Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden
Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden
Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden
Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden
Methode 2: Grundsätzlich jeden USB-zu-Seriell-Konverter verwenden

Für die nächste Methode werden wir das ESP-Modul manuell in den Programmiermodus versetzen und dann praktisch jeden USB-Seriell-Konverter verwenden, um den ESP8266 zu programmieren, sogar dieser PL2303*, der 50c kostet, funktioniert!

Normale Operation:

Bevor wir mit der Programmierung beginnen, müssen wir uns zunächst ansehen, welche externen Komponenten der ESP8266 ausführen muss. Für den normalen Betrieb benötigt ein ESP-12-Modul Folgendes:

  • EN, RST und GPIO 0 müssen mit einem 10K-Widerstand hochgezogen werden
  • GPIO 15 muss mit einem 10K-Widerstand auf Masse gezogen werden
  • 3,3-V-Netzteil mit einer Stromstärke von etwa 250 mA (eine Obergrenze zwischen VCC und GND wird empfohlen)

Mit der obigen Konfiguration befindet sich der ESP8266 beim Einschalten im normalen Betriebsmodus, sodass alle Skizzen ausgeführt werden, die Sie darauf programmiert haben. Sie können Breakout-Boards für ESP-12-Module* kaufen, die wirklich nützlich sind, um die verschiedenen Setups zu testen. Die Module haben die Widerstände für den EN- und GPIO 15-Pin, sodass Sie noch den Pull-up-Widerstand für RST und GPIO 0 hinzufügen müssen.

Programmiermodus aktivieren:

Um in den Programmiermodus zu gelangen, muss GPIO 0 beim Hochfahren des ESP auf Low gezogen werden. Der einfachste Weg, dies zu tun, besteht darin, Tasten zu GPIO 0 und dem RST-Pin hinzuzufügen, die beim Drücken mit Masse verbunden werden. Um dann den Blitzmodus zu aktivieren, müssen Sie einfach

  • Halten Sie die GPIO 0-Taste gedrückt
  • Drücken Sie die RST-Taste
  • Dann beide Tasten loslassen

Sie müssen diese Sequenz zu keinem bestimmten Zeitpunkt während des Upload-Vorgangs oder ähnlichem ausführen, sobald sich der ESP im Programmiermodus befindet, bleibt er dort bis zum nächsten Reset, also führen Sie die Schritte einfach jederzeit vor dem Upload durch.

Programmierung mit einem USB-zu-Seriell-Adapter:

Das Aktivieren des Programmmodus ist nur die halbe Miete, jetzt müssen wir das Modul tatsächlich programmieren. Die meisten USB-zu-Seriell-Adapter können den ESP8266 nicht mit genügend Strom versorgen, daher wird empfohlen, den ESP8266 über eine externe 3,3-V-Quelle mit Strom zu versorgen.

Um den Programmierer zu verdrahten, müssen Sie die folgenden Pins verbinden (auch in einem Bild oben gezeigt):

  • Verbinden Sie TX des Programmierers mit RX des ESP8266 (Kein Tippfehler, die Verbindungen sind vertauscht)
  • Verbinden Sie RX des Programmierers mit TX des ESP8266
  • Verbinden Sie die Masse des Programmiergeräts mit der Masse des ESP8266

Führen Sie die folgenden Schritte aus, um Ihre Skizze hochzuladen:

  • Wählen Sie die Portnummer Ihres seriellen Adapters (Tools->Port)
  • Aktivieren Sie den Programmiermodus auf Ihrem ESP8266 wie oben beschrieben
  • Klicken Sie auf die Schaltfläche Hochladen. (Wenn es fehlschlägt, überprüfen Sie Ihre Verkabelung und versuchen Sie erneut, Ihr Board in den Programmiermodus zu versetzen)
  • Klicken Sie auf die Schaltfläche Zurücksetzen, wenn der Upload abgeschlossen ist

Hier sind die Board-Einstellungen, die ich beim Hochladen mit dieser Methode verwendet habe:

  • Board: Generisches ESP8266-Modul
  • Blitzmodus: DIO
  • Blitzgröße: 4M (3M Spiffs)
  • Reset-Methode: ck
  • Blitzfrequenz: 40MHz
  • Upload-Geschwindigkeit: 115200

Das letzte, was zu beachten ist, ist die LED_BUILIN-Definition für ein generisches ESP8266-Modul, das auf Pin 1 zeigt, aber die eingebaute LED eines ESP12-Moduls ist mit Pin 2 verbunden (sie ist auch nur als FYI aktiv). Wenn Sie also eine Blinkskizze testen, müssen Sie die Nummer 2 anstelle von LED_BUILTIN verwenden

* = Affiliate-Link

Schritt 5: Methode 3: Automatisches Zurücksetzen des Programmierers mit einer NodeMCU

Methode 3: Automatisches Zurücksetzen des Programmierers mit einer NodeMCU
Methode 3: Automatisches Zurücksetzen des Programmierers mit einer NodeMCU
Methode 3: Automatisches Zurücksetzen des Programmierers mit einer NodeMCU
Methode 3: Automatisches Zurücksetzen des Programmierers mit einer NodeMCU

Wenn Sie ESP-Entwicklungsboards verwendet haben, werden Sie bemerkt haben, dass Sie im Grunde alle nicht manuell den Programmiermodus mit den Tasten aktivieren müssen, also wie machen sie das?

Die meisten USB-zu-Seriell-Chips haben zusätzliche Pins, die Signale in verschiedenen Stadien des Upload-Prozesses ausgeben, und mit der Verwendung einiger externer Schaltkreise ist es möglich, den Low des GPIO 0 und die erforderlichen Resets auszulösen. RuiMoteiro hat eine Anleitung zu diesem Thema mit einem FTDI-Board und ESP8266.

Aber ich denke, es gibt einen einfacheren Ansatz, und was noch besser ist, ist die Chance, dass Sie bereits alles haben, was Sie dafür brauchen! Als Programmierer können Sie ein ESP8266-Entwicklungsboard wie eine NodeMCU verwenden.

Was ist der Vorteil der Verwendung einer NodeMCU?

Die Hauptvorteile der Verwendung der NodeMCU als Programmierer sind die folgenden:

  • Sie können den ESP8266 direkt über die 3V-Pins der NodeMCU mit Strom versorgen
  • Übernimmt das automatische Zurücksetzen/Aktivieren des Programmiermodus
  • Die Lieferung kostet etwa 2,50 US-Dollar (und kann als normales Entwicklungsboard verwendet werden, wenn keine anderen programmiert werden!)

Sie können denselben Ansatz mit jedem Dev-Board verwenden, das den Chip-Enable-Pin des ESP8266 freilegt.

Wie funktioniert es?

Die Idee dazu habe ich von einem YouTuber namens Mika Kurkela, der in seinem Video die NodeMCU verwendet hat, um ein ESP-01-Modul zu programmieren, aber wir können die gleiche Idee für das ESP12-Modul verwenden.

Grundsätzlich werden wir den ESP8266 auf der NodeMCU deaktivieren, indem wir den EN-Pin niedrig erzwingen. Dies verhindert, dass das ESP8266-Modul auf der NodeMCU bootet. Wir werden dann alle relevanten Pins der NodeMCU-Platine mit unserem externen ESP8266 verbinden.

Verkabeln

Um es zu verkabeln, benötigen Sie die Standard-ESP8266-Verkabelung wie im vorherigen Schritt gezeigt und dann die folgenden Verbindungen (auch im Bild oben gezeigt):

  • Verbinden Sie 3V der NodeMCU mit VCC des ESP8266
  • Verbinden Sie GND mit GND
  • Verbinden Sie TX der NodeMCU mit TX des ESP8266 (Dies unterscheidet sich vom vorherigen Schritt)
  • Verbinden Sie RX der NodeMCU mit RX des ESP8266
  • Verbinden Sie D3 der NodeMCU mit GPIO 0 des ESP8266 (D3 ist GPIO 0 des ESP8266)
  • Verbinden Sie RST der NodeMCU mit RST des ESP8266
  • Verbinden Sie EN der NodeMCU mit GND

Hochladen einer Skizze

Sobald Sie den ESP8266 verkabelt haben, müssen Sie Folgendes tun:

  • Wählen Sie die Portnummer der NodeMCU (Tools->Port)
  • Wählen Sie den Boardtyp "NodeMCU 1.0 (ESP12-E Module)"
  • Klicken Sie auf Hochladen

Und das ist es! Es aktiviert automatisch den Programmiermodus und wird nach dem Hochladen automatisch zurückgesetzt, sodass die Ausführung der Skizze beginnt.

Verwenden Sie dies in Ihren Board-Designs

Um diese Methode in Ihren Board-Designs zu verwenden, müssen Sie lediglich die folgenden Pins ausbrechen:

  • Boden
  • GPIO 0
  • VCC
  • TX
  • RX
  • RST

Und wenn Sie Ihre Boards programmieren möchten, verdrahten Sie es wie oben.

Hoffentlich finden Sie dieses Instructable nützlich, wenn Sie Fragen haben, wenden Sie sich bitte an uns!

* = Affiliate-Link

Empfohlen: