Forum: Mikrocontroller und Digitale Elektronik ESP 8266 12F - keine Verbingung


von Richard B. (r71)


Lesenswert?

Hallo,

Über Ali habe ich ein paar solche Module bestellt.
http://www.watterott.com/media/files_public/nwqeucnwf/AI-Thinker_ESP-12F.pdf

Verbunden habe ich es mitn FTDI USB Chip (mittlerweile auf neu 
gewechselt),
welche auch mit 5.0V->3.3V Level Shifter funktionert.

Strom geht über VCC und GND über 3.3V (500mA) Labornetzteil.
EN ist auf High. Die Pins für UART (Mode) sind wie auf Seite 9 steht.

Ich bekomme auf biegen und brechen keine Verbindung zum Modul.
Der öffnet die Verbindung mit 74880 baud und wechselt 1sec später auf 
115200 baud.

Erkennt hier jemand eine bestimmte Firmware (oder Modul) ?

Von der (Win) Software her habe ich auch so ziemlich alles ausprobiert.
Auf AT Commands reagiert der überhaupt nicht.

Diese Meldung wird angezeigt:

 ets Jan  8 2013,rst cause:2, boot mode:(3,4)

load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
  SPI Speed      : 40MHz
  SPI Mode       : DIO
  SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000

Frage: Warum zeigt er nicht 4 MByte Speicher an?
Was ist das für ein Modul?

Wie werden diese IO0, IO15 und RST Pins gehandhabt?
High, Low, drücken, halten oder was?

Kennt sich hier jemand aus?

Freundliche Grüße,
Richard

von Stefan F. (Gast)


Lesenswert?

> Der öffnet die Verbindung mit 74880 baud und wechselt 1sec später
> auf 115200 baud.

Das ist normal. Der Bootloader verwendet diese "krumme" Frequenz. Die 
AT-Firmware läuft je nach Version mit 9600, 57600 oder 115200 Baud.

8Mbit Speicher ist ganz normal, ältere Module haben 4Mbit.

> Wie werden diese IO0, IO15 und RST Pins gehandhabt?

Das habe mit Google in 10 Sekunden herausgefunden:

www.instructables.com/id/Getting-Started-with-the-ESP8266-ESP-12/step3/M 
ake-the-connections/

von Werner P. (Gast)


Lesenswert?

VCC und GND ist klar.
TX und RX auch.
EN = high.
IO15 = low.

Zum flashen:

IO0 = low und halten.
dann Reset drücken. Kurz auf low.
IO0 kannst dann loslassen.

Jetzt kannst Du flashen.

Hatte da noch nie Probleme.

von Arduinoquäler (Gast)


Lesenswert?

Richard B. schrieb:
> ESP 8266 12F - keine Verbingung
-----------------------------^-------

Sei froh dass du keine Bing-Version deines ESP-Moduls
bekommen hast  ;-)

von Thomas Z. (thomas_z41)


Lesenswert?

Je nach Firmwareversion ist das Zeilenende entscheidend. Manche 
Versionen möchten ein LF nach dem Befehl, andere ein CR+LF.

von Oyoyo (Gast)


Lesenswert?

Richard B. schrieb:

> 2nd boot version : 1.5
>   SPI Speed      : 40MHz
>   SPI Mode       : DIO
>   SPI Flash Size & Map: 8Mbit(512KB+512KB)
> jump to run user1 @ 1000
>
> Frage: Warum zeigt er nicht 4 MByte Speicher an?
> Was ist das für ein Modul?

Bei den Angaben stimmt so manches nicht ganz. Nicht nur die 
Speichergrösse von 8 statt 32MBit, standardmässig wird der 
Flash-Speicher z.B. auch mit 80MHz und per QIO statt DIO angesprochen.

Das sind allerdings m.W.n. alles Daten, die der ESP8266 nicht selbst 
erkennt, sondern die man selbst einstellt. Von daher ist das vermutlich 
kein defektes Modul mit nur 8MBit oder so, sondern lediglich falsche 
Einstellungen.

Wenn ich bspw. meine ESP-12F-Module über das Python-Tool "esptool.py" 
mit einer neuen Firmware flashe, dann benutze ich folgenden Befehl:
python2.7 esptool.py \
  --port /dev/ttyUSB0 \
  --baud 115200 \
  write_flash \
  --flash_mode qio \
  --flash_size 32m \
  --flash_freq 80m \
  0x00000 "<Firmware-Datei>"

Was ich nicht ganz verstehe ist, was genau Du überhaupt für ein Problem 
hast. Die serielle Verbindung funktioniert doch?

Ansonsten hier aber mal die Minimalbeschaltung, die ich für die 
ESP-12F-Module benutze:
VCC an 3.3V, klar
GND an GND, auch klar
CH_PD bzw. "EN" muss high sein, kann einfach mit VCC verbunden werden
GPIO15 per 10k-Widerstand gegen Masse
GPIO2 und GPIO0 müssen beim Booten auf high-Pegel sein; wegen 
integrierter Pullups müssen die aber gar nicht extra beschaltet werden

Für die Verbindung zum PC sollte die serielle Schnittstelle 
folgendermassen angeschlossen werden:
TXD an RXD
RXD an TXD
GND an GND
DTR an GPIO0
RTS an RESET

