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?
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!
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.
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
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.
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
> 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.
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.
Aber immerhin etwa 10x schneller als ich es von der Arduino IDE gewohnt bin.
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?
Holger74 schrieb: > Wie lässt sich in der ArduinoIDE die uploadGeschwindkeit verändern? Werkzeuge -> Upload Speed
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.