mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ESP8266 defekt oder bin ich zu dumm?


Autor: Patrick (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe ein ESP8266, aber ich bekomme es einfach nicht zum laufen. Das 
Empfangen von Daten funktioniert tadelos, das senden jedoch nicht.

Das ESP8266 bezieht seinen Strom von einem Elego Powerboard, welches per 
Jumper auf 3.3V gepolt wurde.


Die Verkabelung sieht wie folgt aus:

ESP "3V3" auf Powerboard  "+"  (Gelbes Kabel)
ESP "EN"  auf Powerboard  "+"  (Graues Kabel)
ESP "RX"  auf USB Adapter "TX" (Gelbes Kabel)
ESP "TX"  auf USB Adapter "RX" (Graues Kabel)
ESP "GND" auf Powerboard  "-"  (Blaues Kabel)

Ich weiß das die Farben der Kabel etwas ungünstig gewählt wurde, hatte 
jedoch auf die schnelle keine anderen da.

Wenn ich das Powerboard aktiviere, blinkt der ESP kurz blau auf.

Während des "Bootvorgangs" des ESP kann ich in dem Seriellen Monitor den 
Bootloader Code auf 74880 Baud lesen.

Nach kurzer Zeit ist auf 115200 Baud der Hersteller Text sowie die Zeile 
"Ready" zu erkennen.

Über RX Empfange ich problemlos Nachrichten.

Wenn ich jetzt aber versuche den Befehl "AT" zu senden, passiert gar 
nichts. Habe bereits verschiedene Programme versucht wie z.b. Putty und 
Term 1.9b und habe auch bereits alle Baud Arten im Testverfahren 
durchprobiert, jedoch war der TX Counter immer auf 0 und ich war nicht 
in der Lage einen Befehl zu senden.

Habe auch schon probiert TX und RX auf dem Arduino selbst als Träger zu 
verwenden, jedoch tritt hier das gleiche Problem auf.

Wenn ich den Port I00 an GND anklemme, leuchtet die blaue LED dauerhaft, 
jedoch kann ich immer noch keine Befehle senden.

Habe auch test weise mit verschiedenen Tools versucht ein Firmware 
Update aufzuspielen, jedoch schlug auch dieser Datentransfer fehl.

Laut dem Bootloader Code ist eine Firmware von März 2016 vorinstalliert.


Ist der ESP einfach nur defekt oder habe ich etwas falsch gemacht?


Gruß Patrick

Autor: Joachim S. (oyo)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ein Fehler, der mir zumindest gleich in's Auge gesprungen ist:

Du hast die GND-Leitung vom USB-UART-Wandler nicht verbunden, die muss 
aber natürlich mit GND vom ESP bzw. der "-"-Leitung vom Power-Board 
verbunden werden.

Autor: Max D. (max_d)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schicke mal nach dem "AT" noch \r\n (also die Steuerzeichen) hinterher. 
Neuere ESP FWs wollen das so.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe gerade den USB GND an den GND meines Powerboards angeschlossen 
und das ganze nochmal getestet.

Bei 115200 Baud bekomme ich folgende Meldung:

rll▒▒|▒l▒|
▒
l▒
b|▒▒▒▒r▒b▒
b▒▒nn▒lnn▒▒▒
bp▒lrlrlp▒n▒
▒
l
b
n▒|l
l▒▒b▒▒nn▒l▒▒l`▒nn
l`nr▒▒▒n
▒▒l`p▒n▒
r▒▒▒▒▒
b
n▒|쎎▒b▒▒nn▒
l`▒nn
l`nr▒▒▒n
▒l`p▒n▒
r▒▒▒▒▒▒l
b
n▒|l▒r▒
b▒▒nn▒
l`▒nn
l`nr▒▒▒n
▒ll`r▒▒n
▒ll`rl▒▒n▒▒▒nn▒▒▒▒rnnn▒
l▒brrl
▒▒l▒▒▒▒
▒
▒lll~rl
▒▒llln▒▒
▒
▒▒~▒`
▒▒l▒▒n▒n▒n~▒▒ll▒b
llpb▒br▒▒▒l`nl▒p▒▒l`bl`l▒▒n
▒n▒▒▒nl▒|b
l
l`rl▒▒r▒l▒l▒
▒l`▒▒r▒l▒l▒
l`▒▒r▒l
▒▒▒
ll`rl▒▒rl▒▒▒b
l▒br|
▒bp▒▒bbb▒▒n▒nn▒
ll▒▒l쎌
l▒▒ll▒▒▒l▒▒l▒n▒▒▒▒b
l▒p
▒▒▒b
l
▒bprlrl
Ai-Thinker Technology Co. Ltd.

ready
AT\r\n

Eine Antwort bekomme ich jedoch trotzdem nicht.
Auf 74880 Baud bekomme ich während des Bootvorganges die folgende 
Nachricht:



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

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

rf[112] : 03
rf[113] : 00
rf[114] : 01

SDK ver: 1.5.4(baaeaebb) compiled @ May 17 2016 19:23:54
phy ver: 972, pp ver: 10.1

▒▒h▒h▒ip▒$x▒▒▒,▒q(Ѫ8▒▒jtN



Autor: Patrick (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier nochmal die Log mit Term 1.9

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da wird wohl keine Firmware drauf sein?

Autor: Joachim S. (oyo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Als Du "AT\r\n" geschickt hast - hast Du da auch sicher die 
Steuerzeichen \r und \n geschickt? So richtig 100%ig schlau wurde ich 
aus dem Screenshot diesbezüglich nicht.

Ansonsten könntest Du evtl. mal probieren, statt eines allgemeinen 
Terminalprogramms die Software "ESPlorer" zu verwenden:
https://esp8266.ru/esplorer/
bzw. Direktdownload:
http://esp8266.ru/esplorer-latest/?f=ESPlorer.zip

Hier übrigens eine einfache Grafik aus dem ESP8266 Arduino-Repository, 
wie das ESP-01-Modul verbunden werden sollte:
https://raw.githubusercontent.com/esp8266/Arduino/...
Wobei Du da im Grunde schon fast alles richtig gemacht hast - DTR und 
RTS sind zwar nicht verbunden, aber für einen reinen Funktionstest der 
AT-Firmware sollten die ja auch nicht nötig sein.

Autor: Patrick (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Joachim! Danke für den Tipp mit dem ESPlorer! Endlich bekomme ich 
nach über einer Woche experimentieren ein Signal von dem Modul.

Ich habe wirklich geglaubt das mein Modul defekt sein muss..


Allerdings verstehe ich nicht warum der ESP mit dem ESPlorer 
funktioniert, mit Arduino IDE  Putty  Term 1.9b jedoch nicht. Hast du 
eine Ahnung was ich falsch gemacht habe?

Gruß Patrick

Autor: Joachim S. (oyo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Patrick schrieb:
> Allerdings verstehe ich nicht warum der ESP mit dem ESPlorer
> funktioniert, mit Arduino IDE  Putty  Term 1.9b jedoch nicht. Hast du
> eine Ahnung was ich falsch gemacht habe?

Ich würde vermuten, dass es halt mit den Steuerzeichen \r und \n zu tun 
hat, dass die aus irgendeinem Grund nicht richtig gesendet wurde. Ist 
aber wirklich einfach rein geraten, so richtig plausibel erscheint es 
mir nicht mal selbst... ;-)

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht stört das CR=CR+LF beim Transmit, obwohl das ja gerade \r\n 
sein sollte.

: Bearbeitet durch User
Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da wird wohl keine Firmware drauf sein?

Nein, man sieht am Screenshot deutlich, dass die Firmware geladen wurde 
und dass die Baudrate auch richtig eingestellt wurde:
#Ai-Thinker Technology Co. Ltd.

ready

Der Fehler ist auch offensichtlich:
AT\r\n

Du musst AT senden, gefolgt von einem Zeilenumbruch im DOS/Windows 
Format. Das sind zwei Bytes, die dezimal dargestellt die Werte 13 und 10 
haben. In C und vielen anderen Programmiersprachen werden sie im 
Quelltext als "\r\n" geschrieben (escape-sequence). Sie werden in 
Dokumentation oft auch als <CR><LF> geschrieben.

ASCII 13 = <CR> = Carriage Return = '\r' in C
ASCII 10 = <LF> = Line Feed = '\n' in C

[code]
send("AT\r\n")
[/coode]

Du hast aber aber nicht die beiden Steuerzeichen des DOS Zeilenumbruches 
(=2 Bytes) gesendet, sondern vier sichtbare Zeichen.

Du musst dein Terminal so konfigurieren, dass es beim Drücken der Enter 
Taste einen DOS Zeilenumbruch sendet. Und dann tippst du ein:

AT

und drückst dann die Enter Taste, nicht den Send Button.

: Bearbeitet durch User
Autor: Joachim S. (oyo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem abgebildeten Terminalprogramm handelt es sich ja offenbar 
hierum:
https://sites.google.com/site/terminalbpp/

Wenn ich die Dokumentation auf der Webseite richtig interpretiere, dann 
muss man in diesem Programm für AT\r\n
AT$0D$0A
schreiben. Allerdings bin ich aus der Doku nicht ganz schlau geworden, 
ob das bei diesem Programm nur für Makros gilt, oder grundsätzlich.

Autor: Frank M. (ukw) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Du musst dein Terminal so konfigurieren, dass es beim Drücken der Enter
> Taste einen DOS Zeilenumbruch sendet. Und dann tippst du ein:
>
> AT
>
> und drückst dann die Enter Taste, nicht den Send Button.

Korrekt. Alternativ geht es auch so:

AT <ENTER> <STRG-J>

Denn standardmäßig sendet die Enter-Taste in jeder gängigen 
Terminal-Emulation nur ein CR (\r). Mit der Tastenkombination STRG-J 
sendet man noch ein LF (\n) hinterher.

EDIT:
Ich verstehe absolut nicht, warum die AT-Firmware-Entwickler das 
überhaupt geändert haben. Früher reichte beim ESP8266 das \r, also die 
ENTER-Taste - genauso, wie es auch jede AT-Modem-Software vor 20 Jahren 
gemacht hat. Warum diese Inkompatibilität? Oder war es eher Inkompetenz?

: Bearbeitet durch Moderator
Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck Dir mal an, wie beim HC-05 Bluetooth Modul die Kommandos terminiert 
werden - da waren die Entwickler noch "kreativer". Ich glaube, die 
Chinesen habe ein "gutes" Kraut zum rauchen.

Autor: Cyblord ---- (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Guck Dir mal an, wie beim HC-05 Bluetooth Modul die Kommandos terminiert
> werden - da waren die Entwickler noch "kreativer". Ich glaube, die
> Chinesen habe ein "gutes" Kraut zum rauchen.

Wieso? Die Terminieren via Timeout. Das ist nicht so schlecht, höchstens 
langsam. Die HC Module werden aber meist auch nur einmalig so 
konfiguriert und dann im Betrieb nicht mehr.

Autor: Stefan Us (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur dumm, dass alle Kommandos ignoriert werden, wenn sie mit einem 
Zeilenvorschub enden.

Einige Terminalprogramme können gar nicht ohne Zeilenvorschub senden, 
das ist eine geniale Hürde für Einsteiger.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.