Forum: Mikrocontroller und Digitale Elektronik ESP32-CAM (AI-Thinker ?) - Software bei Auslieferung?


von Hendrik L. (lbd)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

habe mir vor einiger Zeit dieses EESP32-CAM Modul gekauft (siehe 
beigefügtes Foto CAM32-diymore.JPG).

Die Inbetriebnahme lief wunderbar - bin erstaunt wie reibungslos und wie 
gut die Bilder Qualität im Browser.

Ich steuere das Teil im Brwoser über 192.168.4.1/jpg_stream und 
192.168.4.1/jpg an.

Das Teil arbeitet im WiFi AP Modus - ich wuerde es gern auf STA Modus 
(Client)umstellen. Dazu benötige ich den Source-Code.

Nun gibt es für mich (als ESP32-CAM Starter) eine Vielzahl von Projekten 
auf GitHub zu dem Thema. Aber welches nehmen?

Als Ingenieur neige ich zu dem entsprechenden Auslieferungs-Code (Never 
change a running system). Aber welcher ist es? Der Lieferant ist mir 
keine Hilfe (kein Verweis / kein Link).

Auf der seriellen Schnittstelle erzeugt das Teil einen BootLog, den ich 
in
in der Datei BootSequence CAM-32.JPG angehängt habe.

Hat eventuell jemand einen heißen Tip für mich, um welches Projekt es 
sich handeln könnte?

Welchen Source Code empfehltIhr alterantiv für dieses Teil, damit ich 
streamen und "Stills" triggern kann?

Vielen Dank im voraus.

von Michael U. (amiga)


Lesenswert?

Hallo,

womit willst Du programmieren? Espressif-IDF, ArduinoIDE, ???
Das Demo ist vermutlich mit dem IDF gebaut, ob die Source auffindbar ist 
weiß ich nicht.
Ich habe ESP32 bisher nahezu ausschließlich aus der ArduinoIDE 
programmiert, auch die ESP32 Cam. Das dort enthaltene WebserverDemo gibt 
eigentlich einen guten Ansatz.
Letztlich werden auch dort nur die IDF-Bibliotheken genutzt, es hängt ja 
auch stark davon ab, was man mit der Cam vorhat.

Gruß aus Berlin
Michael

von Klaus H. (nikolaus10)


Lesenswert?

Hallo

Der Source code (Arduino IDE) ist doch bei der Libary mit dabei.
Umprogramieren als STA ist auch einfach moeglich.

Gruesse

von Hendrik L. (lbd)


Lesenswert?

Klaus H. schrieb:
> Hallo
>
> Der Source code (Arduino IDE) ist doch bei der Libary mit dabei.
> Umprogramieren als STA ist auch einfach moeglich.
>
> Gruesse

Danke für Eure Antworten.

Dann muss ich mir den Code noch einmal in der Arduino IDE anschauen - 
habe beim ersten Browsen die Befehle xxx/jpg_stream xxx/jpg unter den 
Projekten in der ESP32 Library nicht gelesen. Sie sollten dann ja 
irgendwo im Code lesbar sein.

Danke & Gruß

von Christian G (Gast)


Lesenswert?

Rein aus Interesse und weil man es nicht wirklich auf dem Bild erkenn 
kann, kannst du den Aufdruck auf dem Kabel der Kamera zeigen?
Ich beschäftige mich seit ein paar Tagen mit dem Modul bzw es ist ein 
billiger clone und habe Schwierigkeiten mit der Kamera.
Ich kann sie z.B. nicht auf JPEG einstellen, bekomme nur Fehler ala 
cam-hal: NO-SOI... couldn't get frame in time.
Unterschiedliche clock speeds von der can ausprobiert (5-20) MHz etc. 
nix hilft.
Nach einiger Recherche scheint es an billigen Kameras zu liegen die 
diesen Clones beiliegen wo man sich diese Funktionen einfach gespart 
hat.
Z.B. gray-scale Mode HD Auflösung funktioniert einwandfrei bei mir.

von Michael U. (amiga)


Lesenswert?

Hallo,

Christian G schrieb:
> Rein aus Interesse und weil man es nicht wirklich auf dem Bild erkenn
> kann, kannst du den Aufdruck auf dem Kabel der Kamera zeigen?

ich habe hier mehrere Cam-Module und etliche Kameras, auch 
nachbestellte.
Außer anderer Orientierung (90/180 Grad gedreht) und merklich 
verschiedener Empfindlichkeit liefen bisher alle, da ich nur JPG bzw. 
MJPEG nutze wäre mir das sicher aufgefallen.
Welche Cam hast Du denn zur Verfügung?

