Arduino IDE Treiber/Einrichtung für ch341G und ESP-32CAM

Hallo,

ich bin in diesem Thema noch recht neu und habe ein paar Fragen zur Software sowie zur Inbetriebnahme des Boards.
Ich habe mir das ESP32-CAM-Modul zusammen mit einem Serial-USB-Adapter besorgt:
Amazon-Link.

Laut dmesg sind die Treiber geladen:

[177537.515981] usb 1-11.4.3: new full-speed USB device number 56 using xhci_hcd  
[177537.622494] usb 1-11.4.3: New USB device found, idVendor=1a86, idProduct=7523, bcdDevice= 2.64  
[177537.622506] usb 1-11.4.3: New USB device strings: Mfr=0, Product=2, SerialNumber=0  
[177537.622510] usb 1-11.4.3: Product: USB Serial  
[177537.629990] ch341 1-11.4.3:1.0: ch341-uart converter detected  
[177537.630533] usb 1-11.4.3: ch341-uart converter now attached to ttyUSB0  

Ein lsusb zeigt, dass das USB-zu-Serial-Interface aktiv ist:

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

Das Modul scheint ebenfalls korrekt geladen zu sein:

sudo lsmod | grep ch341  
[sudo] Passwort für speefak:  
ch341                  28672  0  
usbserial              65536  1 ch341  
usbcore               348160  5 usbserial,xhci_hcd,usbhid,xhci_pci,ch341  

Danach habe ich die Arduino-Software für Linux heruntergeladen und gestartet. Ich bin dabei nach folgender Anleitung vorgegangen:
https://randomnerdtutorials.com/installing-esp32-arduino-ide-2-0/

Ich bin mir jedoch nicht sicher, welche der vielen Arduino-Versionen ich für das oben genannte Board bzw. den Serial-Controller laden und aktivieren muss.

Meine Fragen:

  • Welche Board-Einstellungen muss ich in der Arduino-IDE vornehmen?
  • Wie wähle ich den richtigen Serial-Controller aus, um das ESP32-CAM-Modul anzusteuern?

Über ein paar Tipps wäre ich sehr dankbar, da ich gerade völlig verwirrt bin, was ich tun soll.

Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden.
Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.

mfg ein Moderator.

Das Board aus dem verlinktem tutorial ist aber kein ESP32-CAM Modul, - ich denke nicht dass Du den Code 1:1 übernehmen kann.
Ansonsten unter Linux nur die ESP Bordpakete installieren, Treiber für die USB Schnittstelle sind bei Linux schon enthalten (war zumindest bei allen Linuxen so die ich probiert habe).
Was Du wahrscheinlich noch machen musst ist dem User zur Gruppe dealout hinzufügen, sonst darf der das nicht.
Für das Board das Du hast musst Du den EIntrag "AI Thinker ESP32-Cam" wählen, und am besten auch erst mal ein passendes Beispiel für das Board verwenden

Der Benutzer ist nun in der Gruppe "dialout" und als Board (mit Board ist das Modul auf dem die Kamera montiert und der WLAN/BT Chip aufgelötet ist gemeint ?) habe ich AI Thinker ESP32-Cam ausgewählt. Ist denn die Verbindung von USB/Serial zum Board (der Teil mit der Kamera) korrekt, sprich ich kann das Board über den USB2Serial ansprechen und es kommt nur auf den Code an, um das Board anzusprechen?

Als root muss ich das arduino-IDE tool nicht ausführen, oder?
Muss in den MicroSD Slot eine SD Karte eingesteckt werden?

Ich weiß gerade überhaupt nicht, wo der Fehler liegt oder so ich suchen soll ?!

Ich sehe auch permanent in der unteren Zeile den Hinweis "connection lost". Bezieht sich die Meldung auf den USB2Serial Controller oder auf das Board selbst? Mir würde es schon helfen, wenn ich wüsste, wonach ich suchen muss oder ob es generell eine Falsche Einstellung ist.

Die ganzen Tuts, die finde, beziehen sich alle auf USB2Serial Adapter ohne Steckerleiste zum selbst zusammenlöten, darum habe ich mir ja o.g. Model gekauft, weil ich dachte damit sei es einfacher das ESP Cam Modul zu programieren.

Die Antwort einiger Fragen haben sich ergeben:

Muss das Arduino-IDE Tool als root ausgeführt werden? => Nein

Muss in den MicroSD Slot eine SD Karte eingesteckt werden? => Nein

Wie bekomme ich es hin, dass beim arduino-IDE in der unteren Zeile online steht? => Weis ich nicht und auch nicht ob es relevant ist.