Das ist die m.W.n. die Standardbeschaltung für den Anschluss an den PC. 
Mit dieser Beschaltung muss ich auch zum Flashen etc. keinerlei Knöpfe 
oder so drücken, das macht die Software bei mir dann automatisch.

von Oyoyo (Gast)


Lesenswert?

Gerade für die ersten Schritte mit dem ESP8266 (aber auch ganz generell) 
kann ich übrigens nur das "NodeMCU-Development-Board" empfehlen. Gibt's 
bei Ali für nur knapp über 3 Euro und ist wirklich ein tolles Board für 
den Preis.

Nur aufpassen, dass man nicht versehentlich das "NodeMCU v3"-Board 
bestellt (man beachte das "v3" oder wenn da was von "LoLin" steht) - 
anders als es das "v3" suggeriert, handelt es sich dabei nämlich nicht 
um die beste, weil vermeintlich neueste Version, sondern um eine etwas 
günstigere, aber auch etwas schlechtere Version, die die gesamte Breite 
eines Breadboards einnimmt.

von Richard B. (r71)


Lesenswert?

Ich danke euch...

Stefan U. schrieb:
> Das habe mit Google in 10 Sekunden herausgefunden:

So habe ich es auch gemacht. Software: NODEMCU Flasher,
ESPFlash_DownloadTool_3.4.2 und Arduino IDE 1.6.11.
Eine Antwort sendet das Modul nicht.

Werner P. schrieb:
> VCC und GND ist klar.
> TX und RX auch.
> EN = high.
> IO15 = low.
>
> Zum flashen:
>
> IO0 = low und halten.
> dann Reset drücken. Kurz auf low.
> IO0 kannst dann loslassen.
>
> Jetzt kannst Du flashen.
>
> Hatte da noch nie Probleme.

Das geht bei mir definitiv nicht.
Mittlerweile habe 2 Module und 2 FTDI Chips "geopfert" ...

Jetzt bleibt nur noch der Wandler oder der User.
Vielleicht habe ich doch etwas übersehen...

Freundliche Grüße,
Richard

von Oyoyo (Gast)


Lesenswert?

Richard B. schrieb:

Ich vermute, dass Dein Problem evtl. damit zu tun hat:
> Die Pins für UART (Mode) sind wie auf Seite 9 steht.

Was dort als "UART" (Mode) bezeichnet wird, ist nicht die normale 
Einstellung; wenn Du das ESP-12-Modul ganz normal booten willst, nimmst 
Du die dort als "Flash Boot" bezeichnete Einstellung, also mit GPIO0 auf 
high (bzw. einfach unbeschaltet).

Zum Flashen der Firmware muss GPIO0 zwar auf "low" stehen, aber das 
macht bei mir die Software zum Flashen ganz automatisch.

von Richard B. (r71)


Angehängte Dateien:

Lesenswert?

Oyoyo schrieb:
> Was ich nicht ganz verstehe ist, was genau Du überhaupt für ein Problem
> hast. Die serielle Verbindung funktioniert doch?

Nein, eben nicht bzw. nur in eine Richtung.
Diese Meldung von weiter oben habe ich nach Reset mit IO0 auf High.
Danach wechselt er auf 115200 baud und gibt noch ("Ai Thinker OK" aus).
Meine AT Abfragen werden aber nicht beantwortet.

Setze ich IO0 auf High bekomme ich nach Reset das hier:

ets Jan  8 2013,rst cause:2, boot mode:(1,6)

Oyoyo schrieb:
> Mit dieser Beschaltung muss ich auch zum Flashen etc. keinerlei Knöpfe
> oder so drücken, das macht die Software bei mir dann automatisch.

Das habe ich auch so vorgestellt.

Oyoyo schrieb:
> Gerade für die ersten Schritte mit dem ESP8266 (aber auch ganz generell)
> kann ich übrigens nur das "NodeMCU-Development-Board" empfehlen. Gibt's
> bei Ali für nur knapp über 3 Euro und ist wirklich ein tolles Board für
> den Preis.

Ja, das wäre sicher klüger gewesen.
Jetzt möchte ich aber nicht wieder 4-6 Wochen warten.

Hast du das so gemeint?

Freundliche Grüße,
Richard

von Stefan F. (Gast)


Lesenswert?

> Meine AT Abfragen werden aber nicht beantwortet.

Dann hast du vermutlich ein falsches Zeilenende gesendet. Bei aktuellen 
Firmware Versionen muss es CRLF sein. Ich hatte mal ein ältere Modul, da 
musste es CR sein.

Hammer Terminal sendet standardmäßig gar kein Zeilenende. Vielleicht 
hast du das übersehen.

von Chris K. (Gast)


Lesenswert?

Du hast ein ESP12, dann müsste folgende Beschaltung durchgeführt werden.

1. Reset auf 3,3V legen
2. CH_PD auf 3,3V legen
3. GPIO15 auf GND
4. GPIO0 auf 3,3V für normal mode oder GND für Flash Firmware
5. GPIO2 auf 3,3V

dann müsste bei 115200 Baud ein Ready erscheinen. Danach kannst du mit 
AT+GMR (CR und LF nicht vergessen) dir die FW Version anzeigen lassen.

von Joachim S. (oyo)


Lesenswert?

Richard B. schrieb:

