ESP8266 NodeMCU-Firmware. Eine WLAN-Steckdose bauen. ESP8266 – Verbindung und Firmware-Update

Nach ihrem Erscheinen erfreuten sich Boards, die auf dem WLAN-Chip ESP8266 basieren, großer Beliebtheit. Riesige Möglichkeiten und ein Mindestpreis, der selbst zu Beginn des Verkaufs und im Einzelhandel nicht mehr als 5 US-Dollar betrug, haben ihren Zweck erfüllt. Rund um den Chip haben sich Gemeinschaften gebildet, in denen Menschen Informationen austauschen und Software erstellen.

Was ist neben dem niedrigen Preis der Grund für diese Beliebtheit?

Tatsache ist, dass ESP8266-Boards nicht nur Module für die WiFi-Kommunikation sind. Der Chip ist im Wesentlichen ein Mikrocontroller mit eigenen SPI-, UART- und GPIO-Ports, was bedeutet, dass das Modul autonom ohne Arduino und andere Platinen mit Mikrocontrollern verwendet werden kann.

Information

Unsere chinesischen Kameraden produzieren bereits etwa zwölf Arten von Boards auf Basis von ESP8266: mit externem Antennenanschluss, mit Keramikantenne, mit PCB-Antenne, ohne Antenne. Außerdem verfügen verschiedene Module über eine unterschiedliche Anzahl von GPIOs. Weitere Details finden Sie auf der russischsprachigen Website.

In diesem Test werde ich eines der allerersten Boards verwenden ESP-01. Um den Chip vollständig nutzen zu können, benötigen Sie außerdem einen Konverter USB/UART, empfehle ich, eine Rezension dazu gab es bereits auf mysku.

Verbindung

Die Pinbelegung des ESP-01-Anschlusses ist in der Abbildung dargestellt:

Wenn Sie in Ihren Projekten nicht über genügend zwei Ausgangs-GPIOs verfügen und sich nicht auf „Dirty Hacks“ einlassen möchten, empfehle ich zum Beispiel den sofortigen Kauf neuer Boards ESP-07 oder ESP-12. Bedenken Sie jedoch, dass diese Platinen eine unabhängige Verkabelung erfordern und dafür spezielle Mini-Kits erhältlich sind.

Fotos dieser Boards


Beispielsweise wurde ESP-01 von Dave Allan gehackt. Zusätzlich erhalten Sie 4 GPIOs: GPIO14, GPIO12, GPIO13 und GPIO15

Anschlussplan:
- ESP-01 VCC zu USB/UART VCC (+3,3 V);
- ESP-01 GND zu USB/UART GND;
- ESP-01 URXD zu USB/UART TXD;
- ESP-01 UTXD zu USB/UART RXD;
- ESP-01 CH_PD zu USB/UART VCC (+3,3V);
- ESP-01 GPIO0 zu USB/UART GND - nur während Firmware-Update!..

Firmware

Für den ESP8266 gibt es ein SDK und Original-Firmware von Espressif Systems, aber viele sind aufgrund seiner „Rohheit“ damit nicht zufrieden, sodass nicht-Original-Firmware veröffentlicht wird, wie etwa NodeMCU, Frankenstein und andere.

In diesem Test wird nicht die ursprüngliche NodeMCU-Firmware verwendet. Eine Liste der Befehle und Beispiele finden Sie unter.

Wir aktualisieren die ursprüngliche „Werks“-Firmware auf NodeMCU:
- Laden Sie das Dienstprogramm zum Flashen - ;
- Firmware laden - ;
- Wir verbinden über ESP-01 mit USB/UART gemäß dem oben dargestellten Diagramm. Vergessen Sie nicht, GPIO0 mit GND zu verbinden. USB/UART einstecken USB-Anschluss Computer;
- Führen Sie XTCOM_UTIL.exe aus, gehen Sie zu Extras -> Gerät konfigurieren, wählen Sie den COM-Port aus, an den das Board angeschlossen ist, stellen Sie die Portgeschwindigkeit auf 57600 ein, klicken Sie auf „Öffnen“ und dann auf „Verbinden“. Das Programm sollte „Mit Ziel verbinden OK!“ sagen. Schließen Sie das Einstellungsfenster. Gehen Sie zum API-TEST-Menü, wählen Sie (4) Flash Image Download, geben Sie den Pfad zur Datei „nodemcu_512k_latest.bin“ an, belassen Sie die Adresse 0x00000 und klicken Sie auf „Herunterladen“. Der Firmware-Download sollte beginnen und nach Abschluss wird eine Meldung angezeigt.
- Schalten Sie die Stromversorgung der Platine aus, trennen Sie den GPIO0-Pin vom gemeinsamen Kabel und schalten Sie die Stromversorgung ein. Starten Sie das Terminal Putty, CoolTerm oder andere (ACHTUNG! Ändern Sie die Portgeschwindigkeit auf 9600) und überprüfen Sie die Bereitschaft des Boards mit dem Befehl
> print(node.chipid())
10013490

Erstes Drehbuch

Wenn Sie Probleme bei der Arbeit mit Skripten haben, wird empfohlen, die 3,3-V-Stromversorgung nicht über USB/UART, sondern über eine separate Quelle bereitzustellen. Die Spannung sollte genau 3,3V betragen, beispielsweise durch ein stabilisiertes Netzteilmodul am AMS1117 3,3V 800mA.

Um Skripte in den ESP8266 zu schreiben und zu laden, wird eine kleine und praktische IDE verwendet:

Unser erstes Skript schaltet die LED alle 2 Sekunden aus und wieder ein:
- Schalten Sie den Strom aus, schließen Sie einen Widerstand und eine LED an GPIO2 an. Schalten Sie den Strom ein.
- Starten Sie ESPlorer, wählen Sie die gewünschte COM- und Portgeschwindigkeit 9600 aus, klicken Sie auf Öffnen;
- Fügen Sie den Code ein und klicken Sie auf „In ESP speichern“.

Pin = 4 --GPIO2 gpio.mode(pin, gpio.OUTPUT) für i=1, 10, 1 für gpio.write(pin, gpio.LOW) tmr.delay(2000000) gpio.write(pin, gpio.HIGH ) tmr.delay(2000000) Ende
- Klicken Sie zum Neustart auf DoFile.

Anschluss des DHT11-Sensors

Um fortgeschrittenere Arbeiten mit der NodeMCU-Firmware zu demonstrieren, verbinden wir den DHT11-Sensor mit dem ESP-01:
- DHT11 VCC zu USB/UART VCC
- DHT11 GND zu USB/UART GND
- DHT11-Ausgang zu USB/UART GPIO2

Code vom Benutzer Pigs Fly aus dem ESP8266.com-Forum

Funktioniert für DHT11 auf ESP-07 (Version mit 16 Pins) und ESP-01 – nur Firmware 20141219 getestet. – Der Zeitpunkt der Datenstromerfassung ist entscheidend. Es ist kaum genug Geschwindigkeit vorhanden, um dies zu ermöglichen. --In der Schleife verwendete Variablen vorab zuweisen. bitStream = () für j = 1, 40, 1 tun bitStream[j]=0 end bitlength=0 pin = 4; gpio.mode(pin, gpio.OUTPUT) gpio.write(pin, gpio.LOW) tmr.delay(20000) – Verwenden Sie Markus Gritschs Trick, um das Lesen/Schreiben auf GPIO zu beschleunigen gpio_read=gpio.read gpio_write= gpio.write gpio.mode(pin, gpio.INPUT) --bus wird irgendwann immer nachlassen, kümmere dich nicht um Timeout while (gpio_read(pin)==0) do end c=0 while (gpio_read(pin)= =1 und c<100) do c=c+1 end --bus will always let up eventually, don"t bother with timeout while (gpio_read(pin)==0) do end c=0 while (gpio_read(pin)==1 and c<100) do c=c+1 end --acquisition loop for j = 1, 40, 1 do while (gpio_read(pin)==1 and bitlength<10) do bitlength=bitlength+1 end bitStream[j]=bitlength bitlength=0 --bus will always let up eventually, don"t bother with timeout while (gpio_read(pin)==0) do end end --DHT data acquired, process. Humidity = 0 HumidityDec=0 Temperature = 0 TemperatureDec=0 Checksum = 0 ChecksumTest=0 for i = 1, 8, 1 do if (bitStream >2) then Humidity = Humidity+2^(8-i) end end for i = 1, 8, 1 do if (bitStream > 2) then HumidityDec = HumidityDec+2^(8-i) end end for i = 1, 8, 1 do if (bitStream > 2) then Temperature = Temperature+2^(8-i) end end for i = 1, 8, 1 do if (bitStream > 2) then TemperatureDec = TemperatureDec+2^(8-i ) end end for i = 1, 8, 1 do if (bitStream > 2) then Checksum = Checksum+2^(8-i) end end ChecksumTest=(Humidity+HumidityDec+Temperature+TemperatureDec) % 0xFF print ("Temperature: "..Temperature.."."..TemperatureDec) print ("Humidity: "..Humidity.."."..HumidityDec) print ("ChecksumReceived: "..Checksum) print ("ChecksumTest: "..ChecksumTest )