Moin, so richtig funktioniert es nicht :confused:
Lt. dem Tut : https://www.youtube.com/watch?v=hSr557hppwY sollen (10:16) sollen die pins auf der rechten Seite in der Mitte (Blau) abgeklemmt werden. Allerdings ist das U2S Model was ich habe ein anderes als das in dem Video.

Im Prinzip müsste doch das ESP Board nach dem Flashen nur noch mit Strom über USB versorgt werden und alle andere Pins werden nicht mehr benötigt bzw. müssen nicht mehr verbunden werden.

Das Baord selbst schein zu laufen, ich kann es aus dem LAN anpingen (>5ms) und die Datenraten mi 39/19 MBit sollte ebenfalls ausreichen. Ich bekomme aber leider kein Bild und weis gerade nicht woran es liegt. Das Kameramodel ist wie in o.g. TUT 8225n v2 171026 sprich eine OV2640.

Die Serial Konsole des Arduino IDE gitb folgendes aus:
``
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4916
load:0x40078000,len:16436
load:0x40080400,len:4
ho 8 tail 4 room 4
load:0x40080404,len:3524
entry 0x400805b8
WiFi connecting.
WiFi connected
Camera Ready! Use 'http://192.168.1.200' to connect

LT dem TUT muss der Jumper, bzw. die Jumper Verbindung entfernt werden: https://www.youtube.com/watch?v=R_GY0zbM1bM

Du solltest besser genau beschreiben was du machst bzw. was besser nicht gemacht werden soll.
Ein YT Video tut sich nicht jeder an, da meist Müll gezeigt wird, aber nicht was wirklich wichtig ist.

Ich bin noch im Try and Error Modus, wie man Threadverlauf erkennen kann. Langsam, aber sicher setzt sich das Puzzle zusammen. Ein Freund von YT Video bin ich auch nicht, weil viel unnötiger Mist erzählt wird - da ist was Wahres dran. Wenn ich das alles am Laufen habe, gibt ggf. ein TUT und ein KURZES! Video dazu. Der Vorteil an Videos ist, dass man sieht, wie es eigentlich funktionieren sollte oder man sieht, wo welche Einstellungen zu tätigen sind. Wenn man von 0 anfängt, helfen Videos meist schon weiter, bis man sich etwas Wissen angeeignet hat.

Was aber nichts daran ändert, das du deine vorherigen Beschreibungen ändern und optimieren solltest, damit man versteht, was du uns damit sagen willst.

cleared

Vermutlich weil man nicht versteht, was du wie machst.
Ich habe es z.B. nicht verstanden.

Als Info, ich habe schon 3 St. von den ESP32 CAM zum Laufen gebracht, und das problemlos.
Also deinen Post #10 und #11 verstehe ich absolut nicht.

Ok dann im Detail :wink:

Ich habe folgendes Setup:
Cam, Controller und Board : https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2021/01/ESP32-CAM-MB-wifi-esp32-cam-ov2640-micro.jpg?w=600&quality=100&strip=all&ssl=1

Kameramodel: 8225n v2 171026 sprich eine OV2640.

  • OS Debian 12, Treiber sind installiert.
  • Arduino-IDE v.2.3.4

Software installiert:
Edit => Preferences => Additional Boards Manager => https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

Boardauswahl:
Select Board and Port => AI Thinker ESP 32 CAM
Port => /dev/tty/USB0 Serial Port (USB)

Datei/Sketch ausgewählt:
File => Examples => ESP32 => Camera => CameraWebServer

Programm Code angepasst:
Kamera ausgewählt : define CAMERA_MODEL_AI_THINKER // Has PSRAM
Voreingestellte Kamera mit // auskommentiert

WLAN Konfiguration angepasst

Software hochgeladen: auf Upload geklickt

Software wurde ohne Fehler hochgeladen

Board und USB Controller durch drücken der RST Knöpfe neu gestartet

Board bootet mit angestecktem USB Controller neu
Board ist über WLAN via Ping und http ansprechbar
HTTP Interface funktioniert

Aber kein Bild und es fehlen im Vergleich zu den Video TUT die Punkte/Optionen Face detection und Face Recognition. Auch leuchtete die LED Lampe am Board nicht wenn es bootet.

Die Serielle Konsole gibt folgenden Log aus:
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:4916
load:0x40078000,len:16436
load:0x40080400,len:4
ho 8 tail 4 room 4
load:0x40080404,len:3524
entry 0x400805b8
WiFi connecting.....................
WiFi connected
Camera Ready! Use 'http://192.168.1.200' to connect