> Nein, eben nicht bzw. nur in eine Richtung.
> Diese Meldung von weiter oben habe ich nach Reset mit IO0 auf High.
> Danach wechselt er auf 115200 baud und gibt noch ("Ai Thinker OK" aus).
> Meine AT Abfragen werden aber nicht beantwortet.

Okay, ich fürchte da muss ich passen - ich benutze immer die 
LUA-basierte "nodemcu-firmware", von dieser alternativen Firmware mit 
AT-Kommandos etc. habe ich zugegebenermassen keine Ahnung.

Aber da wie gesagt schon die gemeldeten Daten falsch aussehen (DIO, 
40MHz, nur 8MBit Flash-Speicher) - hast Du testweise mal probiert, 
einfach ein Firmware-Image zu flashen, das definitiv funktionieren 
sollte? Nur um auszuschliessen, dass das Problem da liegt?

>> [...] kann ich übrigens nur das "NodeMCU-Development-Board" empfehlen. > Ja, 
das wäre sicher klüger gewesen.
> Jetzt möchte ich aber nicht wieder 4-6 Wochen warten.

Bei eBay gibt's die doch bestimmt auch günstig direkt aus Deutschland 
geliefert, oder? Alternativ könnte ich Dir anbieten, Dir ein 
NodeMCU-Devkit für nur 2,00 Euro + Portokosten zu schicken. Das wäre 
dann allerdings so ein "v3"-Board, das den Nachteil hat, dass es die 
gesamte Breite üblicher Breadboards einnimmt. Von denen habe ich bei Ali 
dummerweise gleich drei Stück bestellt, weil mir zu dem Zeitpunkt dieser 
Nachteil nicht bewusst war. :-(

> Hast du das so gemeint?

Wie in dem Schaltplan? Keine Ahnung, ich persönlich benutze einfach so 
einen fertigen USB-UART-Konverter, und verbinde einfach die 
entsprechenden Pins, ohne irgendwelche zusätzlichen Bauteile oder so...

von Richard B. (r71)


Lesenswert?

Mit GPIO0 und Reset auf High bekomme ich z.Z. ein "don't use rtc mem 
data"
Ich glaube das kommt aber nicht immer.

Der SP DOWNLOAD TOOL 3.4.2 gibt ein "chip sync error" mit
"baudrate sync fail" aus.

Der FTDI Chip geht ganz sicher.

von Michael U. (amiga)


Lesenswert?

Hallo,

ziemlich niederohmiger Teiler an TX des FTDI, 1k zu 2k hätten es auch 
getan.
Ich habe jetzt nicht im Datenblatt des FTDI zu den Ausgängen geschaut.

Günstiger waäre es sicher gewesen, einen Wandler zu nehmen, der 3,3V 
Pegel macht (CP2102 z.B.) oder den FTDI auf 3,3V I/O zu setzen (VCCIO an 
3V3OUT).

Spannungsversorgung des ESP stabil? Der ESP will Spitzen +ber 350mA, ein 
Elko 100-220µ direkt an der Betriebsspannung hilft da.

Beschaltung wurde ja schon erwähnt, GPIO15 über 10k an GND, CD_PD/EN an 
+3,3V.
Damit muß sich die AI-Thinker-Software melden, es sei denn, man hat ihn 
schon irgendwie mit Müll geflasht.
Im Zweifel die NodeMCU-Software mit dem NodeMCU-Flasher draufspielen, 
damit sich überhaupt wieder was meldet.

2 Taster an Reset und GPIO sind zu empfehlen, PullUps sind nicht nötig.
GPIO0 festhalten, Reset kurz drücken, kurz danach kann GPIO0 freigegebn 
werden.

Gruß aus Berlin
Michael

von Richard B. (r71)


Lesenswert?

Joachim S. schrieb:
> hast Du testweise mal probiert, einfach ein Firmware-Image
> zu flashen, das definitiv funktionieren sollte?

Ja, ich habe es versucht. Ich bekomme keine Verbindung,
daher ist auch kein Update möglich...

Mir ist mittlerweile egal was oben ist, wenn es nur gehen würde.

Michael U. schrieb:
> Günstiger waäre es sicher gewesen, einen Wandler zu nehmen, der 3,3V
> Pegel macht (CP2102 z.B.) oder den FTDI auf 3,3V I/O zu setzen (VCCIO an
> 3V3OUT).

Ich habe nur Chips von FTDI hier.
Da ich jetzt eh eine neue Platine machen muss,
werde ich das mitn VCCIO machen.
Danke, das hätte ich jetzt glatt übersehen.

Michael U. schrieb:
> Spannungsversorgung des ESP stabil?
> Der ESP will Spitzen +ber 350mA...

Spannung habe ich auf 3.32V, Strom auf 500mA eingestellt.
Bisher dachte ich auch das der "nur" 210mA zieht.
Bis ich diese ~320mA (dauer-) "Spitzen" entdeckt habe.

Michael U. schrieb:
> Im Zweifel die NodeMCU-Software mit dem NodeMCU-Flasher draufspielen,
> damit sich überhaupt wieder was meldet.

Ja, am Nachmittag mache ich eine neue Platine. Mal sehen...

Danke,

von Thomas Z. (thomas_z41)


Lesenswert?

Hast du denn mittlerweile mal die Zeilenenden geprüft und die 
verschiedenen Möglichkeiten ausprobiert?

von Richard B. (r71)


Lesenswert?

Update: Ich habe eine NoceMCU Karte nachgebaut und die läuft jetzt.
Laut Ausgabe läuft die Karte jetzt mit 9600 baud und lua 9.5.0.

Frage: Wie finde ich es heraus was für ein Modul ich habe 
(Speicherausbau)?
Ich möchte diese Beispiele mit WiFi aus Arduino IDE Ausprobieren.
Was fürn Firmware bräuchte ich dazu?

Thomas Z. schrieb:
> Hast du denn mittlerweile mal die Zeilenenden geprüft und die
> verschiedenen Möglichkeiten ausprobiert?

Ja, ich habe alles mögliche und unmögliche ausprobiert.
Die neue läuft jetzt.

Michael U. schrieb:
> Günstiger waäre es sicher gewesen, einen Wandler zu nehmen,
> der 3,3V Pegel macht...

Das habe ich jetzt auch so umgesetzt.

Freundliche Grüße,
Richard

von Einer K. (Gast)


Lesenswert?

Richard B. schrieb:
> Ich möchte diese Beispiele mit WiFi aus Arduino IDE Ausprobieren.
> Was fürn Firmware bräuchte ich dazu?
Keine!
Die wird von der Arduino IDE erstellt.

> Wie finde ich es heraus was für ein Modul ich habe
> (Speicherausbau)?
Vielleicht mal in die von dir selber verlinkte Doku schauen.....
> This module is mounted with an 4 MB external SPI
> flash to store user programs. If larger
> definable storage space is required, a SPI
> flash with larger memory size is preferred.
> Theoretically speaking, up to 16 MB memory capacity can be
> supported.

Wobei aber "nur" 1 MB für Programmspeicher genutzt wird.
Der Rest steht für OTA Uptate und SPIFFS zur Verfügung

von Timmo H. (masterfx)


Angehängte Dateien:

Lesenswert?

hier noch das Bild

: Bearbeitet durch User
von Richard B. (r71)


Lesenswert?

Arduino F. schrieb:
> Keine! Die wird von der Arduino IDE erstellt.

Wird alles was gerade oben ist einfach überschrieben?
Gibt es eine Möglichkeit alles, inkl. Firmware komplett zu löschen?

Arduino F. schrieb:
> Vielleicht mal in die von dir selber verlinkte Doku schauen.....

Zwischen Hersteller Dok. und Aliexpress liegen bekanntlich Welten.
Bestellt habe ich das was du auch vermutest.

Ich möchte aber ganz sicher sein, was verbaut ist.

Wenn nötig werde ich es zerlegen...
Wenn mir jemand mit der Bezeichnungen helfen kann.

Vor zwei Monaten habe ich über Ali ein paar 2560er bestellt.
Abgebildet waren welche aus 2014-2016 Produktionsjahr.
Bekommen habe ich welche aus 2006.


Freundliche Grüße,
Richard

von Michael U. (amiga)


Lesenswert?

Hallo,

12er Module haben immer 32MBit (8MB) Flash drauf, zumindest habe ich 
noch nicht von gefälschten gelesen.
AliExpress lötet die ESP8266-Module nicht zusammen...
Du kannst Flash-ID, Hersteller-ID usw. mit ein paar Zeilen Programm in 
der Arduino-IDE auslesen.
Das Flash-Ttool kann es auch und es benutzt letztlich die gleichen 
ESP-Funktionen dafür.

ich hatte gestern ein ähnlich seltsames Problem.
Ich hatte mehr zum Spaß
https://github.com/NardJ/esp8266-C64/blob/master/esp8266C64_Browser.ino
mit der Adrduino-IDE auf mein NodeMCU geflasht und bekam beim Start 
endlos obige Crashs.
Der Crash passierte beim (vor) dem Init vom WiFi, die serielle Ausgabe 
davor kam noch an.

Ich habe dann meinen Testwebserver geflasht, der startet prinzipiell 
genauso, zusätzlich wird noch SPIFFS eingebunden.
Der lief ohne jedes Problem. Ein anschließener Flash des C64_browser 
startete dann völlig problemlos und der Webserver meldete sich.
ok, der C64_browser lief nicht wie erwartet, aber das ist eine andere 
Baustelle, einen Crash gab es ab da nicht mehr.

Ich habe im Moment keine Ahnung, was da wo im Zusammenspiel verändet 
wurde.
Ich werde mir mal das aktuelle esp_init_data_default.bin hinlegen, meine 
Version ist schon etwas antik. Und dann auf den nächsten seltsamen 
Effekt warten...

Meine NodeMCU ist "uralt" und mit einem ESP8266-12E bestückt, es liegt 
also wohl eher an SDK/ESP8266 Arduino und der IDE selbst.

Gruß aus Berlin
Michael

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Michael U. schrieb:
> 32MBit (8MB) Flash
32MBit (4MB) Flash

von Timmo H. (masterfx)


Lesenswert?

Das kannst du z.B. mit dem ESP8266 Download Tool auslesen.
1. Modul in den Bootloader starten
2. ESP8266 Download Tool alle Haken beim "Download Path" wegmachen
3. COM-Port einstellen und auf Start drücken

Dann siehst du das unter "Detected Info"
Bild Beitrag "Re: ESP 8266 12F - keine Verbingung"

Zu den Crashs:
Wenn man ständig irgendwelche "cause: 2, mode(3,6)" restarts hat sind 
möglicherweise die esp_init_data_default.bin noch falsch konfiguriert. 
Bei den ESP-12E ff. muss das bei dem 4MB Speicher an Speicherposition 
0x3fc000 geflasht werden. Am besten aus dem letzten SDK aus dem 
Bin-Ordner nehmen

Vorher ansonsten auch mal den ganzen Flash Platt machen indem man ein 
4MB file mit 0xFF gefüllt an adresse 0x0000 schickt.

: Bearbeitet durch User
von Sascha_ (Gast)


Lesenswert?

Oyoyo schrieb:
> Gerade für die ersten Schritte mit dem ESP8266 (aber auch ganz
> generell)
> kann ich übrigens nur das "NodeMCU-Development-Board" empfehlen. Gibt's
> bei Ali für nur knapp über 3 Euro und ist wirklich ein tolles Board für
> den Preis.
>
> Nur aufpassen, dass man nicht versehentlich das "NodeMCU v3"-Board
> bestellt (man beachte das "v3" oder wenn da was von "LoLin" steht) -
> anders als es das "v3" suggeriert, handelt es sich dabei nämlich nicht
> um die beste, weil vermeintlich neueste Version, sondern um eine etwas
> günstigere, aber auch etwas schlechtere Version, die die gesamte Breite
> eines Breadboards einnimmt.

Diese Version ist eigentlich als v0.9 bekannt. Ab v1 hat man am Rand vom 
BB dann wieder Platz.

von Richard B. (r71)


Lesenswert?

Michael U. schrieb:
> AliExpress lötet die ESP8266-Module nicht zusammen...

Ja, ich habe Ali auch nur als Vermittler gemeint.

Danke,
Richard

von Joachim S. (oyo)


Lesenswert?

Richard B. schrieb:
> Update: Ich habe eine NoceMCU Karte nachgebaut und die läuft jetzt.
> Laut Ausgabe läuft die Karte jetzt mit 9600 baud und lua 9.5.0.

Lua 9.5.0 gibt es meines Wissens nach nicht. Die von der Lua-basierten 
nodemcu-firmware benutzte Lua-Version ist glaube ich 5.1. Ich vermute 
eher, Du benutzt momentan eine nodemcu-firmware der Version 0.9.5, die 
gab es nämlich - die ist mittlerweile aber hoffnungslos veraltet, 
aktuell ist da 1.5.4 irgendwas.

Wenn Du zum Programmieren des ESP8266 tatsächlich Lua statt C verwenden 
willst (die Mehrheit der Leute hier scheint Arduino/C zu benutzen - ich 
persönlich bevorzuge aus mehreren Gründen aber stark Lua), dann solltest 
Du Dir erst einmal eine aktuelle Version der nodemcu-firmware 
installieren.
Das geht für den Anfang am einfachsten über:
https://nodemcu-build.com/
einfach die Module anklicken, die in der Firmware enthalten sein sollen 
(da Du einen ESP-12F mit 4MB Speicher hast, kannst Du zur Not alles 
anklicken, dieses Modul hat mehr als genug Speicher), und 5 Minuten 
später kannst Du Dir ein passendes, aktuelles Firmware-Image 
herunterladen und installieren.
Die recht gute Doku für die nodemcu-firmware findest Du dann hier:
http://nodemcu.readthedocs.io/en/dev/

> Frage: Wie finde ich es heraus was für ein Modul ich habe (Speicherausbau)?

Unter Lua z.B. einfach den Befehl node.flashsize() eingeben.
In den Informationen, die der Befehl node.info() ausgibt, ist die 
gleiche und noch mehr Informationen enthalten.

> Wird alles was gerade oben ist einfach überschrieben?
> Gibt es eine Möglichkeit alles, inkl. Firmware komplett zu löschen?

Wenn ich ein Firmware-Image flashe, dann mache ich dabei normalerweise 
einfach alles "platt". Man kann aber auch nur einzelne Bereiche des 
Flash-Speichers (der sowohl Firmware als auch das Dateisystem etc. 
enhält) löschen/verändern/überschreiben.

von Joachim S. (oyo)


Lesenswert?

Sascha_ schrieb:

>> Nur aufpassen, dass man nicht versehentlich das "NodeMCU v3"-Board
>> bestellt (man beachte das "v3" oder wenn da was von "LoLin" steht) -
>> anders als es das "v3" suggeriert, handelt es sich dabei nämlich nicht
>> um die beste, weil vermeintlich neueste Version, sondern um eine etwas
>> günstigere, aber auch etwas schlechtere Version, die die gesamte Breite
>> eines Breadboards einnimmt.
>
> Diese Version ist eigentlich als v0.9 bekannt. Ab v1 hat man am Rand vom
> BB dann wieder Platz.

Ich weiss, das ist echt verwirrend. Was man bei Aliexpress & Co. 
teilweise unter der Bezeichnung "v3" kauft (im falschen Glauben, damit 
die vermeintlich neueste Version zu kaufen) ist in Wahrheit im Grunde 
die Version 0.9.
Und die in Wahrheit noch immer aktuelle Version 1.0 wird bei Aliexpress 
teilweise als "v2" verkauft...

Irreführend bis zum geht nicht mehr!

von Richard B. (r71)


Lesenswert?

Joachim S. schrieb:
> Lua 9.5.0 gibt es meines Wissens nach nicht. Die von der Lua-basierten
> nodemcu-firmware benutzte Lua-Version ist glaube ich 5.1.

Ich habe das herauskopiert was ich zurückbekommen habe.
5.1 ist mir auch gekommen. Mit der Meldung "Cant start lua" oder so 
ähnlich.

Joachim S. schrieb:
> die Mehrheit der Leute hier scheint Arduino/C zu benutzen

Ja, zur Zeit Arduino/C.
Ich brauche eine Lösung, welches ganz sicher funktionert.

Mittlerweile bin ich wesentlich weiter.
Scheinbar habe ich mitn "Knöpfedrücken" ein Problem.

Einmal habe ich es geschafft über die Arduino IDE etwas hochzuladen.

Eines ist aber sehr komisch.
Der zieht nie mehr als 30mA.
Wie geht das den?

von Michael U. (amiga)


Lesenswert?

Hallo,

Richard B. schrieb:
> Ja, zur Zeit Arduino/C.
> Ich brauche eine Lösung, welches ganz sicher funktionert.
naja, ist bei mir zwar größtenteils "Speilerei", aber hier sind ca. 10 
ESP verschiedener Versionen mit eingener "Arduino-"Software im Einsatz, 
gößtenteils wird über OTA geupdatet.

Ich habe mir einen Adapter gemacht, auf dem ein FTDI und die 
Transistorlogik des NodeMCU-Boards drauf ist, das erspart Knöpfchen 
drücken beim Flashen aus der IDE.

> Mittlerweile bin ich wesentlich weiter.
> Scheinbar habe ich mitn "Knöpfedrücken" ein Problem.
>
> Einmal habe ich es geschafft über die Arduino IDE etwas hochzuladen.

das sollte immer klappen. Bei "Knöpfedrücken" (GPIO0-Taster festhalten, 
Reset des ESP kurz drücken, danach kann GPIO0 wieder losgelassen werden.
Einstellung in der IDE muß dafür Resetmethode ck sein, bei NodeMCU ist 
das Timing anders. Die Knopfdrückerei erst machen, wenn Compile fast 
fertig ist, sonst fliegt er wegen Zugriffen der IDE auf die serielle 
gern wieder aus dem Programmiermode.
115200 klappt immer, ich nehme meist die 921000. Mit der Original 
NodeMCU kein Problem, bei meinem Adapter muß ich manchmal etwas 
runtergehen wegen der Strippen zum ESP-Modul.

30mA passt irgendwie garnicht. ca. 85mA in Ruhe und ca. 130mA bei 
WLAN-Traffik mit Spitzen bis 350mA sind normal.
Mit abgeschaltetem WLAN sind es 15mA, das muß man ihm aber per Sleep 
beibringen.

Stormversorgung ok? 100-220µ an GND/Vcc nahe am ESP sind bei mir 
Standard geworden.

Gruß aus Berlin
Michael

von Joachim S. (oyo)


Lesenswert?

Richard B. schrieb:

> Ich habe das herauskopiert was ich zurückbekommen habe.
> 5.1 ist mir auch gekommen. Mit der Meldung "Cant start lua" oder so
> ähnlich.
>
> Joachim S. schrieb:
>> die Mehrheit der Leute hier scheint Arduino/C zu benutzen
>
> Ja, zur Zeit Arduino/C.

Das finde ich gerade etwas verwirrend - diverse Sachen, die Du 
geschrieben hast, lassen vermuten, dass Du die "nodemcu-firmware" 
benutzt, die man üblicherweise halt mit der Skriptsprache Lua 
programmiert.

Andererseits erwähnst Du aber Arduino/C und die Arduino IDE - was ja 
dafür spricht, dass Du doch nicht die "nodemcu-firmware", sondern die 
Arduino-Firmware benutzt?

> Mittlerweile bin ich wesentlich weiter.
> Scheinbar habe ich mitn "Knöpfedrücken" ein Problem.
>
> Einmal habe ich es geschafft über die Arduino IDE etwas hochzuladen.

Falls sich das "Knöpfedrücken" auf den Vorgang des Hochladens der 
Firmware oder eigener Software bezieht: Es ist wie gesagt eigentlich gar 
nicht nötig, da irgendwelche Knöpfe zu drücken; das machen die 
entsprechenden Upload-Tools normalerweise über die DTR/RTS-Leitungen 
ganz automatisch.

von Richard B. (r71)


Lesenswert?

Joachim S. schrieb:
> Das finde ich gerade etwas verwirrend...

Für mich erst :)

Joachim S. schrieb:
> lassen vermuten, dass Du die "nodemcu-firmware"
> benutzt, die man üblicherweise halt mit der Skriptsprache Lua
> programmiert.

Ja, weil ich zu erst per NodeMCU Flasher geflash habe.
Danach habe ich mit der Download Tool "etwas" (NONOS) geflasht.

Michael U. schrieb:
> Stormversorgung ok? 100-220µ an GND/Vcc
> nahe am ESP sind bei mir Standard geworden.

Dank deine Frage habe ich die Spannungen überprüft.
Am Netzteil habe ich 3.315V (500mA) eingestellt.
Zwischen Vcc und GND habe ich aber zwischen 2,86V und 3.06V.
Sonst: 150µ10V Tantal.

Könnte mir so eine Versorgung das Modul Bricken?
Jetzt kann ich nicht mal Firmware-Updates hochladen.

von Michael U. (amiga)


Lesenswert?

Hallo,

Richard B. schrieb:
> Dank deine Frage habe ich die Spannungen überprüft.
> Am Netzteil habe ich 3.315V (500mA) eingestellt.
> Zwischen Vcc und GND habe ich aber zwischen 2,86V und 3.06V.
> Sonst: 150µ10V Tantal.

da würde ich mich doch fragen, wie die Differenz zustande kommt. Da 
sollte ja außer Draht nichts dazwischen sein...
Ich habe meist AMS1117 aus der China-Kiste für die 3,3V oder MCP1703.
Einer läuft hier z.Z. mit 2x AAA Alkali-Zellen (PIR-Modul + ESP8266), 
hat im Moment ca. 2,8V dran und meldet sich noch sauber wenn ich 
vorbeilaufe.
Geflasht habe ich bei der Spannung allerdings nicht.

> Könnte mir so eine Versorgung das Modul Bricken?
Das wäre mir neu.

> Jetzt kann ich nicht mal Firmware-Updates hochladen.
Der ESP stürzt gern ab, wen sich seine Spannung beim Booten, 
WLAN-Betrieb oder auch beim Flashen schnell ändert.

Gruß aus Berlin
Michael

von Richard B. (r71)


Lesenswert?

Michael U. schrieb:
> Da sollte ja außer Draht nichts dazwischen sein...

Genau dieser Draht war das Problem.
Draht getauscht - Problem gelöst.

Zur Zeit kann ich nur mitn Download tools Flashen.
Was genau soll ich wohin laden?

von Richard B. (r71)


Lesenswert?

Hallo,

Zwischenbericht: Scheinbar habe ich das dritte Modul gebrickt.

Das mitn Knöpfen ist jetzt auch klar.

Arduino IDE: GPIO0 auf LOW und wenn UPLOAD kommt loslassen.
Firmware: GPIO0 die ganze Zeit gedrückt halten.

Ich habe es losgelassen und dadurch war der Gebrickt.
Ob der noch zum retten ist? KA.

Ist diese Vorgehensweise beim Drücken normal?

Ansonsten: Super Teil.
Sehr schnell.

Danke,
Richard

von Michael U. (amiga)


Lesenswert?

Hallo,

Richard B. schrieb:
> Arduino IDE: GPIO0 auf LOW und wenn UPLOAD kommt loslassen.
> Firmware: GPIO0 die ganze Zeit gedrückt halten.

Das Verhalten der ESP-Module ist immer gleich.
Wenn er startet, also Reset auf High geht, muß GPIO15 auf Low, GPIO2 auf 
High und GPIO0 auf Low sein, damit er vom UART das Programm holt.
GPIO2 hat einen internen PullUp, GPIO15 muß über ca. 10k an GND und GPIO 
bestimmt man ja mit dem Taster.
Die Abfrage beim Start erfolgt innerhalb 100ms, danach ist er im 
UART-Boot und bleibt da und man kann den Taster wieder loslassen.
Ausnahme wäre nur möglich, wenn ds Flashtool per UART-Kommando wieder 
neustartet oder er einen neuen Restimpuls bekommt.

> Ich habe es losgelassen und dadurch war der Gebrickt.
> Ob der noch zum retten ist? KA.

Wirklich bricken kann man einen ESP eigentlich nicht, der Bootloader 
sitzt im ROM und kann nicht überschrieben werden.

So ganz klar ist mir noch nicht, wie Deine Probleme zustande kommen.

Gruß aus Berlin
Michael

von Einer K. (Gast)


Lesenswert?

Also....
Bei keinem meiner ESP Module muss ich "Knöpfchen drücken" für den Upload 
aus der Arduino IDE heraus.

von Michael U. (amiga)


Lesenswert?

Hallo,

ich auch nicht, das hängt aber davon ab, daß man DTR und RTS passend 
angeschlossen sind.
Die anderen Flash-Tolls habe da auch eigene Ansichten, auch abhängig, 
wie alt die Version ist. Da ist es dann ganz nützlich, wenn man Taster 
an GPIO0 und Reset hat. ;)

