Hallo, ich würde gerne folgendes machen: einen ESP32 mit einem RPi über USB verbinden und dann auf dem RPi den Code für den ESP32 übersetzen und den ESP32 dann damit flashen -- und resetten. Den Twist mit dem Kondensator fürs Flashen zwischen EN und GND habe ich schon mitbekommen. Aber wie geht das denn alles sauber und stabil?
Zum Programmieren des ESP32 benutze ich einen USB-UART-Adapter. Den "EN"-Pin des ESP32 verbinde ich dann mit der "RTS"-Leitung des USB-UART-Adapters, den "IO0"-Pin mit der "DTR"-Leitung. Auf diese Weise kann man den ESP32 mittels "esptool.py" automatisch flashen und resetten, ohne irgendeinen Knopf drücken zu müssen.
Danke für den Tip. Nehme ich in meiner Datenbank (Hirn auf).
Joachim S. schrieb: > Zum Programmieren des ESP32 benutze ich einen USB-UART-Adapter. Prima, das war aber nicht meine Frage. Ich will den ESP32 mit einem USB-Kabel an den RPi anklemmen und die Tastendrucke quasi simulieren. Wie gesagt, den Elko-Trick kenne ich schon. Vielleicht hat ja noch wer einen Tipp für den Reset?
Carsten P. schrieb: > Joachim S. schrieb: >> Zum Programmieren des ESP32 benutze ich einen USB-UART-Adapter. > > Prima, das war aber nicht meine Frage. Da fast alle relevanten Informationen im Eröffnungsposting fehlen, kann man leider nur raten, wo genau Ihr Problem liegt.
Carsten P. schrieb: > Ich will den ESP32 mit einem > USB-Kabel an den RPi anklemmen Der ESP32, also der Chip selbst, hat leider keine USB-Buchse (und auch keine Taster). Wenn Du hier zu einer konkreten Platine mit ESP32 (und USB-Buchse, Taster,...) Fragen hast, dann solltest Du erstmal mitteilen welche konkrete Platine Du meinst. Wenn Du bei Deiner Platine den ESP über den USB-Anschluß flashen kannst, dann ist da jedenfalls auch ein USB-UART Wandlerchip drauf, wenn Du fürs flashen aber noch Taster drücken mußt, dann halt suboptimal angeschlossen.
Carsten P. schrieb: > Joachim S. schrieb: >> Zum Programmieren des ESP32 benutze ich einen USB-UART-Adapter. > > Prima, das war aber nicht meine Frage. Ich will den ESP32 mit einem > USB-Kabel an den RPi anklemmen und die Tastendrucke quasi simulieren. "ESP32" bezeichnet eine Familie von Microcontrollerchips. Keiner davon hat USB eingebaut. Daher ist Deine Frage völlig sinnlos. Du hast sicher eine fertige Leiterplatte mit einem dieser ESP32-Chips drauf. Davon gibts viele. Jede hat eine eigene Typenbezeichnung. Solange wie Du diese hier nicht nennst, wirst Du keine befriedigende Antwort erhalten. fchk
Frank K. schrieb: > "ESP32" bezeichnet eine Familie von Microcontrollerchips. Keiner davon > hat USB eingebaut. Doch, die ESP32-S2. https://www.espressif.com/sites/default/files/documentation/esp32-s2_datasheet_en.pdf
> Doch, die ESP32-S2. ... und ESP32-C3, ESP32-C6, ESP32-S3 https://docs.espressif.com/projects/esp-idf/en/stable/esp32c3/api-guides/usb-serial-jtag-console.html https://docs.espressif.com/projects/esp-idf/en/stable/esp32c6/api-guides/usb-serial-jtag-console.html https://docs.espressif.com/projects/esp-idf/en/stable/esp32c3/api-guides/usb-serial-jtag-console.html
Sherlock 🕵🏽♂️ schrieb: > Frank K. schrieb: >> "ESP32" bezeichnet eine Familie von Microcontrollerchips. Keiner davon >> hat USB eingebaut. > > Doch, die ESP32-S2. Das ist wieder eine andere Familie. fchk
Frank K. schrieb: > eine andere Familie Espressif selbst spricht von "Series". In Wikipedia werden alle Series zur "ESP32"-Familie gezählt.
Frank K. schrieb: >>> "ESP32" bezeichnet eine Familie von Microcontrollerchips. Keiner davon >>> hat USB eingebaut. >> Doch, die ESP32-S2. > Das ist wieder eine andere Familie. Eine andere Familie als was?
Michi S. schrieb: > Der ESP32, also der Chip selbst, hat leider keine USB-Buchse (und auch > keine Taster). Wenn Du hier zu einer konkreten Platine mit ESP32 (und > USB-Buchse, Taster,...) Fragen hast, dann solltest Du erstmal mitteilen > welche konkrete Platine Du meinst. Wo du/ihr Recht habt, habt ihr Recht. My fault. Sowas wie der hier: https://www.reichelt.de/entwicklungsboard-esp32-s3-wroom-1-n8-esp32s3devk-c1n8-p380400.html
Carsten P. schrieb: > Wo du/ihr Recht habt, habt ihr Recht. My fault. Sowas wie der hier: > > https://www.reichelt.de/entwicklungsboard-esp32-s3-wroom-1-n8-esp32s3devk-c1n8-p380400.html Ok, dann wissen wir jetzt also schon mal, von welcher Hardware Sie reden. Auf diesem Board ist der erwähnte USB-UART-Wandler bereits enthalten und die erwähnten RTS/DTR-Leitungen sind bereits mit EN/IO0 verbunden. Die Hardware ist also bereits vollständig mit ihrem Anliegen kompatibel, da müssen Sie gar nichts mehr machen. Damit bleibt eigentlich nur noch die Frage, welche Software Sie zum Flashen nehmen. Denn das üblicherweise für diesen Zweck verwendete Tool "esptool.py" macht das, was Sie wollen, bei diesem Board ganz automatisch, da müssen Sie überhaupt keine Buttons drücken. Da Sie zum Flashen jedoch Buttons drücken müssen, benutzen Sie offenbar irgendein anderes Tool zum Flashen, das den üblichen Mechanismus per RTS/DTR nicht unterstützt.
Joachim S. schrieb: > https://www.reichelt.de/entwicklungsboard-esp32-s3-wroom-1-n8-esp32s3devk-c1n8-p380400.html > Auf diesem Board ist der erwähnte USB-UART-Wandler bereits enthalten Genauer gesagt ist da kein extra Wandler-Chip verbaut sondern der ESP32-S3 hat die USB-Funktionalität selbst (ebenso wie der -S2 und der -C3)
:
Bearbeitet durch User
Stephan S. schrieb: > Joachim S. schrieb: >> > https://www.reichelt.de/entwicklungsboard-esp32-s3-wroom-1-n8-esp32s3devk-c1n8-p380400.html >> Auf diesem Board ist der erwähnte USB-UART-Wandler bereits enthalten > > Genauer gesagt ist da kein extra Wandler-Chip verbaut sondern der > ESP32-S3 hat die USB-Funktionalität selbst (ebenso wie der -S2 und der > -C3) Jain. Das Board hat zwei USB-Ports - am anderen hängt ein klassischer USB-UART-Wandler, der andere ist für die eingebaute USB-Funktionalität des ESP32-S3. Rein theoretisch könnte der Threadstarter also auch einfach den falschen USB-Port auf dem Board benutzt haben...
Joachim S. schrieb: > esptool.py Wenn es denn unbedingt Python sein muss... ^-^ Man beißt ja zur Not auch in den sauersten Apfel. Danke für alle eure Hinweise, ich werde mir das jetzt mal in Ruhe anschauen.
Joachim S. schrieb: > offenbar irgendein anderes Tool PS: Bisher das Arduino Studio oder wie immer das heißt. Für erste Tests tut es das ganz gut, aber für meine Vorhaben eben nicht, da da auf dem RPi der Code modifiziert werden soll, bevor es ans Übersetzen und Flashen geht, und nein, kein Python-Code, solange ich es vermeiden kann ;-) PPS: Als blutiger Amateur habe ich im Alter von 11 Jahren mit BASIC angefangen. Danach bin ich auf C umgestiegen und dann auf C++ und Perl und PHP und JavaScript und Kram, aber am liebsten C#. Also Curly Syntax. Mit Whitespace-Syntax käme ich mir albern wie ein Teenager vor ^-^
:
Bearbeitet durch User
Carsten P. schrieb: > Joachim S. schrieb: >> offenbar irgendein anderes Tool > > PS: Bisher das Arduino Studio oder wie immer das heißt. Für erste Tests > tut es das ganz gut, aber für meine Vorhaben eben nicht, da da auf dem > RPi der Code modifiziert werden soll, bevor es ans Übersetzen und > Flashen geht, und nein, kein Python-Code, solange ich es vermeiden kann Sie meinen vermutlich die Arduino IDE - und die scheint diesem Screenshot (https://raw.githubusercontent.com/arduino/arduino-ide/main/static/screenshot.png) nach zu urteilen ebenfalls esptool.py zu benutzen. Bei Verwendung dieser Hardware/Software-Kombo sollte das mit dem Flashen/Resetten ohne Tastendruck also eigentlich eh funktionieren, ohne dass Sie irgendwelche Buttons drücken müssen. p.s.: Dass esptool.py in Python geschrieben ist, kann Ihnen doch egal sein - mit dem Python-Code kommen sie ja eh nicht in Kontakt, sie rufen das Programm ja nur auf. Und auf dem RPI ist Python ja eh installiert.
https://adafruit.github.io/Adafruit_WebSerial_ESPTool/ Damit geht es, egal ob das Kabel am USB/UART oder native USB hängt
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.