Ich entschuldige mich für die Qualität des Videos, ich habe es mit meinem Handy gefilmt.

HTTP-Server

Beispiel einer Verbindung zu WLAN-Punkt Zugriff und Antwort auf eine Anfrage über HTTP.

Wifi.setmode(wifi.STATION) wifi.sta.config("SSID","password") print(wifi.sta.getip()) srv:listen(80,function(conn) conn:on("receive", function(conn,payload) print(payload) conn:send("

Hallo Benutzer.

") Ende) Ende)

Epilog

Der ESP8266-Chip ist definitiv ein Durchbruch, vor allem im Hinblick auf das Preis-Leistungs-Verhältnis. Natürlich sind die bestehenden Probleme in der Original- und Nicht-Original-Firmware erwähnenswert, aber die Arbeit ist im Gange und ich hoffe, dass in Zukunft ähnliche Chips in jeden Wasserkocher eingebaut werden. Ich plane den Kauf von +156 Zu Favoriten hinzufügen Die Rezension hat mir gefallen +103 +196

Um diese Seite nutzen zu können, muss JavaScript aktiviert sein

Firmware und Einführung des ESP8266-Moduls (aktualisiert: 23. Juni 2018, 22:01:16)

Dies ist eine allgemeine Dokumentation für den ESP8266-Chip. Bitte beachten Sie, dass dieser Chip als veraltet gilt, obwohl er sehr beliebt ist – er wurde durch den ESP32-Chip ersetzt.

Zunächst müssen Sie ermitteln, wie viel Speicher auf dem ESP8266-Modul installiert ist. Es gibt Moduloptionen mit installierter Speicher 512 kByte (4 Megabit) sowie 4 MB (32 Megabit). Selten, aber mit Flash-Speicher 1 MB (8 Megabit) anzutreffen. Fast alle Varianten des ESP-12 und des neuen ESP-07 haben 4 Megabyte an Bord. Die Speichergröße kann anhand der Markierung des Flash-Chips ermittelt werden, die im Flash-Download-Tool oder auf der Registerkarte /debug angezeigt wird. Die Markierung sieht aus wie 25QXX, wobei XX das Volumen in Megabit ist, zum Beispiel hat 25Q32 32 Megabit = 4 Megabyte an Bord.

Ermitteln der Speichergröße mithilfe der Registerkarte „ip_adr/debug“:

Die Registerkarte „Debug“ enthält verschiedene nützliche Informationen, darunter die tatsächliche Größe des Flash-Speicherchips in der Zeile „Flash Real Size“ sowie die im Flash Set Size-Programm festgelegte Speichergröße, die für die ordnungsgemäße OTA-Unterstützung wichtig ist.

Wenn Sie nicht im Designer registriert sind, können Sie die zusammengestellte Firmware hier herunterladen Homepage, wo zwei leichte Firmware-Optionen verfügbar sind:

Option mit OTA-Unterstützung mit Chip-Speicherkapazität von 1 MB und höher. Es ist notwendig, im Flashprogramm eine Speichergröße von 1 MB auszuwählen!! Module mit einer Flash-Speichergröße von 512 KB werden vom OTA-Modus nicht unterstützt!!

Option ohne OTA-Unterstützung. Wenn die Größe der empfangenen Datei (eine Datei) mehr als 496 KB beträgt, ist eine Flash-Speicherunterstützung von mindestens 1 Megabyte erforderlich!! Im Vergleich zum OTA-Modus verfügt diese Option über deutlich weniger aktivierte Optionen.

Die Möglichkeit, die Firmware über OTA weiter zu aktualisieren, steht nur denjenigen zur Verfügung, die über aktivierte Schlüssel verfügen!

Wenn Sie Probleme beim Starten der Firmware haben, schauen Sie sich unbedingt den folgenden Absatz zur Lösung von Problemen mit der Firmware an!

Firmware im Konstruktor erstellen

Der Designer ermöglicht es Ihnen, die Firmware entsprechend Ihren Anforderungen zusammenzustellen und dabei nur die Funktionen und Sensoren in die Firmware aufzunehmen, die benötigt werden.

Es macht keinen Sinn, alle Optionen in der Firmware zu aktivieren – in diesem Fall kann es sein, dass die Firmware nicht zusammengestellt wird, weil sie nicht in das Modul passt. Bessere Firmware Erstellen Sie erneut, wenn Sie andere Optionen ausprobieren möchten.

Einige Optionen haben zusätzliche Einstellungen, die sich im Zahnradsymbol befinden. Dort können Sie die verfügbare Anzahl beispielsweise von Thermostaten oder anderen Optionen auswählen. Wenn sich die Menge aufgrund von ändert dynamische Einstellungen Andere Moduloptionen verschwinden möglicherweise nach einem späteren Update. Bei Ersteinrichtung Damit solche Probleme nicht auftreten, empfiehlt es sich, gleich die benötigte Anzahl an Optionen auszuwählen.

Bei der erstmaligen Zusammenstellung der Firmware empfiehlt es sich, die OTA-Option zu nutzen, damit das nächste Update über das Internet ohne Verwendung einer Programmiererverbindung möglich ist. Mit der OTA-Option können weitere Optionen aktiviert werden, allerdings muss der Speicher auf dem Modul mindestens 1 Megabyte betragen!!

Beim Erstellen der Firmware können Sie verschiedene SDKs auswählen. Empfohlene SDK-Version 1.3.0. In neuen Versionen wurde ein Problem mit dem Access Point-Modus festgestellt ( Abgesicherter Modus)(???), es gibt jedoch keine Probleme mit der Zuverlässigkeit der Kommunikation mit dem Router. SDK ist eine Reihe von Bibliotheken und Funktionen des Chipherstellers für den Betrieb des Geräts.

Nachdem Sie auf die Schaltfläche „Kompilieren“ geklickt haben, stellt der Firmware-Designer nach einer Weile Download-Links bereit:

Im Nicht-OTA-Modus können Sie die Firmware-Dateien in einer Datei flashen – dann alle Moduleinstellungen, sofern diese zurückgesetzt wurden. Wenn Sie die Firmware aktualisieren und nicht möchten, dass die Einstellungen gelöscht werden, müssen Sie die Firmware mit zwei Dateien an den im Dateinamen angegebenen Adressen aktualisieren.

Im OTA-Modus reicht es aus, die Firmware mit einer Datei hochzuladen. Aber 0x81000.bin kann erforderlich sein, wenn Sie die Firmware per Kabel aktualisieren möchten, nachdem Sie OTA verwendet haben, wenn die Datei user2.bin geladen ist – in diesem Fall wird durch das Aktualisieren der Firmware mit einer Datei nicht die aktive Firmware aktualisiert.

Anschließen des Moduls für Firmware

Zum Flashen der ESP8266-Firmware benötigen Sie einen USB-UART-Adapter oder Arduino. Der ESP8266 muss eine Versorgungsspannung von 3,3 V und einen Strom von 200..300 mA bereitstellen. Es wird nicht empfohlen, eine 3,3-V-Stromversorgung über ARDUINO oder USB-UART anzuschließen – das Modul funktioniert möglicherweise aufgrund von Strommangel nicht stabil. Es wird empfohlen, Stabilisator Typ 1117 zu verwenden.

Anschließen des ESP8266 an USB-UART: Es ist notwendig, die gemeinsamen GND-Pins (Minus) anzuschließen. RX von USB-UART zu TX ESP, TX von USB-UART zu RX ESP. Wir schließen auch die 3,3V-Stromversorgung an.

Anschließen des ESP8266 an Arduino: Es ist notwendig, die gemeinsamen Pins GND (Minus) für Arduino mit RX ESP und TX für Arduino mit TX ESP zu verbinden. Wir schließen auch die 3,3V-Stromversorgung an. RESET auf Arduina muss mit GND verbunden sein.

Beim ESP8266-Modul muss der CH_EN-Pin mit +3,3 V verbunden sein, um den Chip einzuschalten.

GPIO 0 muss während der Programmierung vor dem Einschalten mit GND (Masse) verbunden werden. Nach erfolgreicher Firmware muss GPIO 0 von GND getrennt werden. Wenn GPIO 15 auf dem Modul ausgegeben wird, muss dieser dauerhaft über einen 10 kOhm-Widerstand mit GND verbunden werden!!

Wenn Ihr esp8266-Modul bereits über einen USB-UART an Bord verfügt (z. B. Wemos, NodeMCU), sind die oben genannten Schritte nicht erforderlich.

Modul-Firmware

Zuerst müssen Sie Treiber für Ihren USB-UART-Adapter oder Arduino installieren.

Firmware über Nodemcu Flasher: Stellen Sie den Parameter „Flash-Größe“ auf der Registerkarte „Erweitert“ entsprechend der ausgewählten Flash-Speichergröße (in Bytes) ein. Modus Blitz funktioniert QIO einstellen (bei Verwendung von GPIO 9/10 - DIO). Die restlichen Parameter berühren wir nicht. Geben Sie auf der Registerkarte „Config“ den Pfad zur Firmware-Datei mit der Adresse 0x0000 an. Wählen Sie auf der Registerkarte „Betrieb“ den COM-Port aus und drücken Sie die FLASH-Taste.

Firmware über Flash-Download-Tool: Die Schritte sind die gleichen.

Firmware über Flasher für Website. Das Programm verfügt über eine russischsprachige Benutzeroberfläche und wird sowohl von Windows als auch von Windows unterstützt Linux-Systeme. Zur Zeit Firmware ist in Bearbeitung nur bei 0x0000 Dateiadresse „Download als eine Datei (0x00000)“. Wenn der API-Schlüssel installiert ist, ist ein automatischer Download möglich vormontiert Firmware direkt vom Designer (nur im OTA-Modus). Um den Speicher zu löschen, können Sie anstelle des Formulars die Option „Chip vor dem Flashen löschen“ verwenden.

Für ESP8285-Module und Module mit PN25F08B-SpeicherDOUT-Speichermodus erforderlich!!

Firmware über esptool. Beispielbefehl esptool.py --port /dev/ttyUSB0 write_flash -fs 8m 0x00000 esp8266.bin . Dabei wird der Parameter -fs 8m nur benötigt, um die Größe für die Ein-Megabyte-Firmware anzugeben.

Flashen der ESP INIT DATA-Datei

Es wird empfohlen, die Datei esp_init_data_default.bin mit Standardkalibrierungen in das Modul zu flashen; diese Einstellungen wirken sich auf den Betrieb von WLAN und ADC aus. In den meisten Fällen funktionieren Module ohne diese Datei ordnungsgemäß. Die neuesten SDKs werden ohne diese Datei möglicherweise überhaupt nicht gestartet.

Die Datei-Firmware-Adresse hängt von der installierten Flash-Speichergröße ab:

0x7c000 für 512 kB.

0xfc000 für 1 MB.

0x3fc000 für 4 MB.

0xffc000 für 16 MB.

Sie können diese Einstellungen auch mit dem GET-Befehl herunterladen. http:///configinit?def=1, die neuesten SDKs selbst registrieren diese Einstellungen.

Starten des Moduls

Beim ersten Einschalten wechselt das Modul in den Modus Abgesicherter Modus automatisch, da der Zugangspunktname nicht darin enthalten ist. Im Modus Abgesicherter Modus V Ein Punkt mit dem Namen erscheint in der Luft WiFi-IoT(in Firmware bis 10/12/16 homessmart), mit dem Sie sich per Smartphone oder Laptop verbinden können.

Sie können auch in den abgesicherten Modus gelangen, indem Sie RX und TX kurzschließen und das Modul neu starten, oder indem Sie die RESET-Taste am ESP8266 dreimal drücken (mit einem Druckintervall von etwa einer Sekunde).

1. Verwendung des Captive Portal mobiles Gerät zeigt eine Verbindungsbenachrichtigung an, die beim Anklicken automatisch die Hauptwebseite des Moduls öffnet. Sie können das Modul auch durch Eingabe der Adresse im Browser betreten iot.local(oder irgendein anderes, zum Beispiel iot.ru). Captive Portal wird nicht unterstützt, wenn die Firmware auf SDK 0.9.5 basiert!

2. Gehen Sie nach erfolgreicher Verbindung manuell über einen Webbrowser zur Adresse http://192.168.4.1.

Als nächstes konfigurieren wir die Verbindung zu unserem Router auf der Hauptregisterkarte der Weboberfläche.Sie müssen die Daten Ihres Zugangspunkts in die Felder der WLAN-Optionen eingeben. Um eine Verbindung zum Router herzustellen, wählen Sie den Modus „Stationsmodus“. Nach Drücken der Set-Taste erscheint unten eine IP-Adresse, auf die Sie in Ihrem zugreifen können drahtloses Netzwerk.

Sie können Ihren Benutzernamen und Ihr Passwort auch auf den Einstellungsseiten der Webschnittstelle festlegen. Die Länge von Login und Passwort beträgt maximal 8 Zeichen. Für alle Einstellungsregisterkarten ist ein Passwort erforderlich. Und wenn die Option „Volle Sicherheit“ installiert ist, werden auch alle GET-Kontrollanforderungen angewendet. Im abgesicherten Modus Modus-Passwort nicht angefordert!

Auf dieser Registerkarte können Sie einen Namen für das Modul festlegen, der auf der Hauptseite und im Flymon-System sowie im Thema auf dem MQTT-Server angezeigt wird.

Die oben genannten Schritte sind nicht erforderlich, wenn die Firmware mit der Option kompiliert wurde Standardeinstellungen, wo die Router-Parameter und die IP-Adresse vorregistriert wurden. Nach erfolgreicher Firmware-Installation und Neustart können Sie innerhalb Ihres WLAN-Netzwerks sofort auf die angegebene IP-Adresse des Moduls zugreifen.

Beheben von Firmware-Problemen

Manchmal startet das Modul nach Firmware oder Müll von Drittanbietern möglicherweise nicht und es müssen zusätzliche Schritte unternommen werden. Es ist notwendig, den Flash-Speicher an der Adresse 0x00000 zu löschen. Als nächstes flashen wir die Firmware selbst erneut.

Bei einigen Benutzern startet das Modul auch nach dem Löschen mit einem Leerzeichen nicht oder startet nur, wenn der 512-KB- oder 4-MB-Modus eingestellt ist. Möglicherweise liegt dies an der geringen Qualität des Flash-Speichers oder seiner teilweisen Inkompatibilität mit dem ESP8266-Chip. Einigen Angaben von Nutzern zufolge hilft ein Austausch des Speicherchips.

Wenn auf der Hauptseite des Moduls die Meldung „Fehler Flash-Größe! (Code 0x1)“ angezeigt wird, bedeutet dies, dass 1 Megabyte Firmware im 512-KB-Modus geflasht wurde. In diesem Fall wird der abgesicherte Modus aktiviert und es kann aufgrund solcher falschen Einstellungen zu Fehlfunktionen des Moduls kommen. Stellen Sie sicher, dass die erforderliche Speichergröße auf dem Modul eingestellt ist. Dies ist auf der Webregisterkarte IP_ADDRESS/debug in der Zeile „Flash Real Size“ zu sehen. Der Speicherkapazitätsmodus wird im Firmware-Programm angezeigt.

Wenn auf der Hauptseite des Moduls die Meldung „Fehler Flash-Größe! (Code 0x2)“ angezeigt wird, verfügt dieses Modul nur über 512 KB Flash-Speicher und das bedeutet, dass Sie die Firmware ohne aktivierten 1-Megabyte-Modus verwenden müssen oder nicht OTA verwenden. Sie können den Flash-Speicherchip auch auf einen Chip mit größerer Kapazität umlöten.

WICHTIG!! Wenn das Modul keine IP-Adresse erhalten kann. Der Verbindungsstatus bleibt ständig hängen, daher wird empfohlen, die IP-Adresse unten manuell einzugeben. Dazu müssen Sie den Static IP-Modus auswählen und die IP des Moduls sowie die IP des Gateways (IP des Routers) eingeben. Anschließend können Sie über die IP-Adresse, die Sie in den Einstellungen angegeben haben, bereits im Netzwerk auf das Modul zugreifen.

Manchmal lautet der Status „Verbinden“. kann hängen bleiben, wenn der Verschlüsselungstyp auf dem Router aktiviert ist, der vom ESP8266-Chip nicht unterstützt wird.

Einstellungen in einer Datei speichern

Moduleinstellungen können in einer Datei gespeichert werden, ausgenommen WLAN-Einstellungen, GPIO-Zustände, Liste der DS18B20-Sensoren. Die Datei muss von IP_ADDRESS/configsave.bin heruntergeladen werden. Es wird über den Programmierer unter der Adresse 0x3C000 für 512-KB-Firmware und 0x7C000 für 1 MB in das Modul zurückgeschrieben. Die Einstellungen können auch über esptool.py heruntergeladen werden, indem das folgende Beispiel verwendet wird, indem die gewünschte Adresse ersetzt wird.

Sie können WLAN-Einstellungen unter IP_ADDRESS/configsave.bin?pg=66 für 512 KB und IP_ADDRESS/configsave.bin?pg=130 für 1 MB herunterladen. Sie können es über esptool.py mit dem Befehl esptool.py read_flash 0x7E000 4096 mywifi_settings.bin für 512 kb herunterladen (für 1024 kb lautet die Adresse 0xfe000).

Nützliche Links:

Videoanweisungen gemäß Setup von Umka.

Viele Benutzer haben bereits ihre Aufmerksamkeit auf den von Espressif veröffentlichten ESP8266-12-Chip gelenkt. Die Kosten sind im Vergleich zu einer Standard-Bluetooth-Adapterplatine deutlich günstiger und trotz der geringeren Abmessungen verfügt es über deutlich größere Leistungsfähigkeiten. Jetzt haben alle Hobbybastler die Möglichkeit, daran zu arbeiten Wi-Fi-Netzwerke in zwei Modi gleichzeitig, d. h. verbinden Sie Ihren Computer mit beliebigen Zugangspunkten oder schalten Sie ihn als solchen ein.

Andererseits müssen Sie richtig verstehen, dass es sich bei solchen Platinen nicht nur um Abschirmungen handelt, die nur für die Wi-Fi-Kommunikation gedacht sind. Der ESP8266 selbst ist ein Mikrocontroller, der über eigene UART-, GPIO- und SPI-Schnittstellen verfügt, also als völlig autonomes Gerät eingesetzt werden kann. Nach der Veröffentlichung dieses Chips nannten ihn viele eine echte Revolution, und im Laufe der Zeit werden solche Geräte sogar in die meisten Geräte eingebaut einfache Typen Technologie, aber bisher ist das Gerät relativ neu und es gibt keine stabile Firmware dafür. Viele Experten auf der ganzen Welt versuchen, eigene Firmware zu erfinden, denn das Hochladen auf die Platine ist eigentlich nicht schwierig, aber trotz diverser Schwierigkeiten kann das Gerät bereits als durchaus arbeitstauglich bezeichnet werden.

Derzeit werden nur zwei Möglichkeiten zur Nutzung dieses Moduls in Betracht gezogen:

  • Verwendung der Platine in Kombination mit einem zusätzlichen Mikrocontroller oder einem Computer, der das Modul über UART steuert.
  • Eigenständiges Schreiben der Firmware für den Chip, wodurch Sie ihn später als autarkes Gerät nutzen können.

Es ist ganz natürlich, dass wir in diesem Fall keine unabhängige Firmware in Betracht ziehen.

Betrachtet man die Benutzerfreundlichkeit und gute Eigenschaften Viele Menschen unter den vielen Mikrocontrollern bevorzugen das Modell ESP8266. Verbindung und Firmware-Update dieses Geräts ist äußerst einfach und erschwinglich und wird auf derselben Hardware hergestellt, auf der das Gerät an den Computer angeschlossen ist. Also auch über einen USB-TTL-Konverter oder, wenn jemand andere Anschlussmöglichkeiten bevorzugt, über RPi und Arduino.

Wie überprüfen?

Um die Funktionalität eines neu gekauften Geräts zu überprüfen, müssen Sie eine spezielle stabilisierte Spannungsquelle mit einer Nennspannung von 3,3 Volt verwenden. Es ist sofort erwähnenswert, dass der tatsächliche Versorgungsspannungsbereich dieses Moduls zwischen 3 und 3,6 Volt liegt und die Bereitstellung einer erhöhten Spannung sofort dazu führt, dass Sie Ihren ESP8266 einfach beschädigen. Nach einer solchen Situation kann es sein, dass Firmware und andere Software nicht mehr richtig funktionieren und Sie das Gerät reparieren oder auf andere Weise reparieren müssen.

Um die Funktionalität dieses Mikrocontroller-Modells zu bestimmen, müssen Sie lediglich drei Pins verbinden:

  • CH_PD und VCC sind mit der 3,3-Volt-Versorgung verbunden.
  • GND verbindet sich mit Masse.

Wenn Sie kein ESP-01, sondern ein anderes Modul verwenden und dieses bereits über einen GPIO15-Ausgang verfügt, müssen Sie es in diesem Fall zusätzlich mit Masse verbinden.

Wenn Werksfirmware normal gestartet, dann können Sie in diesem Fall sehen und dann blinkt das blaue Licht ein paar Mal. Es ist jedoch zu beachten, dass nicht alle Geräte der ESP8266-Serie über eine rote Betriebsanzeige verfügen. Die Firmware einiger Geräte sieht das Aufleuchten der roten Anzeige nicht vor, wenn das Modul nicht über eine solche verfügt (dies gilt insbesondere für das Modell ESP-12).

Sobald die Verbindung hergestellt ist, wird ein neuer Zugangspunkt in Ihrem drahtlosen Netzwerk aktiviert, der ESP_XXXX heißt und von jedem Gerät aus erkannt werden kann, das Zugriff auf WLAN hat. In diesem Fall hängt der Name des Access Points direkt vom Hersteller der von Ihnen verwendeten Firmware ab und kann daher unterschiedlich sein.

Wenn der Punkt erscheint, können Sie weiter experimentieren. Andernfalls müssen Sie die Stromversorgung sowie die Richtigkeit der GND- und CH_PD-Anschlüsse erneut überprüfen. Wenn alles richtig angeschlossen ist, versuchen Sie es höchstwahrscheinlich immer noch Verwenden Sie ein defektes Modul oder es ist einfach Firmware mit nicht standardmäßigen Einstellungen installiert.

Wie kann ich es schnell anschließen?

Das zum Anschluss dieses Moduls erforderliche Standardkit umfasst Folgendes:

  • das Modul selbst;
  • lötfreies Steckbrett;
  • Ein kompletter Satz Mutter-Vater-Kabel für Steckbrett, oder ein spezielles Kabel DUPONT M-F;
  • USB-TTL-Konverter basierend auf PL2303, FTDI oder einem ähnlichen Chip. Am besten ist es, wenn RTS und DTR auch an den USB-TTL-Adapter ausgegeben werden, da dieser ausreichend erreichen kann schnelles Laden Firmware von einem UDK, Arduino-IDE oder Sming, ohne GPIO0 manuell auf Masse schalten zu müssen.

Wenn Sie einen 5-Volt-Wandler verwenden, müssen Sie in diesem Fall einen zusätzlichen Leistungsstabilisator auf Basis des 1117-Chips oder eines ähnlichen Chips sowie eine Stromquelle (für einen Standard-1117 sogar einen gewöhnlichen 5-Volt-Wandler) erwerben. Ein Volt-Smartphone-Ladegerät ist durchaus geeignet). Es wird empfohlen, nicht die Arduino IDE oder USB-TTL als Stromquelle für den ESP8266 zu verwenden, sondern eine separate zu verwenden, da dadurch letztendlich viele Probleme beseitigt werden können.

Ein erweiterter Satz zur Gewährleistung eines komfortablen und konstanten Betriebs des Moduls erfordert den Einsatz zusätzlicher Widerstände, LEDs und DIP-Schalter. Darüber hinaus können Sie auch einen kostengünstigen USB-Monitor verwenden, der es Ihnen ermöglicht, den Stromverbrauch ständig zu überwachen und gleichzeitig den USB-Bus ein wenig zu schützen

Was soll ich tun?

Zunächst ist zu beachten, dass die Bedienelemente beim ESP8266 je nach verwendetem Modell leicht unterschiedlich sein können. Heutzutage gibt es eine ganze Reihe solcher Module. Als Erstes müssen Sie das von Ihnen verwendete Modell identifizieren und sich für die Pinbelegung entscheiden. In dieser Anleitung sprechen wir über die Arbeit mit dem ESP8266 ESP-01 V090-Modul. Wenn Sie ein anderes Modell mit einem GPIO15-Pin (HSPICS, MTDO) verwenden, müssen Sie es für den Standardstart auf den Boden ziehen des Moduls und zur Nutzung des Firmware-Modus.

Überprüfen Sie anschließend noch einmal, ob die Versorgungsspannung des angeschlossenen Moduls 3,3 Volt beträgt. Der zulässige Bereich liegt wie oben erwähnt bei 3 bis 3,6 Volt, bei einem Anstieg fällt das Gerät aus, allerdings kann die Versorgungsspannung sogar deutlich unter den in den Unterlagen angegebenen 3 Volt liegen.

Wenn Sie einen 3,3-Volt-USB-TTL-Konverter verwenden, schließen Sie das Modul genau wie auf der linken Seite des Bildes unten an. Wenn Sie ausschließlich Fünf-Volt-USB-TTL verwenden, dann achten Sie auf die rechte Seite der Abbildung. Vielen mag es vorkommen, dass die richtige Schaltung effizienter ist, da sie eine separate Stromquelle verwendet. Tatsächlich ist es jedoch im Falle der Verwendung eines 5-Volt-USB-TTL-Konverters äußerst wünschenswert, auch einen zu erstellen zusätzlicher Widerstandsteiler, um die Anpassung der Logikpegel von drei Volt und fünf Volt sicherzustellen, oder verwenden Sie einfach das Pegelumwandlungsmodul.

Verbindungsfunktionen

Die rechte Abbildung zeigt den Anschluss von UTXD (TX) sowie URXD (RX) dieses Moduls an die Fünf-Volt-TTL-Logik, und solche Vorgänge erfolgen nur auf eigene Gefahr und Gefahr. Für den ESP8266 heißt es in der Beschreibung, dass das Modul nur mit 3,3-Volt-Logik effektiv funktioniert. In den allermeisten Fällen fällt das Gerät auch beim Arbeiten mit Fünf-Volt-Logik nicht aus, jedoch treten solche Situationen gelegentlich auf, sodass ein solcher Anschluss nicht zu empfehlen ist.

Wenn Sie keine Möglichkeit haben, einen speziellen 3,3-Volt-USB-TTL-Konverter zu verwenden, können Sie einen Widerstandsteiler verwenden. Es ist auch erwähnenswert, dass im rechten Bild der Leistungsstabilisator 1117 ohne zusätzliche Verkabelung angeschlossen ist, und dies ist eine wirklich funktionierende Technologie, aber es ist immer noch am besten, den 1117-Anschlussplan mit Kondensatorverkabelung zu verwenden – Sie müssen dies mit überprüfen Lesen Sie das ESP8266-Datenblatt für Ihren Stabilisator oder verwenden Sie ein komplett fertiges Modul auf Basis der 1117-Basis.

Um das Modul zu starten, müssen Sie den GPIO0-TND-Schaltkreis öffnen, danach können Sie Strom anlegen. Es ist erwähnenswert, dass alles in genau dieser Reihenfolge durchgeführt werden muss, d. h. zunächst sicherstellen, dass GPIO0 „in der Luft hängt“ und erst dann CH_PD und VCC mit Strom versorgen.

Wie verbinde ich mich richtig?

Wenn Sie mehr als einen Abend Zeit haben, um das ESP8266-Modul ordnungsgemäß anzuschließen, können Sie eine stabilere Option verwenden. Im Diagramm oben sehen Sie eine Verbindungsmöglichkeit mit automatischem Firmware-Download.

Es ist erwähnenswert, dass das obige Bild nicht die Verwendung von kostenlosen GPIOs oder ADCs zeigt und ihre Verbindung direkt davon abhängt, was genau Sie implementieren möchten. Wenn Sie jedoch Stabilität gewährleisten möchten, denken Sie daran, alle GPIOs an die Stromversorgung und ADCs anzuschließen mit Pull-Up-Widerständen auf Masse legen.

Bei Bedarf können 10k-Widerstände durch beliebige andere im Bereich von 4,7k bis 50k ersetzt werden, mit Ausnahme von GPIO15, da sein Wert nicht mehr als 10k betragen sollte. Der Wert des Kondensators, der hochfrequente Pulsationen glättet, kann geringfügig abweichen.

Die Verbindung von RESET und GPIO16 über einen 470-Ohm-Tiefschlafwiderstand kann bei Verwendung des entsprechenden Modus erforderlich sein, da das Modul zum Verlassen des Tiefschlafmodus einen vollständigen Neustart durchführt, indem es einen niedrigen Pegel an GPIO16 anlegt. In Abwesenheit dieser Verbindung Der Tiefschlafmodus Ihres Moduls bleibt für immer bestehen.

Auf den ersten Blick mag es scheinen, dass GPIO0, GPIO1 (TX), GPIO2, GPIO3 (RX) und GPIO15 ausgelastet sind, sodass Sie sie nicht für Ihre Zwecke verwenden können, aber tatsächlich ist dies bei weitem nicht der Fall. Ein ausreichend hoher Pegel auf GPIO0 und GPIO2 sowie ein niedriger Pegel auf GPIO15 sind möglicherweise nur für die Erstinbetriebnahme des Moduls erforderlich und können in Zukunft nach eigenem Ermessen verwendet werden. Das Einzige, was es zu beachten gilt, ist, daran zu denken, die erforderlichen Werte sicherzustellen, bevor Sie ein vollständiges Zurücksetzen Ihrer Ausrüstung durchführen.

Alternativ zu GPIO1 und GPIO3 können Sie auch TX, RX verwenden. Vergessen Sie jedoch nicht, dass nach dem Start des Moduls jede Firmware beginnt, TX zu „ziehen“, während gleichzeitig Debugging-Informationen mit einer Geschwindigkeit von 74480 an UART0 gesendet werden, jedoch nach dem Wenn der Download erfolgreich ist, können sie nicht nur als UART0 verwendet werden, um Daten mit einem anderen Gerät auszutauschen, sondern auch als Standard-GPIOs.

Bei Modulen mit einer geringen Anzahl verdrahteter Pins (z. B. ESP-01) ist es nicht erforderlich, ungenutzte Pins anzuschließen, d. h. nur GND, CH_PD, VCC, GPIO0, GPIO2 und RESET sind am ESP-01 verdrahtet , und diese müssen verschärft werden. Es besteht keine Notwendigkeit, direkt an den ESP8266EX-Chip zu löten und dann die blanken Stifte herauszuziehen, es sei denn, Sie benötigen es wirklich.

Solche Schaltpläne wurden nach einer Vielzahl von Experimenten von qualifizierten Fachleuten verwendet und aus vielen verschiedenen Informationen zusammengetragen. Es ist anzumerken, dass selbst solche Systeme nicht als ideal angesehen werden können, da eine Reihe anderer, nicht weniger wirksamer Optionen genutzt werden können.

Verbindung über Arduino

Wenn Sie aus irgendeinem Grund keinen 3,3-Volt-USB-TTL-Konverter haben, kann das ESP8266-WLAN-Modul über Arduino mit einem eingebauten Konverter angeschlossen werden. Hier müssen Sie Ihre Aufmerksamkeit zunächst auf drei Hauptelemente richten:

  • Bei der Verwendung mit dem ESP8266 wird Arduino Reset zunächst mit GND verbunden, um den Start des Mikrocontrollers zu verhindern, und wurde in dieser Form als transparenter USB-TTL-Konverter verwendet.
  • RX und TX wurden nicht „an der Kreuzung“ verbunden, sondern direkt – RX-RX (grün), TX-TX (gelb).
  • Alles weitere wird genau wie oben beschrieben angeschlossen.

Was ist zu beachten?

Diese Schaltung erfordert auch die Anpassung der TTL-Pegel von 5 Volt auf dem Arduino sowie 3,3 Volt auf dem ESP8266, funktioniert aber in beiden Fällen recht gut.

Bei Anschluss an einen ESP8266 ist der Arduino möglicherweise mit einem Leistungsregler ausgestattet, der den vom ESP8266 benötigten Strom nicht verarbeiten kann. Daher müssen Sie vor der Aktivierung das Datenblatt des von Ihnen verwendeten Reglers überprüfen. Versuchen Sie nicht, andere stromverbrauchende Komponenten mit dem ESP8266 zu verbinden, da dies dazu führen kann, dass der im Arduino integrierte Leistungsregler einfach ausfällt.

Es gibt auch ein weiteres ESP8266- und Arduino-Verbindungsschema, das SoftSerial verwendet. Da für die SoftSerial-Bibliothek die Portgeschwindigkeit von 115200 zu hoch ist und keinen stabilen Betrieb garantieren kann, ist diese Verbindungsmethode nicht zu empfehlen, obwohl es einige Fälle gibt, in denen alles recht stabil funktioniert.

Verbindung über RaspberryPi

Wenn Sie überhaupt keinen USB-TTL-Konverter haben, können Sie RaspberryPi verwenden. In diesem Fall erfolgt beim ESP8266 die Programmierung und der Anschluss nahezu identisch, allerdings ist hier nicht alles so komfortabel und zusätzlich muss noch ein 3,3-Volt-Leistungsstabilisator verwendet werden.

Zunächst verbinden wir RX, TX und GND unseres Geräts mit dem ESP8266 und nehmen GND und VCC von dem für 3,3 Volt ausgelegten Gerät. Dabei ist besonders darauf zu achten, dass alle GND-Geräte, also der RaspberryPi-Stabilisator und ESP8266, angeschlossen werden müssen. Wenn der in Ihrem Gerätemodell eingebaute Stabilisator einer zusätzlichen Belastung von bis zu 300 Milliampere standhält, ist der Anschluss des ESP8266 in diesem Fall ganz normal, dies geschieht jedoch nur auf eigene Gefahr und Gefahr.

Parameter einrichten

Nachdem Sie herausgefunden haben, wie Sie den ESP8266 anschließen, müssen Sie sicherstellen, dass die Treiber für Ihre Geräte korrekt installiert sind, wodurch dem System ein neuer virtueller serieller Port hinzugefügt wurde. Hier müssen Sie ein Programm verwenden – ein Terminal mit serieller Schnittstelle. Im Prinzip können Sie jedes Dienstprogramm nach Ihrem Geschmack wählen, Sie müssen jedoch richtig verstehen, dass jeder Befehl, den Sie an die serielle Schnittstelle senden, am Ende die Zeichen CR+LF enthalten muss.

Die Dienstprogramme CoolTerm und ESPlorer sind weit verbreitet. Letzteres ermöglicht es Ihnen, den ESP8266 nicht selbst einzugeben, und erleichtert gleichzeitig die Arbeit mit Lua-Skripten unter NodeMCU, sodass er als Standardterminal verwendet werden kann.

Um eine normale Verbindung herzustellen, müssen Sie viel Arbeit leisten, da die Firmware für den ESP8266 meist vielfältig ist und die Aktivierung mit unterschiedlichen Geschwindigkeiten erfolgen kann. Um sich für die beste Option zu entscheiden, müssen Sie drei Hauptoptionen durchgehen: 9600, 57600 und 115200.

Wie sortiere ich?

Stellen Sie zunächst eine Verbindung zum virtuellen seriellen Port im Terminalprogramm her, stellen Sie die Parameter auf 9600 8N1 ein, führen Sie dann einen vollständigen Neustart des Moduls durch, trennen Sie CH_PD (Chip-Aktivierung) von der Stromversorgung und aktivieren Sie es anschließend durch Ruckeln von CH_PD wieder. Sie können auch einen kurzen RESET auf Masse durchführen, um das Modul zurückzusetzen und die Daten im Terminal zu beobachten.

Zunächst sollten die LEDs des Geräts genau so aussehen, wie im Testablauf dargestellt. Sie sollten auch eine Reihe unterschiedlicher Zeichen im Terminal beobachten, die dazu führen, dass die Leitung bereit ist. Wenn sie nicht vorhanden sind, wird eine erneute Verbindung zum Terminal mit einer anderen Geschwindigkeit durchgeführt, gefolgt von einem Neustart des Moduls.

Wenn Sie eine der Geschwindigkeitsoptionen sehen diese Zeile, kann das Modul als betriebsbereit betrachtet werden.

Wie aktualisiere ich die Firmware?

Sobald Sie den ESP8266 installiert haben, dauert es nur wenige Sekunden, das Gerät anzuschließen, und dann können Sie mit der Aktualisierung der Firmware beginnen. Um ein neues zu installieren Software Sie müssen Folgendes tun.

Laden Sie zunächst herunter neue Version Firmware von der offiziellen Website herunterladen und auch herunterladen besonderer Nutzen für Firmware. Hier sollte besonders darauf geachtet werden, welches Betriebssystem auf der Maschine installiert ist, mit der der ESP8266 arbeitet. Am besten schließen Sie das Gerät an Systeme an, die älter als Windows 7 sind.

Für Standard-Windows-Betriebssysteme wäre es optimal, ein Programm namens XTCOM UTIL zu verwenden, das besonders praktisch ist, wenn die Firmware nur aus einer Datei besteht. Die beste Multiplattform-Option ist das Dienstprogramm esptool, das jedoch Python sowie die Notwendigkeit der Angabe von Parametern über erfordert Befehlszeile. Darüber hinaus ermöglicht Ihnen der ESP8266 den bequemen Anschluss grundlegender Funktionen Flash-Programm Download-Tool, das über eine ziemlich große Anzahl von Einstellungen verfügt, sowie komfortable Technik Firmware aus mehreren Dateien installieren.

Trennen Sie als Nächstes Ihr Terminalprogramm von der seriellen Schnittstelle und trennen Sie CH_PD vollständig von der Stromversorgung. Verbinden Sie GPIO0 des Moduls mit GND. Danach kann CH_PD zurückgebracht werden. Letztendlich führen Sie einfach das modulare Firmware-Programm aus und laden es in das ESP8266-Relais.

In den allermeisten Fällen wird die Firmware mit einer Geschwindigkeit von etwa 115200 in das Modul geladen, ein spezieller Modus sorgt jedoch für eine automatische Geschwindigkeitsverteilung, wodurch die Firmware mit einer Geschwindigkeit von mehr als 9600 ausgeführt werden kann. Aktualisierung verfügbaren Funktionen ESP8266. Für den Anschluss wurde Arduino oder USB-TTL verwendet – hier spielt es keine besondere Rolle, und hier hängt die maximale Geschwindigkeit bereits von der Länge der Leitungen, dem verwendeten Konverter und einer Reihe weiterer Faktoren ab.

So testen Sie ESP8266

Um den soeben gekauften ESP8266 zu testen, benötigen Sie Folgendes.

Aufmerksamkeit!Der zulässige Versorgungsspannungsbereich für das ESP8266-Modul liegt zwischen 3,0 und 3,6 Volt. Das Anlegen einer erhöhten Versorgungsspannung an das Modul führt garantiert zum Ausfall des ESP8266.

Um den ESP8266 ESP-01 zu testen, verbinden Sie einfach drei Pins: VCC und CH_PD (Chip-Aktivierung) mit einer 3,3-Volt-Stromversorgung und GND mit Masse. Wenn Sie kein ESP-01 haben, sondern ein anderes Modul und GPIO15 darauf ausgegeben wird, müssen Sie GPIO15 zusätzlich mit Masse verbinden.

Wenn die werkseitige Firmware auf dem ESP8266-Modul erfolgreich gestartet wurde, leuchtet die rote LED auf (bei einigen Versionen des Moduls, z. B. ESP-12, fehlt möglicherweise die Betriebsanzeige) und die blaue LED blinkt einige Male (Dies ist ein Indikator für die Datenübertragung vom Modul zum Terminal über die TX-RX-Leitung, es kann eine andere Farbe haben) und ein neuer Zugangspunkt mit dem Namen „ESP_XXXX“ sollte in Ihrem drahtlosen Netzwerk erscheinen, den Sie sehen können von jedem WLAN-Gerät aus. Der Name des Access Points hängt vom Firmware-Hersteller ab und kann unterschiedlich sein, zum Beispiel AI-THINKER_AXXXXC. Wenn der Zugangspunkt erscheint, können Sie die Experimente weiter fortsetzen. Wenn nicht, überprüfen Sie die Stromversorgung, CH_PD und GND erneut. Wenn alles richtig angeschlossen ist, liegt höchstwahrscheinlich ein fehlerhaftes Modul vor, aber es besteht die Hoffnung, dass das Die Firmware im Modul weist nicht standardmäßige Einstellungen auf. Vielleicht hilft Ihnen das Flashen.

So verbinden Sie ESP8266 schnell

Das Mindestkit zum Anschließen und Flashen des ESP8266-Moduls umfasst:

Rot – 3,3-V-Stromversorgung

Schwarz - Masse

Gelb – ESP8266-Seite – RX, USB-TTL-Seite – TX

Grün – ESP8266-Seite – TX, USB-TTL-Seite – RX

Orange – CH_PD (CHIP ENABLE) – muss immer mit Strom verbunden sein

Blau – GPIO0 – über einen Schalter mit Masse verbunden, um den Modul-Blinkmodus zu aktivieren. Für einen normalen Start des Moduls kann GPIO0 nirgendwo angeschlossen bleiben.

Rosa im rechten Diagramm - unstabilisierte Stromversorgung 5-8 Volt

4. Um das Modul zu starten, unterbrechen Sie den GPIO0-GND-Kreis und Sie können Strom anlegen (und in genau dieser Reihenfolge: Zuerst stellen wir sicher, dass GPIO0 „in der Luft hängt“, dann versorgen wir VCC und CH_PD mit Strom).

Aufmerksamkeit! In den oben genannten, tatsächlich funktionierenden Beispielen für den Anschluss des ESP8266 verwenden sie die Verbindung der ESP8266-Pins „direkt“ mit Masse und Strom oder „in der Luft hängen“, da wir RESET nirgendwo angeschlossen haben, was absolut falsch ist und auch so ist Nur für die ersten paar Experimente geeignet, funktioniert aber bei den meisten Modulen recht gut. Nur der VCC-Pin ist „direkt“ mit der Stromversorgung verbunden; die restlichen Pins: CH_PD, RESET, GPIO0, GPIO2 müssen über einen Widerstand von 4,7 bis 50 kOhm an die Stromversorgung (VCC) hochgezogen werden (Pullup). „Direkt“ verbinden wir nur GND mit dem Minuspol (gemeinsamer Draht) der Stromversorgung und ziehen GPIO0 (Pulldown) auch über einen Widerstand bis zu 10k an GND, um das Modul in den Firmware-Download-Modus zu versetzen. Wenn Sie mit dem ESP8266 weiter experimentieren möchten, gehen Sie genauso vor wie bei allen anderen Mikrocontrollern. Detaillierte Beschreibung Pullup und Pulldown gehen über den Rahmen dieses Artikels hinaus, aber Sie können die Beschreibung einfach googeln korrekte Verbindung Ein-/Ausgabeanschlüsse. Die „ “-Verbindung ermöglicht es Ihnen, viele „Wunder“ und Probleme zu vermeiden und ist unweigerlich notwendig, wenn Sie Schwierigkeiten beim Starten oder Flashen des ESP8266-Moduls haben.

So schließen Sie den ESP8266 richtig an

Wenn Sie den ESP8266 länger als einen Abend nutzen möchten, benötigen Sie eine Verbindungsmöglichkeit, die eine höhere Stabilität bietet. Nachfolgend finden Sie zwei Anschlussdiagramme: mit und ohne Unterstützung für das automatische Laden der Firmware.

Anschlussplan für ESP8266 (ohne die Firmware automatisch zu laden, flashen wir sie, indem wir zuerst den BURN-Jumper installieren und das Modul neu starten)

Anschlussplan mit Unterstützung für das automatische Laden von Firmware von Arduino IDE, UDK, Sming. Das Flash Download Tool und XTCOM_UTIL müssen möglicherweise RTS/DTR deaktivieren. Wenn es für Sie unpraktisch ist, RTS und DTR zu deaktivieren, können Sie der Schaltung Jumper hinzufügen

Diese Diagramme zeigen nicht die Verbindung von ADC und freien GPIOs – ihre Verbindung hängt davon ab, was Sie implementieren möchten. Wenn Sie jedoch Stabilität wünschen, vergessen Sie nicht, alle GPIOs an die Stromversorgung (Pullup) und den ADC an Masse (Pulldown) zu ziehen ) durch Pull-up-Widerstände .

Widerstände bei 10k können durch andere von 4,7k bis 50k ersetzt werden, mit Ausnahme von GPIO15 – sein Wert muss bis zu 10k betragen. Der Wert des Kondensators, der hochfrequente Pulsationen glättet, kann unterschiedlich sein.

Sie müssen RESET und GPIO16 über einen 470-Ohm-Tiefschlafwiderstand verbinden, wenn Sie den Tiefschlafmodus verwenden: Um den Tiefschlafmodus zu verlassen, startet sich das Modul neu, indem es einen niedrigen Pegel an GPIO16 anlegt. Ohne diese Verbindung wird der Tiefschlaf für Ihr Modul ewig dauern.

Auf den ersten Blick scheinen diese Diagramme darauf hinzudeuten, dass GPIO0, GPIO2, GPIO15, GPIO1 (TX), GPIO3 (RX) ausgelastet sind und Sie sie nicht für Ihre Zwecke nutzen können, aber das ist nicht der Fall. Ein hoher Pegel auf GPIO0 und GPIO2 sowie ein niedriger Pegel auf GPIO15 sind nur zum Starten des Moduls erforderlich. Anschließend können Sie sie nach eigenem Ermessen verwenden. Denken Sie jedoch daran, die erforderlichen Pegel sicherzustellen, bevor Sie das Modul neu starten.

Sie können TX und RX als GPIO1 bzw. GPIO3 verwenden. Vergessen Sie nicht, dass beim Start des Moduls jede Firmware TX zieht und Debugging-Informationen mit einer Geschwindigkeit von 74480 an UART0 sendet. Nach erfolgreichem Laden können Sie sie jedoch nicht nur als UART0 für verwenden Daten mit einem anderen Gerät austauschen, aber auch wie normale GPIOs.

Bei Modulen mit einer geringeren Anzahl verdrahteter Pins, wie z. B. ESP-01, ist das Anschließen gelöster Pins nicht erforderlich, d. h. Beim ESP-01 sind nur VCC, GND, GPIO0, GPIO2, CH_PD und RESET verkabelt – man zieht sie einfach fest. Es besteht keine Notwendigkeit, direkt an den ESP8266EX-Chip zu löten und nicht verlegte Pins anzuziehen, sondern nur, wenn Sie dies benötigen.

Diese Verbindungsdiagramme entstanden nach vielen Experimenten unserer Forumsmitglieder und wurden nach und nach aus verstreuten und zunächst unzugänglichen Dokumentationen unserer Community zusammengetragen. Ich habe einfach versucht, dieses Wissen an einem Ort zu vereinen. Sie finden viele Anschlusstipps. Dort können Sie Fragen stellen, die Sie interessieren oder finden. Wenn Ihnen in diesem Artikel ein Fehler oder eine Ungenauigkeit auffällt oder Sie etwas hinzufügen möchten, dann .

Aufmerksamkeit! Selbst diese Schemata können nicht als „ideal“ bezeichnet werden. Der Perfektion sind keine Grenzen gesetzt: Es ist praktisch, einen zweiten USB-TTL an UART1 anzuschließen (bei ESP8266 können Sie nur GND und UTXD1, also GPIO2, verwenden), um ein Debugging-Terminal anzuschließen (Sie benötigen einen zweiten USB-TTL-Konverter) - Dann können Sie das ESP8266-Modul über UART0 flashen, ohne das Debugging-Terminal auf UART1 zu deaktivieren. Es wäre eine gute Idee, kleine Widerstände an die Pins beider UARTs anzuschließen, eine Diode in die RTS-Leitung einzubauen, der Stromleitung einen Kondensator hinzuzufügen, um niederfrequente Impulse zu dämpfen usw. Dies ist beispielsweise bei diesem Debug-Board sehr praktisch: LEDs sind an alle GPIOs angeschlossen, ein Fotowiderstand ist an den ADC angeschlossen, aber schade, dass es keine RESET-Taste gibt und es nur einen Jumper auf GPIO0 gibt.

Es wäre richtig, Ihnen zu sagen, dass es gleichzeitig kein Ideal gibt universelles Schema ESP8266-Verbindungen. Die Sache ist, dass viel von der Firmware abhängt, die Sie dort hochladen. Die obigen Diagramme sind für Anfänger gedacht, die gerade erst anfangen, den ESP8266 zum Experimentieren zu beherrschen. Bei realen Projekten müssen Sie das Diagramm möglicherweise ein wenig ändern. Beispielsweise müssen Sie RTS mit GPIO15 und CTS mit GPIO13 verbinden. Ich empfehle außerdem, bei realen Projekten besonders auf die Ernährung zu achten.

ESP8266 über Arduino verbinden

Wenn Sie keinen 3,3-V-USB-TTL-Konverter zur Hand haben, aber einen Arduino mit eingebautem USB-TTL-Konverter haben, können Sie diesen Anschlussplan verwenden

Worauf Sie achten sollten:

1. Arduino Reset ist mit GND (blaues Kabel) verbunden, damit der Mikrocontroller auf Arduino nicht startet. In dieser Form verwenden wir Arduino als transparenten USB-TTL-Konverter

2. RX und TX sind nicht über Kreuz verbunden, sondern direkt - RX - RX (grün), TX - TX (gelb)

3. Alles andere ist auf die gleiche Weise verbunden wie in den vorherigen Beispielen

Aufmerksamkeit! Diese Schaltung erfordert auch die Anpassung der TTL-Pegel von 5 Volt beim Arduino und 3,3 Volt beim ESP8266, funktioniert aber trotzdem gut.

Aufmerksamkeit!Auf dem Arduino ist möglicherweise ein Leistungsstabilisator installiert, der dem vom ESP8266 benötigten Strom nicht standhält. Überprüfen Sie daher vor dem Herstellen der Verbindung das Datenblatt des von Ihnen installierten Stabilisators. Schließen Sie keine anderen stromverbrauchenden Komponenten gleichzeitig mit dem ESP8266 an, da die Gefahr einer Beschädigung des integrierten Leistungsreglers des Arduino besteht.

Die Verbindung zum seriellen Port erfordert ein wenig Magie: Aufgrund der Firmwarevielfalt für den ESP8266 kann die Verbindung mit unterschiedlichen Geschwindigkeiten hergestellt werden. Die erforderliche Geschwindigkeit lässt sich durch einfaches Durchsuchen der drei Optionen ermitteln: 9600, 57600 und 115200. Wie sucht man? Stellen Sie im Terminalprogramm eine Verbindung zu Ihrem virtuellen seriellen Port her, indem Sie die folgenden Parameter festlegen: 9600 8N1. Starten Sie dann das Modul neu, indem Sie CH_PD (Chip-Aktivierung) von der Stromversorgung trennen (USB-TTL bleibt mit USB verbunden) und es wieder einschalten (d. h. Schalten Sie einfach CH_PD um, warum verzerren wir nicht die Stromversorgung? Lesen Sie, Sie können RESET auch mit Masse kurzschließen, um das Modul neu zu starten) und die Daten im Terminal beobachten. Zunächst sollten die LEDs am ESP8266 aufleuchten, wie am Anfang des Artikels im Abschnitt beschrieben. Zweitens sollten Sie im Terminal einen „Müll“ verschiedener Zeichen sehen, der mit der Zeile „bereit“ endet. Wenn wir nicht „bereit“ sehen, verbinden wir uns mit einer anderen Geschwindigkeit erneut mit dem Terminal und starten das Modul erneut.

Bei einer der „ready“-Geschwindigkeitsoptionen sehen Sie immer noch: Herzlichen Glückwunsch, Ihr Modul ist einsatzbereit. Wenn nicht, dann willkommen – wir werden versuchen zu helfen, aber lesen Sie zuerst.

Noch ein bisschen zum Thema „Müll“. Tatsache ist, dass beim Start der Firmware der UART des ESP8266-Moduls auf eine Baudrate von 74.880 umschaltet (diese Chinesen sind so lustig), Debugging-Informationen an den UART ausgibt und dann die Portgeschwindigkeit auf 115200 (oder 9600 oder 57600, abhängig von der Firmware-Version), daher erscheinen uns diese Debugging-Informationen als Müll, weil Wir verbinden uns mit einer anderen Geschwindigkeit mit dem Modul. Sie können eine Verbindung zum ESP8266 mit einer Geschwindigkeit von 74.880 herstellen (unterstützt diese Geschwindigkeit) und Sie werden diese Debugging-Informationen sehen, die etwa so aussehen:

c Summe 0x0d

wdt zurückgesetzt

Laden Sie 0x40100000, Länge 25052, Raum 16

Schwanz 12

Prüfsumme 0x0b

ho 0 tail 12 Zimmer 4

Laden Sie 0x3ffe8000, Länge 3312, Raum 12

Was als nächstes zu tun ist

Wenn ja neues Modul, dann ist höchstwahrscheinlich eine der alten benutzerdefinierten AT-Firmwares darin geflasht. Höchstwahrscheinlich handelt es sich hierbei um eine Art AI-THINKER AT v0.16 SDK v0.9.2. Sie können die Firmware-Version mit dem Befehl „AT+GMR“ überprüfen, d. h. Geben Sie direkt im Terminalprogramm AT+GMR ohne Anführungszeichen ein und drücken Sie die Eingabetaste. Das Modul sollte mit „OK“ antworten und die Firmware-Version anzeigen (z. B. „0016000092“ - in verschiedene Versionen Das Ausgabeformat der AT-Firmware-Version ist unterschiedlich. Die Steuerung des ESP8266-Moduls mit AT-Befehlen verdient einen separaten Artikel, aber Sie können es leicht selbst herausfinden, indem Sie eines unserer Nachschlagewerke zu AT-Befehlen verwenden:

Zum Zeitpunkt des Schreibens dieses Artikels aktuelle Version Firmware für ESP8266:

ESP8266-Firmware-Update

Das Besondere am ESP8266-Modul ist, dass kein spezieller Programmierer erforderlich ist – die Firmware wird auf derselben Hardware aktualisiert, auf der Sie das ESP8266-Modul an den Computer anschließen, d. h. auch über einen USB-TTL-Konverter (oder Arduino oder RPi). Gehen Sie wie folgt vor, um die Firmware auf dem ESP8266-Modul zu aktualisieren:

1. Laden Sie die neue Firmware-Version von unserer Website im Abschnitt herunter (hier ist der Link zum Zeitpunkt des Schreibens dieses Artikels).

2. Laden Sie je nach Bedarf eines der Dienstprogramme zum Flashen der ESP8266-Firmware herunter Betriebssystem aus dem Abschnitt auf unserer Website