Wenn man mit den nackten Modulen da sitzt und den Kram noch nicht kennt, 
ist es auch ganz nützlich, nur den UART anzuschließen und 2 Taster.
Ist aber eigentlich egal. Ich flashe die ESP meist sowieso nur einmal 
per UART, dann ist eine OTA-Version drauf.

Gruß aus Berlin
Michael

von K. J. (Gast)


Lesenswert?

Richard B. schrieb:
> Hallo,
>
> Zwischenbericht: Scheinbar habe ich das dritte Modul gebrickt.
>
> Das mitn Knöpfen ist jetzt auch klar.
>
> Ich habe es losgelassen und dadurch war der Gebrickt.
> Ob der noch zum retten ist? KA.

Eigentlich ist es ziemlich schwer die Dinger so zu zerschießen das sie 
nicht mehr laufen, aber ganz ausgeschlossen ist es nicht, wenn man so 
durch die Foren schaut kommt es aber vor, hab auch 2 Module hier die in 
ner Bootloderschleife hängen, bei einen davon hab ich beim Flashen 
ausversehn nen Kabel gezogen, und das andere ist so beim Flashvorgang 
drauf gegangen, bei mir kommen bei beiden noch die erste Zeile vom 
Bootloader aber dann ist sense erst dachte ich das der Speicher nen 
Schuss hat aber das austauschen hat auch nix gebracht.

