Forum: Mikrocontroller und Digitale Elektronik ESP8266 - Ohne Firmware?


von Daniel (Gast)


Lesenswert?

Heyho!

Ist auf dem ESP8266 eigentlich schon ab Werk eine Firmware drauf?
Kriege das Teil einfach nicht zum laufen.

Bevor einer fragt - Spannung liegt bei 3.3V.
TX und RX korrekt verbunden - habe sowohl mit CH_EN auf VCC und ohne 
getestet (wurde teilweise im Web als NC beschrieben).

Rotes Licht am SoC geht an - aber kein blaues Licht.

Board: Arduino Mega 2560, Mega 1280
Library: https://github.com/itead/ITEADLIB_Arduino_WeeESP8266
WLAN SoC: ESP8266 (http://www.mikrocontroller.net/articles/ESP8266)

von Christian B. (casandro)


Lesenswert?

CH_EN nicht direkt mit VCC verbinden sondern über einen Schalter, damit 
Du erst VCC anlegen kannst und dann erst CH_EN dazu schalten kannst. Das 
Problem ist, dass VCC wahrscheinlich zu langsam hoch kommt.

von Daniel (Gast)


Lesenswert?

Wenn ich beim Arduino das Programm flashe, wird VCC doch aber nicht 
unterbrochen? Also an VCC liegen eigtl. konstant 3.3V an, ohne 
Unterbrechung.

von Pete K. (pete77)


Lesenswert?

Was bekommst Du denn nicht zum Laufen? Was erwartest Du?

Du benötigst den ESP Flasher, der Dir z.B. eine LUA Firmware aufspielt.
Dann kannst Du mit 9600,8N1 drauf zugreifen.

schau mal unter www.esp8266.com

von Max H. (hartl192)


Lesenswert?

Welches Modul hast du? Bei meinem ESP-12 ist es normal, dass die blaue 
LED nur leuchtet wenn das ESP Daten sendet.

Hast du schon versucht ein
1
"AT\r\n"
mit verschiedenen Baudraten (9600, 57600, 115200) zu senden? Was 
antwortet das Modul?

: Bearbeitet durch User
von Daniel (Gast)


Lesenswert?

Afaik läuft das Modul immer mit 57600 Baud.

Aber eine Frage war ja, ob auf dem Modul überhaupt eine Firmware 
vorinstalliert ist - oder ob die Module generell ab Werk immer ohne 
Firmware kommen.

Das Modul antwortet leider gar nicht.
Werde gleich mal andere Baudraten testen.

von Daniel (Gast)


Lesenswert?

Habe das ganze jetzt nochmal mit einem einfacherem Programm und einer 
Baudrate von 9600 getestet.

Wenn ich den AT-Befehl sende, passiert erstmal nichts. Sobald ich die 
Spannung vom CH_EN trenne und wieder anlege sendet es erst knapp 50 
Bytes "Müll" und am Ende "ready".

Wiederholt man den Vorgang sendet das Board immer wieder "ready".

von Max H. (hartl192)


Lesenswert?

Daniel schrieb:
> Afaik läuft das Modul immer mit 57600 Baud.
Ich hatte noch keines mit 57600, meine ersten liefen mit 115200 und die 
ich im Dezember bestellt habe kamen mit 9600.
> Aber eine Frage war ja, ob auf dem Modul überhaupt eine Firmware
> vorinstalliert ist
In der Regel ja.

Daniel schrieb:
> Wenn ich den AT-Befehl sende, passiert erstmal nichts. Sobald ich die
> Spannung vom CH_EN trenne und wieder anlege sendet es erst knapp 50
> Bytes "Müll" und am Ende "ready".
Und wenn du ihn nach dem ready sendest?

Was verwendest du als Spannungsversorgung? Das Modul arbeitet oft nicht 
richtig wenn sie zu schwach ist.

: Bearbeitet durch User
von Daniel (Gast)


Lesenswert?

Habe drei Möglichkeiten getestet - direkt 3.3V vom Arduino Mega, 5V mit 
zwei Dioden runtergepegelt und schließlich eine Batterie mit 3V (zwei 
AA-Batterien).

Evtl. sind das alles keine optimalen Lösungen, werde nachher mal einen 
passenden Elko suchen und dann auch gleich mit Widerständen einen 
Spannungsteiler für die Datenleitung basteln.

von Marc S. (marc_s86)


Lesenswert?

der Müll den es sendet ist normal - das ist der bootloader. nach dem 
ready kannst du at befehle senden

von Jojo S. (Gast)


Lesenswert?

oha, mit 5 V Datenpegel schaltest du den ESP in den Grillmode. Für die 
ersten Versuche ist so ein USB-seriell Modul + zusätzlichem 3,3V Regler 
ganz nützlich.
Meine Module (Ver.01) aus 12/2014 liefen auch mit 9600 Bit/s. Der 'Müll' 
der nach dem Einschalten gesendet wird ist eine Hallo Message vom 
Hersteller oder Händler und die Software Version.

von Marc S. (marc_s86)


Lesenswert?

Jojo S. schrieb:
> oha, mit 5 V Datenpegel schaltest du den ESP in den Grillmode. Für
> die
> ersten Versuche ist so ein USB-seriell Modul + zusätzlichem 3,3V Regler
> ganz nützlich.
> Meine Module (Ver.01) aus 12/2014 liefen auch mit 9600 Bit/s. Der 'Müll'
> der nach dem Einschalten gesendet wird ist eine Hallo Message vom
> Hersteller oder Händler und die Software Version.

er schrieb

Daniel schrieb:
> 5V mit
> zwei Dioden

das sind dann 3,6V nehme ich an.

von Rudolph (Gast)


Lesenswert?

Marc S. schrieb:
>> 5V mit
>> zwei Dioden
>
> das sind dann 3,6V nehme ich an.

Diese Annahme ist auch falsch.

von Daniel (Gast)


Lesenswert?

Habe es nochmal mit nem einfachen Spannungsteiler aus Widerständen 
probiert - und dabei auch gleich nochmal gemessen, und festgestellt, 
dass an den 5V nur etwa 4 bis 4.5 Volt anliegen. An den 3.3V höchstens 
3V.

Auch über VIN komme ich selbst bei USB-Netzteilen irgendwie nicht auf 
5V.

Werde das ganze die Tage nochmal sauber auf nem Steckbrett aufbasteln.

von Frank S. (derfrank)


Lesenswert?

Hi,
wenn das Teil '.... ready' sendet, dann bist Du quasi schon am Ziel und 
hast auch die korrekte Baudrate. Diese ist je nach Firmware-Version 
unterschiedlich (9600, 57600, 115200) und man kann diese dem Modul nicht 
ansehen.

Die Stromversorung muss leistungsstark genug ist. Über den Arduino 
sollte das in den meisten Fällen klappen.

Ich hatte an meinem Raspberry auch mal ein Schrott-USB-Kabel, dass einen 
erheblichen Spannungsabfall verursacht hat. Also mal verschieden Kabel 
ausprobieren und messen. U.U. reicht die Spannung am Arduino dann nicht 
mehr für den dort vorhanden 3,3V Regler aus.

Du musst die Befehle mit CR+LF (also "\r\n") senden!
Erst dann werden diese vom ESP korrekt erkannt.

Viel Erfolg
Frank

von Hannes K. (hannes_k52)


Lesenswert?

Der Befehl für die Baudrate: AT+CIOBAUD=9600 zB. Mein Modul kam mit 9600 
an, hab es auf 115200 umgestellt und läuft. Wegen dem Terminalprogramm 
probier mal CoolTerm das läuft bei mir perfekt. Ich hatte vorher putty 
und einige andere Terminalprogramme ausprobiert aber die senden beim 
entern nicht die richtigen hexwerte für CR/LF.

von Marc S. (marc_s86)


Lesenswert?

Rudolph schrieb:
> Marc S. schrieb:
> 5V mit
> zwei Dioden
>
> das sind dann 3,6V nehme ich an.
>
> Diese Annahme ist auch falsch.

warum? 5V-2*0,7V=3,6V
wo ist da der Fehler?
da der esp funktioniert gehe ich davon aus,dass meine annahme richtig 
ist. ich frage mich nur was der TO außer dem ready erwartet...

von SF6 (Gast)


Lesenswert?

Marc S. schrieb:
> warum? 5V-2*0,7V=3,6V
> wo ist da der Fehler?
Schau mal im Datenblatt unter welchen Bedingungen die Diode wirklich 
0,7V hat.

von BlauesLicht (Gast)


Lesenswert?

Daniel schrieb:
> Heyho!
>
>  blaues Licht.
>

Was macht das?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank S. schrieb:
> Du musst die Befehle mit CR+LF (also "\r\n") senden!

Kommt auf die Version der Firmware an. Ich habe auf meinen älteren 
Modulen eine Firmware drauf, die mit CR auskommt. Würde ich anschließend 
"vorsichtshalber" noch ein LF schicken, könnte dieses bereits 
fälschlicherweise an einen gerade verbundenen TCP-Partner gesandt 
werden. Kommt daher auf die Situation an.

Diese ganze ESP-Firmware ist der letzte Schrott. UDP funktioniert nicht 
richtig, die Module bleiben öfters mal im Busy-Zustand hängen, sie haben 
keine AutoBaud-Erkennung wie sie schon vor zwanzig Jahren AT-Modems 
hatten, sie antworten mit verschieden geschriebenen Codes (mal 
Großschrift, mal mit Kleinbuchstaben), das Echo lässt sich nicht 
abschalten (man muss alles, was man geschickt hat, selber im Input 
wieder wegfressen, um an die tatsächlichen Daten zu kommen), sie 
antworten mit variabler Zeilenanzahl, so dass man sich schlecht auf die 
eigentlichen Daten "einklinken" kann, sie kommen mit unterschiedlich 
vorkonfigurierten Baudraten und manche wollen nur CR, andere CR+LF.

Die Liste könnte man noch ewig weiterschreiben. Die ESP-Firmware ist 
komplett amateurhafte Flickschusterei. Das konnten schon damals die 
Modem-Hersteller mit ihren AT-Befehlen tausendmal besser.

: Bearbeitet durch Moderator
von Jojo S. (Gast)


Lesenswert?

Full Ack,
zumindest sollte jetzt das Echo abschalten lt. Doku aus dem SDK 0.9.5 
mit 'ATE0' gehen, habe ich aber noch nicht getestet.

von Jojo S. (Gast)


Lesenswert?

BlauesLicht schrieb:
>>  blaues Licht.
>>
>
> Was macht das?

blinkt kurz beim Einschalten wenn CH_PD mit VCC verbunden ist. Fehlt 
diese Verbindung dann blinkt es sobald CH_PD an VCC gelegt wird, vorher 
reagiert es nicht auf AT Befehle.
Wenn das Modul läuft blinkt die blaue LED sobald ein AT Kommando 
empfangen wurde (oder vielleicht auch schon wenn sich irgendwas an RxD 
tut?).

von Eike S. (heissezwerge)


Lesenswert?

Jojo S. schrieb:
> BlauesLicht schrieb:
>>>  blaues Licht.
>>>
>>
>> Was macht das?
>
> blinkt kurz beim Einschalten wenn CH_PD mit VCC verbunden ist. Fehlt
> diese Verbindung dann blinkt es sobald CH_PD an VCC gelegt wird, vorher
> reagiert es nicht auf AT Befehle.
> Wenn das Modul läuft blinkt die blaue LED sobald ein AT Kommando
> empfangen wurde (oder vielleicht auch schon wenn sich irgendwas an RxD
> tut?).


facepalm

Das sageten auch..... 0 Leute.
Die Topantwort wäre gewesen: "Es leuchtet blau"


SCNR

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?


von Jojo S. (Gast)


Lesenswert?

Frank M. schrieb:
> Was macht das?
>
>   Youtube-Video "Rambo Blaues Licht"

stimmt - das ist viel einleuchtender :-)

von Hannes K. (hannes_k52)


Lesenswert?

Hallo ATE0 funzt, echo geht aus und mit ATE1 gehts wieder an. Danke für 
den Hinweis. Nach einem Reset ist übrigens das echo auch wieder an.

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.