• ComputerBase erhält eine Provision für Käufe über eBay-Links.

Welcher ESP32 für den Einstieg?

FatManStanding

Lt. Junior Grade
Registriert
Aug. 2021
Beiträge
487
Hallo,

angeblich soll es mit Arduino IDE möglich sein auch ESP32 zu flashen. Dazu soll man eine "Library" laden müssen. Ich habe nun einen ESP32-C2. Hier steht nun, dass der C2 zwar unterstützt wird es aber

rebuilding the static libraries

erfordert. Da ich noch nie etwas mit ESP usw. gemacht habe würde ich damit nicht anfangen. Muss ich einen anderen kaufen oder kann ich den auch mit einem anderen Tool flashen? PlatformIO soll eine Alternative sein, kann ich unter Ubuntu installieren, ein Start schlägt fehlt mit

Code:
Traceback (most recent call last):
  File "/usr/bin/platformio", line 33, in <module>
    sys.exit(load_entry_point('platformio==4.3.4', 'console_scripts', 'platformio')())
  File "/usr/bin/platformio", line 25, in importlib_load_entry_point
    return next(matches).load()
  File "/usr/lib/python3.10/importlib/metadata/__init__.py", line 171, in load
    module = import_module(match.group('module'))
  File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/usr/lib/python3/dist-packages/platformio/__main__.py", line 66, in <module>
    @cli.resultcallback()
AttributeError: 'PlatformioCLI' object has no attribute 'resultcallback'. Did you mean: 'result_callback'?

ESP-IDF scheint ein Command Line-Tool zu sein. Für erste Versuche wäre mir schon eine GUI lieber.

Bekommt man den C2 noch irgendwie zum laufen oder lieber ein anderes Enwicklerboard kaufen? Zunächst will ich einfach mal "irgendwas" hinbekommen wie z. B. sich mit meinem WLAN verbinden.
 
FatManStanding schrieb:
angeblich soll es mit Arduino IDE möglich sein auch ESP32 zu flashen. Dazu soll man eine "Library" laden müssen. Ich
musst du halt bei jedem. Ohne die entsprechende software, kannst du halt keine firmware bauen
ob C2,S3,C6 oder was anderes ist da fast egal.
was sagt der Arduino library Manager?

Sonst halt Arduino IDE, oder CLion mit PlatformIO oder VSCode mit PlatformIO

sonst geht auch ESP home

hier sieht auch nach einem guten Anfang aus

https://refcircuit.com/articles/852-how-to-start-with-esp32-c2-esp8684-pwm-ledc-esp-idf-vscode.html

du musst halt eine Aleitung nehmen und sie komplett befolgen.
Ergänzung ()

FatManStanding schrieb:
kann ich unter Ubuntu installieren, ein Start schlägt fehlt mit
laut fehler ist es nicht installeirt..
venv?
 
Für den Einstieg in die ESP32 Welt würd ich dir eher Tasmota empfehlen mit einem normalen "WROOM 32" oder einen C3-mini. Die kosten ja nix, um die 5-10Eur auf Amazon. Du kannst den einfach im Browser flashen das ist idiotensicher.
 
Zuletzt bearbeitet:
@ madmax2010

Ich habe das so verstanden, dass für bestimmte Boards ArduinoIDE fertige Bibliotheken anbietet und installieren kann (so wie 'apt' unter Linux), man aber für den C2 sich diese selbst bauen muss (so wie wenn man Software erst kompilieren muss). Kann aber auch falsch verstanden sein.

was sagt der Arduino library Manager?

Der ESP ist angeschlossen und ArduinoIDE gestartet. Unter Sketch -> Bibliothek einbinden -> Bibliothek verwalten öffnet sich ein Filter, wenn ich dort z. B. "esp32-2" eingebe kommt eine riesen Liste. Bei keinem der Bibliotheken findet sich aber ein Hinweis, dass sie für den ESP32-C2 da ist - warum sie dann angezeigt wird, weiß ich nicht.

Sonst halt Arduino IDE, oder CLion mit PlatformIO oder VSCode mit PlatformIO

Was heißt hier "mit PlatformIO"? Sind das Plugins für PlatformIO?

sonst geht auch ESP home

Konkrete Hinweise, dass er mit dem ESP32-C2 arbeiten kann finden sich aber auch dort nicht.

Die Anleitung schau' ich mir mal an.
 
