Hallo zusammen Nachdem ich mich bisher eher mit den Atmel AVRs beschäftigt habe dachte ich, es wäre an der Zeit mich mal dem ESP8266 zu widmen. Ich will ein kleines Bastel-Projekt basierend auf nodeMCU nachbauen, also habe ich mir diese nodeMCU Boards bestellt. https://www.amazon.de/gp/product/B0754N794H/ref=oh_aui_detailpage_o08_s00?ie=UTF8&psc=1 Aber schon beim Einrichten habe ich Probleme. In der Anleitung des Bastel-Projekt steht, man solle nodeMCU auf die neuste Version updaten, da die Boards oft noch älter Versionen drauf haben. Und da beginnt schon mein Problem: Ich kriege es im ESPlorer nicht hin, dass mir dieser irgendwas sinnvolles über die Boards anzeigt, egal welche Baudrate ich einstelle. Also habe ich mal "blind" ein Board mit der "internen" Version des nodeMCU Flasher geflasht, unwissend ob ich danach eine neuere nodeMCU Version drauf habe, oder sogar eine ältere. Allerdings konnte ich dann im ESPlorer wenigstens anzeigen lassen, dass das Board nun Version 0.9.5 drauf hat. D.h. nach dem flashen mit einer ziemlich alten Version klappte die Verbindung mit dem ESPlorer. Also holte ich mir auf der nodeMCU custom builds Webseite die neuste Version 2.1.0 und flashte diese mit dem Flasher. Nun aber kann ich wiederum keine Verbidung im ESPlorer herstellen; die Onboard LED des nodeMCU flakert permanent und der ESPlorer schreibt nur endloss wirre Zeichen auf dem Serial-Monitor. Ich habe ALLE Baudraten durchprobiert, immer und immer wieder. Ich bin echt verwirrt. Ich weiss, dass die nodeMCU Flasher Software etwas veraltet ist. Auch habe ich gehört, dass ESPlorer öfters die Firmware nicht anzeigen kann ("...Can't autodetect firmware, because proper answer not received."). Aber ich hänge jetzt total durch. Das einzige was ich möchte ist nur die neuste Version auf dem Board um mit meinem Bastel-Projekt loszulegen. Bin ich denn so bescheuert und krieg das nicht hin? Hoffentlich kann mir jemand von euch weiterhelfen. Viele Grüsse Roman
:
Bearbeitet durch User
Die Standard-Baudrate aller neueren NodeMCU-Firmwares ist 115200, das ist die richtige Baudraten-Einstellung. Direkt nach dem Booten kommen allerdings immer einige hunderte Zeichen mit der etwas ungewöhnlichen Baudrate 74880 - mit der korrekten Einstellung 115200 Baud kann man die zwar nicht lesen, aber die kann man normalerweise auch einfach ignorieren. In Deinem Fall wäre es aber vielleicht sinnvoll, trotzdem mal diese Baudrate einzustellen, weil Dein Board aus irgendeinem Grund immer wieder zu resetten scheint. Die Firmware-Erkennung des ESPlorer kannst Du getrost schlicht vergessen bzw. abschalten - die hat (zumindest bei mir) wirklich noch nie funktioniert. Meiner Meinung nach kann Dein Problem aber eigentlich fast nur daran liegen, dass beim Flashen der Firmware irgendwas schiefgelaufen ist. Ich würde daher mal irgendeine andere Firmware-Flasher-Software benutzen, z.B. das kommandozeilen-basierte, mittlerweile vom ESP8266-Hersteller selbst weiterentwickelte und somit quasi offizielle "esptool.py". Ich z.B. benutze immer den folgenden Befehl zum Firmware-Flashen:
1 | python3 esptool.py --port <Serieller Port> --baud 115200 write_flash --flash_mode qio --flash_freq 40m 0x00000 <Firmware-Datei> |
Bei manchen boards muss man dio, 40MHz statt qio,80MHz setzen.
Ok, ich habe jetzt mit esptool.py einmal nodeMCU 2.1.0 und einmal nodeMCU 1.5.4.1 geflasht. Das Flashen lief durch (genauso wie mit der "nodeMCU Flasher" Software), aber auch jetzt blinkt die blaue LED nachdem das Flashen vorüber ist wie wild und der ESPlorer schreibt endlos wirre Zeichenketten. Wenn ich im ESPlorer den Button "RTS" aktiviere hört das flakern der LED auf und die Ausgabe der wirren Zeichenketten stoppt. Habe ich beim "builden" der nodeMCU Version was falsch gemacht? C:\Users\Roman>python c:\Temp\Python\Python27\Lib\site-packages\esptool.py --port COM8 --baud 115200 write_flash --flash_mode qio --flash_freq 40m 0x00000 c:\Temp\nodemcu-master-7-modules-2018-03-17-13-38-58-integer.bin esptool.py v2.3.1 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Flash params set to 0x0040 Compressed 401328 bytes to 258738... Wrote 401328 bytes (258738 compressed) at 0x00000000 in 22.8 seconds (effective 140.9 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... C:\Users\Roman>python c:\Temp\Python\Python27\Lib\site-packages\esptool.py --port COM8 --baud 115200 write_flash --flash_mode qio --flash_freq 40m 0x00000 c:\Temp\nodemcu-1.5.4.1-final-7-modules-2018-03-17-14-33-29-integer.bin esptool.py v2.3.1 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Flash params set to 0x0040 Compressed 390852 bytes to 250104... Wrote 390852 bytes (250104 compressed) at 0x00000000 in 22.0 seconds (effective 141.9 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
> --flash_mode qio --flash_freq 40m
Was habe ich oben geschrieben?
Oft hilf es auch, erst mal ein erase_flash zu machen
Habe ich versucht; bringt aber auch nix. Ganz generell, dass die On-board LED nach dem Flashen wie verrückt blinkt ist schon nicht normal, oder? (Nicht, dass das so sein muss...) C:\Users\Roman>python c:\Temp\Python\Python27\Lib\site-packages\esptool.py --port COM8 --baud 115200 write_flash --flash_mode dio --flash_freq 40m 0x00000 c:\Temp\nodemcu-master-7-modules-2018-03-17-13-38-58-integer.bin esptool.py v2.3.1 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Flash params set to 0x0240 Compressed 401328 bytes to 258738... Wrote 401328 bytes (258738 compressed) at 0x00000000 in 22.8 seconds (effective 140.9 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
>>Oft hilf es auch, erst mal ein erase_flash zu machen
Ok, probiere ich aus...
>>Oft hilf es auch, erst mal ein erase_flash zu machen
Yes! Habe den Flash gelöscht...
C:\Users\Roman>python
c:\Temp\Python\Python27\Lib\site-packages\esptool.py --port COM8 --baud
115200 erase_flash
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 9.0s
Hard resetting via RTS pin...
... und danch neu geflasht (mit "dio")
C:\Users\Roman>python
c:\Temp\Python\Python27\Lib\site-packages\esptool.py --port COM8 --baud
115200 write_flash --flash_mode dio --flash_freq 40m 0x00000
c:\Temp\nodemcu-master-7-modules-2018-03-17-13-38-58-integer.bin
esptool.py v2.3.1
Connecting....
Detecting chip type... ESP8266
Chip is ESP8266EX
Features: WiFi
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0240
Compressed 401328 bytes to 258738...
Wrote 401328 bytes (258738 compressed) at 0x00000000 in 22.8 seconds
(effective 140.9 kbit/s)...
Hash of data verified.
Leaving...
Hard resetting via RTS pin...
Jetzt erkennt ESPlorer mein nodeMCU Board! Super. :-))
PORT OPEN 115200
Communication with MCU..Got answer! Communication with MCU established.
AutoDetect firmware...
Can't autodetect firmware, because proper answer not received (may be
unknown firmware).
Please, reset module or continue.
„cŒónoŸl'nœâäbpŒ‡l;lsdxónàƒlbgã|„Œ‡àcŒónoî
NodeMCU custom build by frightanic.com
branch: master
commit: 5073c199c01d4d7bbbcd0ae1f761ecc4687f7217
SSL: false
modules: file,gpio,net,node,tmr,uart,wifi
build built on: 2018-03-17 13:37
powered by Lua 5.1.4 on SDK 2.1.0(116b762)
lua: cannot open init.lua
Was bedeutet "lua: cannot open init.lua" ? Muss ich da noch was
anpassen?
Das bedeutet, dass du kein initiales Script im Flash hast, dass er sonst starten würden.
Das klingt in der Tat gerade so, als ob Dein Board nicht das schnelle QIO unterstützt, sondern nur DIO. Merkwürdig, ich habe bislang noch kein NodeMCU-Board gesehen, das QIO nicht unterstützt. Nur von den Wemos D1-Boards hatte ich mal gerüchteweise gehört, dass die kein QIO unterstützen.
Hast du irgendetwas an den entsprechenden Pins hängen? Selbst die Kontakte von Steckbrettern können stören. Löte die Stifte mal aus. In meiner Zeichnung habe ich die betroffenen Pins als "Reserviert" beschriftet: http://stefanfrings.de/esp8266/index.html#nodemcu Noch eine Sache die in letzter Zeit öfters ein Knackpunkt war: Versorge das Board über ein dickes USB Kabel mit Strom oder löte Drähte an. Die Kontakte von Steckbrettern eignen sich oft nicht zur Stromversorgung.
>>Das klingt in der Tat gerade so, als ob Dein Board nicht das schnelle >>QIO unterstützt, sondern nur DIO. Sorry, mangels besserem Wissen bin/war ich mir nicht bewusst, was "DIO" und "QIO" bedeuten. Darum habe ich gar nicht (mehr) probiert, ob es mit "QIO" auch funkitoniert, aber das tut es. Nach dem erase_flash funktioniert es mit beiden Modi - QIO und DIO: C:\Users\Roman>python c:\Temp\Python\Python27\Lib\site-packages\esptool.py --port COM8 --baud 115200 write_flash --flash_mode qio --flash_freq 40m 0x00000 c:\Temp\nodemcu-master-7-modules-2018-03-17-13-38-58-integer.bin esptool.py v2.3.1 Connecting.... Detecting chip type... ESP8266 Chip is ESP8266EX Features: WiFi Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Flash params set to 0x0040 Compressed 401328 bytes to 258738... Wrote 401328 bytes (258738 compressed) at 0x00000000 in 22.8 seconds (effective 141.0 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin... Finde diese Forum echt super; eigentlich war ich schon zufrieden, dass es nun überhaupt klappt, und dennoch kriege ich noch Tipps zur Optimierung. Vielen Dank euch allen! :-) Wenn ich jetzt noch rausfinde, warum ich in der Command-Line immer den kompletten Pfad zum Script esptool.py mitgeben muss, obwohl ich diesen im System in der PATH-Variablen hinterlegt habe, dann wär's perfekt. Grüsse
:
Bearbeitet durch User
Unter Linux gilt eine geänderte PATH Variable normalerweise erst nach dem nächsten Login. Unter Windows gilt sie für das nächste CMD Fenster dass du auf machst. Klappt das nicht, hast du dich vermutlich vertippt.
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.