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.
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?
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.
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.
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:
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.
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...
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.
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 ^-^
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
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.