Der C2 ist aber auch ein ziemlicher Exot. Der ist vernünftig wahrscheinlich nur mit Espressifs eigener ESP-IDF zu nutzen. Entweder man nimmt einen stinknormalen ESP32 oder aktuell einen C3 Mini (weil besonders günstig, 1€ auf Ali) oder S3. Vergleichstabelle hier.

Für Arduino IDE gibt es die allermeisten, fertig nutzbaren Libraries. Leider ist die IDE selbst nicht besonders gut. Dafür gibt es im Gegensatz zu PlatformIO auch offiziellen Support. Letzteres krebst aktuell auf einem veralteten Core herum.

Einfachheit zu Programmieren: Arduino IDE > PlatformIO > ESP-IDF
Aktualität und Features: ESP-IDF > Arduino IDE > PlatformIO

FatManStanding schrieb:
ESP-IDF scheint ein Command Line-Tool zu sein.

Nein, das lässt sich wie PlatformIO auch in VSCode einbinden.
 
Ich versuche gerade die Anleitung von oben mit VSCode unter Ubuntu. Er hat jetzt erst einmal einiges an Daten gezogen, brach aber mit der Meldung ab, dass python3-venv fehlt. Habe das nachinstalliert und bin erneut auf "Install" gegangen. Jetzt kommt

/home/ich/esp/v5.3.1/esp-idf already exists. Delete it or use another location. (ERROR_EXISTING_ESP_IDF)

was ja logisch ist, da das schon geladen wurde. Ich dachte er merkt das und macht bei der Installation dort weiter wo etwas fehlt. Muss ich da jetzt komplett bei Null beginnen?
 
Ich habe mir jetzt diese hier https://www.amazon.de/dp/B0D9BTQRYT?ref=ppx_yo2ov_dt_b_fed_asin_title bestellt.

Sollte bei dem Tasmota-Webinstaller nicht das angeschlossene Board irgendwo erscheinen? Ich werde gebeten die serielle Schnittstelle anzugeben. Das Board ist ja aber mit USB verbunden. Einmalig habe ich unter "lsusb" etwas mit "CH340" und "seriel usb" gefunden. Ich vermute das ist eine Art Serial-USB-Adapter auf dem Board? Das wird mir aber jetzt nicht mehr angezeigt wenn ich das Board verbinde.

EDIT
Hab' das zweite Board mal angehängt, hier taucht es wieder auf. Nennt sich:

Bus 003 Device 003: ID 1a86:7523 QinHeng Electronics CH340 serial converter

EDIT1
Gerade bemerkt: Wenn das Board angeschlossen ist und ich auf das Shutdown-Menü von Xfce gehe gibt der interne Mainboard-Lautsprecher einen Ton von sich. Macht er sonst nicht. Passiert auch, wenn ich das Baord abziehe, nicht aber nach einem Reboot ohne angeschlossenes Board. :freak::confused_alt:
 
Mit Linux kenn ich mich nicht aus, klingt für mich wie die üblichen Linux "features", daher meide ich Linux auch seit 20 Jahren. Ja da ist der CH340 drauf zur serialen Kommunikation und zum flashen. Wenn er bei einem angezeigt wird und beim andern nicht ist der wohl defekt, zurück schicken. Du musst da auch aufpassen man schrottet die sehr leicht wenn man mal elektrostatisch aufgeladen ist. Der Tasmota web installer zeigt glaub kein Modell an nur noch "Tasmota" und erkennt den Chip automatisch und wählt die richtige ROM aus. Nach dem Flashen müsste der Tasmota Web installer dich beten das Wifi Netzauszuwählen passwort eingeben und dann steht da auch die IP wo du aufs web interface kannst. Sonst kannst du dich aber auch mit dem handy verbinden.

Am besten in einen ubs 2.0 port stecken.

https://tasmota.github.io/docs/Getting-Started/
 
Hab es jetzt mit arduino IDE hin bekommen. Anders als beschrieben braucht es bei mir unter Linux keinen neuen Treiber. Das schon gelieferte kernel-modul reicht. Der user muss zur Gruppe dialout gehören und man muss nach jedem von arduino IDE die rechte für /dev/ttyusb0 neu vergeben. Kann man vermutlich automatisieren. Anders als in vielen howtos muss man das board und den port in arduino angeben.

Kann man eigentlich die von arduino heruntergeladene Software einfach 1:1 auf andere Geräte kopieren um zu verhindern, dass die dort neu geladen werden muss? Es wurde ein Ordner 'ESP' angelegt. Bei mir wurde über 1GB Daten geladen.

Inzwischen werden beide immer erkannt. Kann nicht sagen was vorher falsch war.
 
Zurück
Oben