Wenn du noch alle Zeilen vom Bootloder bekommst sollte das Modul noch in 
Ordnung ein.

von Richard B. (r71)


Lesenswert?

Hallo,

Michael U. schrieb:
> Ausnahme wäre nur möglich, wenn ds Flashtool per UART-Kommando wieder
> neustartet oder er einen neuen Restimpuls bekommt.

Das könnte sein. Ich habe "meine Methode" mehrmals getestet.
Der geht ganz sicher. So, wie ich das weiter oben beschrieben habe.

Das vermeintlich gebrickte Modul ist auch gegangen.
Der wollte erst nach einem "GPIO0 Loslassen Session" nicht mehr.
Der hat angefangen zu schreiben und ich habe es losgelassen.
Danach ging nichts mehr.

Michael U. schrieb:
> So ganz klar ist mir noch nicht, wie Deine Probleme zustande kommen.

Derzeit ist die Stifleiste weg.
Die werde ich wieder anlöten um zu sehen ob übers
Breadboard HF Signale über andere IO Pins die Kommunikation stören.

Ist diesbezüglich etwas bekannt?
Dürfen die I/O Pins "floaten"?

Freundliche Grüße,
Richard

von K. J. (Gast)


Angehängte Dateien:

Lesenswert?

Hast du Pullup/Downs an den Tastern und entprellt (100n parallel zum 
Taster)?

