Hallo zusammen! Brauche mal eure Unterstützung. Möchte für ein AhoyDTU-Projekt einen ESP-12 einsetzen. Diesen habe ich auf eine Raster-Platine gelötet und auf ein Breadboard gesetzt. Dieser wird über eine USB2UART-Bridge mit Spannung versorgt und an den PC angeschlossen (siehe Datei AI-Thinker-USB.JPG). Der ESP-12 ist dann als AI-THINKER_0DFD42 mit eigenem WLAN zu sehen. Zunächst habe ich nun versucht, die generierte Tasmota.bin zu flashen. GPIO0 über 4,7k Widerstand auf GND und RST kurz ebenfals auf GND. Am Ende war die Meldung "Timed out waiting for packet header" (siehe Datei AI-Thinker-Tasmota-Failed.JPG). Testweise habe einen anderen älteren ESP-12 genommen und mit der Tasmota.bin geflashed, was problemlos funktioniert hat (siehe Datei AI-Thinker-Tasmota-OK.JPG). Zum Test habe ich dann den Blue-Led-Test in die Arduino-IDE geladen, kompiliert und versucht, auf den ESP-12 zu flashen. Ebenfalls mit dem vorgenannten Ergebnis: < Der Sketch verwendet 265397 Bytes (27%) des Programmspeicherplatzes. Das Maximum sind 958448 Bytes. Globale Variablen verwenden 28000 Bytes (34%) des dynamischen Speichers, 53920 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes. C:\Users\alles\AppData\Local\Arduino15\packages\esp8266\tools\python3\3. 7.2-post1/python3 -I C:\Users\alles\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266 \3.0.2/tools/upload.py --chip esp8266 --port COM4 --baud 115200 --before default_reset --after hard_reset write_flash 0x0 C:\Users\alles\AppData\Local\Temp\arduino_build_814843/sketch_test_blue- led.ino.bin esptool.py v3.0 Serial port COM4 Connecting........_____....._____....._____....._____....._____.....____ _....._____ Traceback (most recent call last): File "C:\Users\alles\AppData\Local\Arduino15\packages\esp8266\hardware\esp826 6\3.0.2/tools/upload.py", line 66, in <module> esptool.main(cmdline) File "C:/Users/alles/AppData/Local/Arduino15/packages/esp8266/hardware/esp826 6/3.0.2/tools/esptool\esptool.py", line 3552, in main esp.connect(args.before, args.connect_attempts) File "C:/Users/alles/AppData/Local/Arduino15/packages/esp8266/hardware/esp826 6/3.0.2/tools/esptool\esptool.py", line 529, in connect raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error)) esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header > Aufgefallen ist mir, dass in der Zeit, wo bei "Connecting" die Punkte und Unterstriche angezeigt werden, die rote LED auf der USB2UART-Bridge und die blaue LED auf dem ESP-12 im Takt blinken. In Datei AI-Thinker-Breadboard ist ein Foto des Aufbaus. Besten Dank für eure Unterstützung.
Der ESP Chip braucht fast 500 mA, die kann deine USB-UART Brücke samt Kabel nicht zuverlässig liefern. Auch Steckbretter und Dupont Kabel haben für so viel Strom zu viel Innenwiderstand. Löte ein 3,3V Netzteil direkt an das Modul an. Und packe der Gelegenheit einen 100 µF (oder 200 µF) Elko direkt an die VCC/GND Pins des Modul. Den dicken Elko auf dem Steckbrett kannst du dir dann sparen. Ich sehe auf deinem Foto keinen Pull-Up Widerstand an GPIO0. Vergleiche deinen Aufbau mal mit http://stefanfrings.de/esp8266/index.html#fwupdate
Korrekt, der Pullup an GPIO0 ist nicht vorhanden, lediglich der Pulldown für den Flashmode über Schalter ist eingebaut. Mich irritiert aber, dass das Flashen bei einem anderen ESP-12 funktioniert hat. In allen Fällen ist der ESP-12 auf einer Rasterplatine gelötet und wird auf dem Breadboard aufgesteckt, ohne den Aufbau zu verändern. Werde mal nach der verlinkten Anleitung entsprechende Änderungen vornehmen und mich dann noch mal Feedback geben.
Habe nun ein "Flashboard" erstellt (Datei AI-THINKER-Flashboard2.jpg). Hier wird nur noch der ESP-12 aufgesteckt, alles andere ist fest gelötet. Auf dem Bild sind auch die beiden ESP-12 abgebildet, die ich momentan vorbereitet habe. Der ESP-12 links ist aus einer älteren Bestellung. Hier hat das Flashen funktioniert und ich habe Zugriff auf die Tasmota-Web-Oberfläche. Bei dem rechts abgebildeten ESP-12 schlägt das Flashen fehl, auch mit dem neu erstellten "Flashboard". Nach einem Reset sehe ich in der WLAN-Liste immer das AI-THINKER-0DFD42 WLAN. Ich werde mal einen weiteren ESP-12 aus der aktuellen Lieferung vorbereiten und schauen, ob es damit klappt. Vielleicht ist ja der andere ESP-12 defekt? Gibt es sonst noch Ideen oder Hinweise, wie ich weiter machen kann, um das Flashen doch noch erfolgreich hin zu kriegen? Kann ich eigentlich erkennen, ob ein ESP-12 im Flash-Mode ist? Ich habe beim einfachen Reset (ohne Flash-Taste) festgestellt, dass die ESP-LED zweimal blinkt, während bei einem Reset mit Flash-Taste blinkt die ESP-LED nur einmal.
Werner schrieb: > Gibt es sonst noch Ideen oder Hinweise, wie ich weiter machen kann, um > das Flashen doch noch erfolgreich hin zu kriegen? Mit fällt nichts mehr ein, auf deinem Foto sieht alles gut aus. Der 100µF Elko ist überraschend groß (die Abmessungen meine ich), aber das tut nichts zur Sache. > Kann ich eigentlich erkennen, ob ein ESP-12 im Flash-Mode ist? Ich vermute mal, dass der Bottloader entsprechende Debug Meldungen ausgibt, die du mit einem Terminalprogramm empfangen kannst. Die Baudrate ist 74880.
Habe mal die Arduino-IDE gestartet und darin den Monitor und die Baudrate auf 74880 gestellt. Anschließend habe ich die USB2UART-Bridge mit dem PC verbunden. Die Bridge wurde vom PC erkannt und ist COM4 zugeordnet (passt zur Arduino-IDE). Erst jetzt habe ich das USB-Netzteil für den ESP-12 eingeschaltet. Im Arduino-Monitor erschien ..... NICHTS, aber dieses ominöse AI-THINKER-WLAN ist weiterhin da. Also ganz defekt scheint der ESP nicht zu sein.
Habe einen weiteren neuen ESP-12 auf eine Raster-Platine gelötet und versucht über das "Flashboard" zu flashen. Leider ebenso wieder erfolglos. Im Betriebsmodus erscheint wieder ein AI-THINKER-WLAN. Die neuen ESP-12 sind ein F-Model, während der erfolgreich geflashte ESP-12 ein E-Model ist. Wenn noch jemand eine Idee hat, wäre ich sehr dankbar dafür.
Werner schrieb: > Im Arduino-Monitor erschien ..... NICHTS Wenn der ESP normal startet gibt der Bootloader ein paar Zeilen Text aus. Dabei meldet er, in welchem Msodus er gestartet wurde. https://docs.espressif.com/projects/esptool/en/latest/esp8266/advanced-topics/boot-mode-selection.html#boot-log Eventuell unterstützt dein USB-UART diese krumme Baudrate nicht. Ich hatte den Fall zwar noch nicht, halte es jedoch für möglich. Das kannst du ja mal mit einem Modul antesten, bei dem die serielle Kommunikation funktioniert.
Danke für den Hinweis. Auf das "Flashboard" habe ich den erfolgreich geflashten ESP-12E (mit Tasmota) gesteckt und den Arduino-Monitor mit dem passenden COM-Port geöffnet. Es kommt keine Meldung, egal welche Baud-Rate (4800 - 230400) ich einstelle. Bei jeem Wechsel der Baud-Rate blinkt die rote LED am UART kurz auf und beim Reset des ESP blinkt kurz die blaue LED auf. Dann habe ich einen USB-Serial CH340 an einen anderen USB-Port am PC angesteckt, den ich für den ESP-01 verwende. Hier habe ich einen ESP-01 mit einer (anderen) Tasmota-SW aufgesteckt, den Monitor auf den passende COM-Port umgestellt und den Reset betätigt. Bei einer Baud-Rate von 74880 kommt die nachstehende Ausgabe: 10:15:58.269 -> 10:15:58.269 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6) 10:15:58.269 -> 10:15:58.323 -> load 0x4010f000, len 3584, room 16 10:15:58.323 -> tail 0 10:15:58.323 -> chksum 0xb0 10:15:58.323 -> csum 0xb0 10:15:58.323 -> v3969889e 10:15:58.323 -> ~ld 10:15:58.323 -> 10:15:58.323 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7) 10:15:58.323 -> 10:15:58.370 -> load 0x4010f000, len 3584, room 16 10:15:58.370 -> tail 0 10:15:58.370 -> chksum 0xb0 10:15:58.370 -> csum 0xb0 10:15:58.370 -> v3969889e 10:15:58.370 -> ~ld 10:15:58.423 -> 10:15:58.423 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6) 10:15:58.423 -> 10:15:58.470 -> load 0x4010f000, len 3584, room 16 10:15:58.470 -> tail 0 10:15:58.470 -> chksum 0xb0 10:15:58.470 -> csum 0xb0 10:15:58.470 -> v3969889e 10:15:58.470 -> ~ld Also muss ich wahrscheinlich den UART durch was Neues ersetzen. Gibt es dazu eine Empfehlung? Verstehen tue ich es trotzdem nicht, da ich ja den ESP-12E mit diesem Bauteil geflasht habe. Aber wenn das die Lösung ist, ist es OK. Hauptsache die Probleme sind weg / gelöst.
Werner schrieb: > Gibt es dazu eine Empfehlung? Ich benutze ein Adapterkabel von Aliexpress mit einem gefälschten PL2303 Chip. Unter Linux funktioniert es "einfach so", unter Windows musste ich ein bisschen tricksen um einen alten Treiber zu installieren, der diese gefälschten Chips nicht unterstützt. Ansonsten habe ich ziemlich viele Arduino Board mit CH340, von denen bisher keine Probleme bereitet hat. Allerdings habe die immer nur mit höchstens 115200 Baud verwendet (mehr brauchte ich bisher nicht). Hier im Forum raten auffällig viele Leute vom PL2303 ab, angeblich verschluckt er manchmal ein paar Zeichen. Chips von FTDI werden hingegen hoch gejubelt.
Erst nochmal Danke für die Unterstützung. Ich habe als Adhoc-Lösung jetzt erst einmal GND, TX und RX von dem USB-Serial CH340 abgezwackt und mit dem "Flashboard" verbunden. Damit konnte ich den zuletzt vorbereiteten ESP-12F mit der Tasmota-Software erfolgreich flashen. Der andere macht weiter Probleme, aber wahrscheinlich habe ich den bei irgendeiner Aktion "kaputtgespielt". Den PL2303 schaue ich mir mal an und werde in bei passender Gelegenheit besorgen. Die beiden erfolgreich geflashten ESP-12 (E+F) werde ich im nächsten Schritt mit den NRF24l01+ verbinden. Kann ich zu dem Thema auch Fragen hier im Forum stellen?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.