Gruß aus Berlin
Michael

von Christian G (Gast)


Lesenswert?

Michael U. schrieb:
> ...
> ich habe hier mehrere Cam-Module und etliche Kameras, auch
> nachbestellte.
> Außer anderer Orientierung (90/180 Grad gedreht) und merklich
> verschiedener Empfindlichkeit liefen bisher alle, da ich nur JPG bzw.
> MJPEG nutze wäre mir das sicher aufgefallen.
> Welche Cam hast Du denn zur Verfügung?
>
> Gruß aus Berlin
> Michael

auf dem Kabel von meinen steht:
DC-26
40-V3

von Klaus H. (nikolaus10)


Lesenswert?

Hallo

Man muss bei der Programmiereung des Moduls auf die Speichereinstellung 
achten, sonnst hat er nicht genuegend RAM fuer die Bilder.
Bei den Kameras gibt es aber auch Qualitaetsunterschiede.

Gruss

: Bearbeitet durch User
von Hendrik L. (lbd)


Angehängte Dateien:

Lesenswert?

Christian G schrieb:
> Rein aus Interesse und weil man es nicht wirklich auf dem Bild erkenn
> kann, kannst du den Aufdruck auf dem Kabel der Kamera zeigen?
> Ich beschäftige mich seit ein paar Tagen mit dem Modul bzw es ist ein
> billiger clone und habe Schwierigkeiten mit der Kamera.
> Ich kann sie z.B. nicht auf JPEG einstellen, bekomme nur Fehler ala
> cam-hal: NO-SOI... couldn't get frame in time.
> Unterschiedliche clock speeds von der can ausprobiert (5-20) MHz etc.
> nix hilft.
> Nach einiger Recherche scheint es an billigen Kameras zu liegen die
> diesen Clones beiliegen wo man sich diese Funktionen einfach gespart
> hat.
> Z.B. gray-scale Mode HD Auflösung funktioniert einwandfrei bei mir.

Hallo Christian,

anbei ein Bild - die Beschriftung (nur an der Unterseite) gibt leider 
nicht viel her. Wobei die Qualität der Camera sehr gut (für OV2640 
Verhältnisse) ist - insbesondere erfreut micht der Flash bei Dunkelheit. 
Die Bilder lassen sich sogar OCR lesen (das ist meine Anwendung).

Aus allen zusammengetragenen Quellen glaube ich jetzt - es ist ein 
AI-Thinker Board - das einzige mit eingebautem Flash. Wenn ich jetzt 
noch die richtige Software finden würde (die direkt den Flash mit 
steuert), wäre ich happy. In der Arduino IDE ist jedenfalls die 
entsprechende Software nicht enthalten.

Gruesse

von Christian G (Gast)


Lesenswert?

Hendrik L. schrieb:
> Aus allen zusammengetragenen Quellen glaube ich jetzt - es ist ein
> AI-Thinker Board - das einzige mit eingebautem Flash. Wenn ich jetzt
> noch die richtige Software finden würde (die direkt den Flash mit
> steuert), wäre ich happy. In der Arduino IDE ist jedenfalls die
> entsprechende Software nicht enthalten.
die Arduino IDE nutze ich leider nicht (vscode + esp-idf ohne 
platformio)
ich glaube du suchst nach sowas hier:
https://github.com/xenpac/ESP32-CAM-with-LED-control
bzw.
https://github.com/xenpac/ESP32-CAM-Linux-Motion
das sollte auch mit der Arduino IDE funktionieren.
Ansonsten bei dem Modul ist die "flash" LED an GPIO 4 angeschlossen und 
die "status" LED auf der Rückseite an GPIO 33 (die ist low-active also 0 
schaltet sie ein, 1 aus, bei der flash LED ist es umgedreht 1 = an, 0 = 
aus)

von Christian G (Gast)


Lesenswert?

kurzer Nachtrag, vielleicht interessiert es ja wen.

Also das Problem mit der JPEG Sache ist einzig und allein auf das 
Kameramodul zurückzuführen.

Hatte noch 2 weitere Module bei unterschiedlichen Händlern bestellt.
Das eine kam mit genau der selben Kamera (gleicher Aufdruck auf dem 
Flachbandkabel), da klappt der JPEG Modus direkt ohne Probleme!
Bei dem war auch das Objektiv nicht festgeklebt, natürlich komplett ausm 
Fokus.
Es stellte sich dann bei der Fokus Einstellerei herraus das es 
anscheinend Bereiche gibt in denen die Farben nur noch Murks sind 
(banding / dithering oder wie auch immer sich das nennt).