Vielleicht Floden die Pegel am GPIO vom Taster etwas, ich hab mal ne 
Schaltung angehängt, bei mir geht es auch wenn ich den Taster Loslasse.

Ich hab kein Problem wen die ungenutzten GPIOs un-beschaltet sind.

von Richard B. (r71)


Lesenswert?

K. J. schrieb:
> Wenn du noch alle Zeilen vom Bootloder bekommst
> sollte das Modul noch in Ordnung ein.

Nein, da kommt nur eine "pco.co" ähniche Meldung.
Laut google ist das ein Speicherdefekt.

Firmware schreiben kann er auch nicht.
Abbruch mit Speicherdefekt.

Laut google ist sogar das reparabel.
Das war mir aber schon zu blöd.

Erst jetzt kann ich schauen, wie sich das Board macht.

von Joachim S. (oyo)


Lesenswert?

@theborg0815:
Hat jetzt nichts mit dem Threadthema zu tun, aber: Die in Deinem 
angehängten Schaltplan verwendete Schaltung zum Messen der Helligkeit 
hat gerade mein Interesse geweckt, weil ich für ein eigenes 
ESP8266-Projekt ebenfalls eine Helligkeitsmessung per Photowiderstand 
über den ADC-Pin machen will, dafür aber instinktiv eine leicht andere 
Schaltung benutzen wollte.
- Was ist der Sinn des 10µF-Kondensators C5? Das Signal glätten?
- Ist es aus irgend einem Grund sinnvoll, wie in Deiner Schaltung den 
Photowiderstand mit VCC zu verbinden und den festen Widerstand mit GND? 
Mir erschien das anders herum irgendwie naheliegender, weil bei starken 
Licht der Widerstand des LDR ja gegen 0, und die am ADC anliegende 
Spannung dann nahe bei VCC/3.3V liegt, der ADC des ESP8266 ja aber nur 
Spannungen im Bereich 0...1V messen kann