Jetzt meine konkreten Fragen:

  • Kann der USB Controller benutzt werden oder ist der Controller nur für die Programmierung geeignet?
  • Ist das Board korrekt geflasht, wenn es über WLAN erreichbar ist und Webinterface anzeigt
  • Warum sehe ich die o.g. Punkte Face detection und Face Recognition nicht
  • Warum leuchtet die LED Lampe auf dem ESP-CAM32 Baord beim booten nicht
  • Wie kann ich testweise die LED Lampe aufleuchten lassen um sicherzugehn das das Board korrekt angesteuert wird
  • Ist die Auswahl der Kamera ggf. falsch?

Was habe ich vergessen / falsch gemacht?

Ok, jetzt ist es deutlich, danke.
Zu den Fragen:

  1. Ja, den USB Controller (Board zum aufstecken) kannst du auch für den Betrieb nutzen.
  2. Ja, das sieht ok aus. Hast du die URL mal im Browser aufgerufen ?
  3. Vermutlich weil das Board zu geringen Speicher hat. Werde ich später noch am PC (Windows) prüfen.
  4. Diese ist im Sketch nicht aktiviert. Werde ich noch prüfen.
  5. Dazu musst du den geflashten Code noch ändern und neu flashen.
  6. Die Auswahl sollte ok sein. "Sollte", da ich deine IDE-Version nicht nutze.

Ich werde das noch checken und mich später, wenn ich am PC sitze, noch mal melden.

Welcher Jumper soll das sein ?

Und was ist damit gemeint ?

Edit:
Weitere Antworten:
Zu 3. Bei mir sind beide Punkte vorhanden. Aktuell K.A. warum bei dir nicht.
Zu 4. und 5. Die leuchtet bei mir beim booten nicht, kann die aber über den Regler "LED-Intensität" steuern.
Zu 6. Die Auswahl der Kamera ist richtig.
Zeig mal einen Screenshot deiner Einstellungen zur Cam.

Zu 3. Gesichtserkennung funktioniert nur mit core Version 2.xx.
Hier die Erklärung

1 Like

Moin, der Punkt mit dem Jumper bezog sich auf Pin 3 und 4 von oben auf der rechten Seite ( Graues Kabel (https://i0.wp.com/randomnerdtutorials.com/wp-content/uploads/2024/06/ESP32-CAM-FTDI-programmer.png?w=877&quality=100&strip=all&ssl=1)

Zu 4. und 5. : Das Webinteface ist ansprechbar unter der IP die die SerialConsole ausgibt. Im Interface kann ich zwar den Schieberegler für die LED ändern aber die LED Leuchtet nicht.

Meine Codebasis/Sketch/Config : #include "esp_camera.h"#include <WiFi.h>//// WARNING!!! PSRAM IC require - Pastebin.com

Kann es ggf. am Board selbst liegen?

Wenn ich das Webinterface des ESP Boards aufrufen kann, gehe ich davon aus, dass das Flashen funktioniert hat. Einen Fehler am Treiber oder USB2Serial Adapter kann dann ausgeschlossen werden? Ich würde gerne wissen, wonach ich fehlertechnisch suchen kann/sollte, sprich Fehler im Code/Sketch/Configs oder ggf. doch am Flashprozess?!

Das bezieht sich ja auf die Verwendung eines FTDI-Programmer, du verwendest ja das zugehörige Board, da brauchst du keinen extra Jumper.

Das ist soweit ok, bis auf die fehlenden Einstellungen.
Die Boardinfo ist ok.

Da solltest du die ESP core-Version 2.0.17 installieren, wie im verlinkten Beitrag geschrieben.

Ist das die korrekte Version?

In der Statusleiste sehe ich auch nur Offline, in viele Video ist die Leiste grün, kann es damit etwas zu tun haben?
Bildschirmfoto vom 2025-02-05 10-29-32

Mit der Version 2.0.17 habe ich nun beim Compilieren Fehler:

Traceback (most recent call last):
  File "/home/speefak/.arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool.py", line 31, in <module>
    import esptool
  File "/home/speefak/.arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool/__init__.py", line 41, in <module>
    from esptool.cmds import (
  File "/home/speefak/.arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool/cmds.py", line 14, in <module>
    from .bin_image import ELFFile, ImageSegment, LoadFirmwareImage
  File "/home/speefak/.arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool/bin_image.py", line 14, in <module>
    from .loader import ESPLoader
  File "/home/speefak/.arduino15/packages/esp32/tools/esptool_py/4.5.1/esptool/loader.py", line 30, in <module>
    import serial
ModuleNotFoundError: No module named 'serial'
exit status 1

Compilation error: exit status 1