Forum: Mikrocontroller und Digitale Elektronik ESP8266 upload Geschwindigkeit


von Holger74 (Gast)


Lesenswert?

Ich habe ein ESP8266-Modul, das sich nur mit 9600Baud bespielen lässt. 
Wenn ich eine höhere Geschwindigkeit in der Arduino-IDE einstelle, 
bleibt die Übertragung trotzdem so langsam. Gibt es eine Möglichkeit die 
UpLoad-Geschwindigkeit des Moduls zu erhöhen?

von Heinz (Gast)


Lesenswert?

9600Baud ist schon arg langsam.
Zu einem NodeMCU mit ESP8266-12E läuft es bei mir aus der Arduino-IDE 
heraus mit 921600baud.
Für die USB Anbindung ist bei meinem NodeMCU ein CP2102 verbaut.
Kontrolliere mal den für deinen USB-Chip installierten Treiber!

von Keller (Gast)


Lesenswert?

ESP ist glücklicherweise programmierbar ;-)

Dass auch beim kleinsten Programmen der Chip komplett neu
geladen wird sollte nach fast 5 Jahren ESP langsam klar
sein.

von Michael U. (amiga)


Lesenswert?

Hallo,

mit mehr als 9600 läuft es genauso langsam, bricht aber nicht mit 
Fehlern ab?
Welches ESP-Modul?
Stromversorgung des ESP?
Welcher USB-Adapter?
Alle meine ESP lassen sich mit 921600baud flashen, egel ob FTDI, CH340 
oder CP2101 am USB.

Gruß aus Berlin
Michael

von Stefan F. (Gast)


Lesenswert?

Ich glaube, die Baudrate die man in der Arduino IDE einstellt bezieht 
sich auf die serielle Kommunikation NACH dem Firmware Upload.

Die Geschwindigkeit des Firmware Uploads ist durch die Geschwindigkeit 
des Flash Speichers begrenzt.

So aus dem Bauch heraus würde ich schätzen, dass es etwa 10 Sekunden pro 
200kB dauert.

von Oliver J. (skriptkiddy)


Lesenswert?

Hier kann ich über das python-modul esptool unter windows mit CH340 oder 
cp2102 auf 1500000 Baud (1.5 MegaBaud) gehen.
1
python -m esptool -c esp8266 -p //.//COM10 -b 1500000 --after soft_reset write_flash --flash_size=detect 0 "out\wemos_display.bin"
2
   text     data      bss      dec      hex  filename
3
 247913     3568    30208   281689    44c59  out\wemos_display.elf
4
esptool.py v2.0.1
5
Connecting....
6
Chip is ESP8266
7
Uploading stub...
8
Running stub...
9
Stub running...
10
Changing baud rate to 1500000
11
Changed.
12
Configuring flash size...
13
Auto-detected Flash size: 4MB
14
Flash params set to 0x024f
15
Compressed 255632 bytes to 184970...
16
17
Writing at 0x00000000... (8 %)
18
Writing at 0x00004000... (16 %)
19
Writing at 0x00008000... (25 %)
20
Writing at 0x0000c000... (33 %)
21
Writing at 0x00010000... (41 %)
22
Writing at 0x00014000... (50 %)
23
Writing at 0x00018000... (58 %)
24
Writing at 0x0001c000... (66 %)
25
Writing at 0x00020000... (75 %)
26
Writing at 0x00024000... (83 %)
27
Writing at 0x00028000... (91 %)
28
Writing at 0x0002c000... (100 %)
29
Wrote 255632 bytes (184970 compressed) at 0x00000000 in 2.3 seconds (effective 895.4 kbit/s)...
30
Hash of data verified.
31
32
Leaving...
33
34
11:45:17 Build Finished (took 5s.167ms)

Es muss also mit Arduino auch mehr als 9600 möglich sein.

BTW: Ich würde für den ESP8266 schon nur von den Buildzeiten her was 
anderes als die ArduinoSW empfehlen:
- Platform-IO (scons-basiert) zum Beispiel.

Das Arduino-Build-System braucht schon brutal lange um einen Sketch zu 
bauen und zu flashen. Arduino baut (so wars zumindest, als ichs vor 
glaube ich ca. nem halben Jahr mal ausprobiert hab) nur auf einem Kern. 
Da ist noch Luft nach oben.

Grüße Oliver

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

> 255632 bytes in 2.3 seconds

Hui, das ist ja schnell.

> Das Arduino-Build-System braucht schon brutal lange um einen Sketch
> zu bauen und zu flashen

Ja beim ersten mal. Solange man es nicht schließt, werden danach nur die 
geänderten Dateien compiliert.

> Arduino baut nur auf einem Kern.

Das ist in der kommenden Version 1.9 verbessert.

von A.. P. (arnonym)


Lesenswert?

Stefan U. schrieb:
>> 255632 bytes in 2.3 seconds
>
> Hui, das ist ja schnell.

Es sind nur 184970 Bytes in 2,3 s. und bei 1,5 MBaud ist das doch jetzt 
nichts großartiges.

von Stefan F. (Gast)


Lesenswert?

Aber immerhin etwa 10x schneller als ich es von der Arduino IDE gewohnt 
bin.

von Holger74 (Gast)


Lesenswert?

Vielen Dank an Euch alle für die Hinweise und Tipps!

Normalerweise verwende ich VS Code mit platformIO, weil die ArduinoIDE 
wirklich sehr langsam übersetzt und die ganze IDE für mich einfach nicht 
benutzbar ist. Die ArduinoIDE hatte ich nur zum probieren für die 
Übertragungsgeschwindigkeit genommen.

Aber zur UploadGeschwindigkeit:
Man kann in der platformio.ini einen Punkt "upload_speed = " einfügen.
Unter Linux funktionieren die 256000baud nicht, dafür die 230400 und 
alles bis 921600.

Nur der Vollständigkeit halber:
Wie lässt sich in der ArduinoIDE die uploadGeschwindkeit verändern?

von Kolja L. (kolja82)


Lesenswert?

Holger74 schrieb:
> Wie lässt sich in der ArduinoIDE die uploadGeschwindkeit verändern?

Werkzeuge -> Upload Speed

von Holger74 (Gast)


Lesenswert?

Danke. Da sucht man ewig und am Ende isset ganz einfach....

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.