von Richard B. (r71)


Lesenswert?

K. J. schrieb:
> Hast du Pullup/Downs an den Tastern und entprellt (100n parallel zum
> Taster)?

Jetzt schon. Davor war all das nur ein Pfusch.

von K. J. (Gast)


Lesenswert?

Joachim S. schrieb:
> - Was ist der Sinn des 10µF-Kondensators C5? Das Signal glätten?

Oh ist nen Tippfehler, da ist ein 100n verbaut, hatte das Problem das 
jede Messung einen Anderen wert hatte, weil die Widerstandswerte für den 
ADC einfach zu groß waren, der dient nur dazu beim Sampeln dafür zu 
sorgen das die Spannung nicht einbricht.

> Mir erschien das anders herum irgendwie naheliegender, weil bei starken
> Licht der Widerstand des LDR ja gegen 0, und die am ADC anliegende
> Spannung dann nahe bei VCC/3.3V liegt, der ADC des ESP8266 ja aber nur
> Spannungen im Bereich 0...1V messen kann

Jain ich hab den a905014 benutzt der kleinste Widerstand sind 70k den 
genauen Widerstand von R2 kann ich dir gerade nicht sagen, aber der 
müsste ziemlich hoch sein, glaub ~8k müsste ich nochmal genau schauen 
aber damit komme ich nicht über 1V, finde gerade spontan meine 
Berechnungsgrundlagen nicht wieder, im Prinzip ist das glaube ich nicht 
so das Problem, ich hatte das damals mal Ausgemessen finde es aber 
gerade nicht wieder.

http://cdn-reichelt.de/documents/datenblatt/A500/A90xxxx%23PE.pdf

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
Noch kein Account? Hier anmelden.