Das zweite Modul hat eine andere Kamera, auch OV2640 aber der Aufdruck 
auf dem Flachbandkabel:
8225N
V2.0
171026
DAS Ding scheint "the real deal" zu sein!
JPEG funktioniert sofort einwandfrei UND die Bildqualität ist um Längen 
besser als bei den anderen beiden Kameras.

von Hendrik L. (lbd)


Lesenswert?

Hallo zuammen, hallo Christian,

erst einmal vielen Dank für die fundierten Antworten, ganz besonders 
Dir, Christian. Sorry, dass ich nicht direkt geantwortet habe ...!

Zwischenzeitlich habe ich mir die verschiedensten Typen von EPSCamera 
Boards besorgt - teilweise baugleich von verschiedenen Herstellern und 
habe mich in die für mich neue Arduino Welt eingearbeitet. Ich komme aus 
der Atmel / Atmel-Studio Welt ...! Und natürlich Raspberry Pi on top 
...!

Als gute Einführung in die ESP32 Camera Welt habe ich diese Seiten 
https://randomnerdtutorials.com/about von den beiden Akteuren Rui Santos 
and Sara Santos genossen - wirklich gut, um reinzukommen.

Als universelle Library, um die Typen auszutesten, habe ich die 
CameraWebServer Library von Arduino genutzt und zu meinen Zwecken 
angepasst.

Die Ansteuerung des Flash-Lights ist nicht dabei, aber da werde ich auf 
Deinen (Christoph's)  Link 
https://github.com/xenpac/ESP32-CAM-Linux-Motion
zurückgreifen.

Vorher möchte ich aber noch folgendes machen: Das oben erwähnt 
AI-Thinker Board funktioniert hervorragend, ich möchte es als 
Referenz-Board (samt enthaltener/geflashter Stock-Software) nutzen.

Ideal wäre es nun, wenn ich das geflashte Program aus dem ESP32 
"Referenz-Board" auslesen und abspeichern könnte, um es dann in die 
zwischenzeitlich erhaltenen baugleichen AI-Thinker Boards "loaden" 
könnte, um ihre ordnungsgemässe Funktion zu testen - sozusagen ein 
Quick-Check, bis ich meine eigenen Programme erstellt habe, mit denen 
ich dann zu meinen speziellen Zwecken testen kann.

Ich habe z.B. ein neues AI-Thinker Board, bei dem die weisse LED 
permanent "schwach" leuchtet (Images des Boards sind sehr gut) - aber 
mich würde auch interessieren, wenn man die weisse LED als Flash 
ansteuert, ist sie dann genauso hell wie auf meinem Referenz-Board, bzw. 
ist die Image Qualität die gleiche?

In der ATMEL Welt (AVR-/Atmel- Studio) Welt geht das, vorausgesetzt die 
Auslösenmöglichkeit ist in den Fuses nicht "verriegelt".

Geht das auch in der ESP-Welt? Die Arduino-IDE bietet mir die 
Möglichkeit nicht - aber andere IDEs werden das wahrscheinlich können, 
sofern Espressif dies unterstützt.

Hat jemand hierzu eine Idee (Wissen)?

Vielen Dank

von Christian G (Gast)


Lesenswert?

Hendrik L. schrieb:
> Ideal wäre es nun, wenn ich das geflashte Program aus dem ESP32
> "Referenz-Board" auslesen und abspeichern könnte, um es dann in die
> zwischenzeitlich erhaltenen baugleichen AI-Thinker Boards "loaden"
> könnte, um ihre ordnungsgemässe Funktion zu testen - sozusagen ein
> Quick-Check, bis ich meine eigenen Programme erstellt habe, mit denen
> ich dann zu meinen speziellen Zwecken testen kann.

Hi, es gibt ja dieses esptool.py https://github.com/espressif/esptool 
das nutzt vscode bzw das esp-idf um das Programm ins flash zu schreiben. 
Das Tool hat auch eine read_flash Funktion :
Read Flash Contents: read_flash
The read_flash command allows reading back the contents of flash. The 
arguments to the command are an address, a size, and a filename to dump 
the output to. For example, to read a full 2MB of attached flash:

esptool.py -p PORT -b 460800 read_flash 0 0x200000 flash_contents.bin

Ich weiß nicht wie die Arduino IDE das macht aber schätze da gibt es was 
ähnliches und zur Not einfach das repo von dem esptool laden das ist 
Python sollte man eigentlich ohne probs zum Laufen bekommen.

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
Noch kein Account? Hier anmelden.