Gesichtserkennung mit ESP32-WLAN-Kameraboards ab 15 Euro

Begonnen von JoWiemann, 09 Januar 2019, 18:54:53

Vorheriges Thema - Nächstes Thema

tomster

#165
Zitat von: Papa Romeo am 17 September 2019, 19:35:17
...wieso hast du die Kamera OV3660 drin ?

...die beiliegende Camera_Index_Datei ist für die OV2640 !

Ich habe auch die Fehlermeldung aus dem Beitrag vor diesem Zitat (#76).  Da mein Board noch nicht da ist, kompiliere ich "trocken". Ich bin bei Arduino zwar syntaxseitig sehr unbeleckt, meine aber zu verstehen, dass schlichtweg die Definition von OV3660 fehlt, respektive diese erwartet wird ;-)
[~ Zeile 582 in der app_httpd.cpp):

if (s->id.PID == OV3660_PID) {
        return httpd_resp_send(req, (const char *)index_ov3660_html_gz, index_ov3660_html_gz_len);
    }
    return httpd_resp_send(req, (const char *)index_ov2640_html_gz, index_ov2640_html_gz_len);
}

In Papa Romeo's camera_index.h ist eben nur eine Definition für OV2640, aber keine für die OV3660. Im Beispiel "CameraWebServer" sind hingegen beide Kameras in der camera_index.h definiert. Damit kompiliert der Beispiel-Sketch dann auch problemlos durch. Verwende ich diese camera_index.h mit PR's Sketch ist der Fehler weg. Trotzdem bleibt er danach an:
Arduino: 1.8.10 (Windows 10), Board: "ESP32 Wrover Module, Face Recognition (2621440 bytes with OTA), QIO, 80MHz, 921600, None"

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino: In function 'esp_err_t send_face_list(websockets::WebsocketsClient&)':

ESP32_CAM:308:1: error: no return statement in function returning non-void [-Werror=return-type]

}

^

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino: In function 'esp_err_t delete_all_faces(websockets::WebsocketsClient&)':

ESP32_CAM:313:1: error: no return statement in function returning non-void [-Werror=return-type]

}

^

cc1plus.exe: some warnings being treated as errors

Mehrere Bibliotheken wurden für "ArduinoWebsockets.h" gefunden
Benutzt: C:\Users\Administrator\Documents\Arduino\libraries\ArduinoWebsockets
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Nicht benutzt: C:\Program
Mehrere Bibliotheken wurden für "HTTPClient.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\HTTPClient
Mehrere Bibliotheken wurden für "WiFiClientSecure.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFiClientSecure
Mehrere Bibliotheken wurden für "Ticker.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Ticker
Mehrere Bibliotheken wurden für "PubSubClient.h" gefunden
Benutzt: C:\Users\Administrator\Documents\Arduino\libraries\PubSubClient
exit status 1
no return statement in function returning non-void [-Werror=return-type]

hängen.

Ich verwende ESP 1.0.4. Hat jemand (Papa Romeo?) eine Idee? Ist wohl um Zeile 310 in Deinem Sketch.

Papa Romeo

#166
Hallo Tom,

ich denke es liegt an der Espressif Systems.

Versuch mal die 1.0.3_rc1 oder 1.0.3_rc2.


PS: Im Post#80 hab ich Index_Datei für die OV3660 eingestellt.



Gruß

Papa Romeo
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

tomster

Hallo Papa,

auch mit der Rc1 oder Rc2 erhalte ich Fehler...

Hier mit Rc1:

Arduino: 1.8.10 (Windows 10), Board: "ESP32 Wrover Module, Face Recognition (2621440 bytes with OTA), QIO, 80MHz, 921600, None"

sketch\app_httpd.cpp:60:38: warning: missing initializer for member 'mtmn_config_t::pyramid' [-Wmissing-field-initializers]

static mtmn_config_t mtmn_config = {0};

                                      ^

sketch\app_httpd.cpp:60:38: warning: missing initializer for member 'mtmn_config_t::pyramid_times' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:60:38: warning: missing initializer for member 'mtmn_config_t::p_threshold' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:60:38: warning: missing initializer for member 'mtmn_config_t::r_threshold' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:60:38: warning: missing initializer for member 'mtmn_config_t::o_threshold' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:60:38: warning: missing initializer for member 'mtmn_config_t::type' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:64:33: warning: missing initializer for member 'face_id_list::tail' [-Wmissing-field-initializers]

static face_id_list id_list = {0};

                                 ^

sketch\app_httpd.cpp:64:33: warning: missing initializer for member 'face_id_list::count' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:64:33: warning: missing initializer for member 'face_id_list::size' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:64:33: warning: missing initializer for member 'face_id_list::confirm_times' [-Wmissing-field-initializers]

sketch\app_httpd.cpp:64:33: warning: missing initializer for member 'face_id_list::id_list' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino: In function 'mtmn_config_t app_mtmn_config()':

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:98:33: warning: missing initializer for member 'mtmn_config_t::pyramid' [-Wmissing-field-initializers]

{ mtmn_config_t mtmn_config = {0};

                                 ^

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:98:33: warning: missing initializer for member 'mtmn_config_t::pyramid_times' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:98:33: warning: missing initializer for member 'mtmn_config_t::p_threshold' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:98:33: warning: missing initializer for member 'mtmn_config_t::r_threshold' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:98:33: warning: missing initializer for member 'mtmn_config_t::o_threshold' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:98:33: warning: missing initializer for member 'mtmn_config_t::type' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino: In function 'esp_err_t send_face_list(websockets::WebsocketsClient&)':

ESP32_CAM:308:1: error: no return statement in function returning non-void [-Werror=return-type]

}

^

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino: In function 'esp_err_t delete_all_faces(websockets::WebsocketsClient&)':

ESP32_CAM:313:1: error: no return statement in function returning non-void [-Werror=return-type]

}

^

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino: In function 'void loop()':

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:349:41: warning: missing initializer for member 'http_img_process_result::net_boxes' [-Wmissing-field-initializers]

     http_img_process_result out_res = {0};

                                         ^

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:349:41: warning: missing initializer for member 'http_img_process_result::face_id' [-Wmissing-field-initializers]

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:393:41: warning: missing initializer for member 'http_img_process_result::net_boxes' [-Wmissing-field-initializers]

     http_img_process_result out_res = {0};

                                         ^

C:\Users\Administrator\Documents\Arduino\ESP32_CAM\ESP32_CAM.ino:393:41: warning: missing initializer for member 'http_img_process_result::face_id' [-Wmissing-field-initializers]

cc1plus.exe: some warnings being treated as errors

Mehrere Bibliotheken wurden für "ArduinoWebsockets.h" gefunden
Benutzt: C:\Users\Administrator\Documents\Arduino\libraries\ArduinoWebsockets
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3-rc1\libraries\WiFi
Nicht benutzt: C:\Program
Mehrere Bibliotheken wurden für "HTTPClient.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3-rc1\libraries\HTTPClient
Mehrere Bibliotheken wurden für "WiFiClientSecure.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3-rc1\libraries\WiFiClientSecure
Mehrere Bibliotheken wurden für "Ticker.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.3-rc1\libraries\Ticker
Mehrere Bibliotheken wurden für "PubSubClient.h" gefunden
Benutzt: C:\Users\Administrator\Documents\Arduino\libraries\PubSubClient
exit status 1
no return statement in function returning non-void [-Werror=return-type]

Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.


Kann wohl nicht (nur) an der Espressif Versionen liegen...

Papa Romeo

..also ich hab den Sketch eben selber nochmal runtergeladen und mit Arduino 1.8.10 und Espressif 1.0.4 kompiliert...ohne Fehlermeldung.

...hast du die board.txt bearbeitet und die Partition für die Speicherung der Gesichter angelegt ?
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

tomster

Yessir! Logo ;-)

Ich einfach fang nochmal von vorne an. Danke aber schomml für Deine Mühen!

tomster

So, Arduino deinstalliert und von vorne angefangen. Es schaut zwar schon besser aus, aber er bricht wieder ab.
Diesmal aber wohl kurz vor der Ziellinie:

Arduino: 1.8.10 (Windows 10), Board: "ESP32 Wrover Module, Face Recognition (2621440 bytes with OTA), QIO, 80MHz, 921600, None"

...
Gebauter Kern wird archiviert (zwischengespeichert) in: C:\Users\ADMINI~1\AppData\Local\Temp\arduino_cache_60391\core\core_8fa20862e6316bd9be15fb08ac3d8b91.a
Linking everything together...
"C:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\tools\\xtensa-esp32-elf-gcc\\1.22.0-80-g6c4433a-5.2.0/bin/xtensa-esp32-elf-gcc" -nostdlib "-LC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.4/tools/sdk/lib" "-LC:\\Users\\Administrator\\AppData\\Local\\Arduino15\\packages\\esp32\\hardware\\esp32\\1.0.4/tools/sdk/ld" -T esp32_out.ld -T esp32.common.ld -T esp32.rom.ld -T esp32.peripherals.ld -T esp32.rom.libgcc.ld -T esp32.rom.spiram_incompatible_fns.ld -u ld_include_panic_highint_hdl -u call_user_start_cpu0 -Wl,--gc-sections -Wl,-static -Wl,--undefined=uxTopUsedPriority -u __cxa_guard_dummy -u __cxx_fatal_exception -Wl,--start-group "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\sketch\\ESP32_CAM.ino.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\sketch\\app_httpd.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\ArduinoWebsockets\\crypto.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\ArduinoWebsockets\\message.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\ArduinoWebsockets\\websockets_client.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\ArduinoWebsockets\\websockets_endpoint.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\ArduinoWebsockets\\websockets_server.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\ArduinoWebsockets\\ws_common.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\ETH.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFi.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiAP.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiClient.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiGeneric.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiMulti.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiSTA.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiScan.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiServer.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFi\\WiFiUdp.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\HTTPClient\\HTTPClient.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFiClientSecure\\WiFiClientSecure.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\WiFiClientSecure\\ssl_client.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\Ticker\\Ticker.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\libraries\\PubSubClient\\PubSubClient.cpp.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261\\core\\core.a" -lgcc -lesp32 -lphy -lesp_http_client -lmbedtls -lrtc -lesp_http_server -lbtdm_app -lspiffs -lbootloader_support -lmdns -lnvs_flash -lfatfs -lpp -lnet80211 -ljsmn -lface_detection -llibsodium -lvfs -ldl_lib -llog -lfreertos -lcxx -lsmartconfig_ack -lxtensa-debug-module -lheap -ltcpip_adapter -lmqtt -lulp -lfd -lfb_gfx -lnghttp -lprotocomm -lsmartconfig -lm -lethernet -limage_util -lc_nano -lsoc -ltcp_transport -lc -lmicro-ecc -lface_recognition -ljson -lwpa_supplicant -lmesh -lesp_https_ota -lwpa2 -lexpat -llwip -lwear_levelling -lapp_update -ldriver -lbt -lespnow -lcoap -lasio -lnewlib -lconsole -lapp_trace -lesp32-camera -lhal -lprotobuf-c -lsdmmc -lcore -lpthread -lcoexist -lfreemodbus -lspi_flash -lesp-tls -lwpa -lwifi_provisioning -lwps -lesp_adc_cal -lesp_event -lopenssl -lesp_ringbuf -lfr -lstdc++ -Wl,--end-group -Wl,-EL -o "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\arduino_build_856261/ESP32_CAM.ino.elf"
C:\Users\ADMINI~1\AppData\Local\Temp\arduino_build_856261\sketch\app_httpd.cpp.o:(.bss.camera_httpd+0x0): multiple definition of `camera_httpd'

C:\Users\ADMINI~1\AppData\Local\Temp\arduino_build_856261\sketch\ESP32_CAM.ino.cpp.o:(.bss.camera_httpd+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

Mehrere Bibliotheken wurden für "WiFiClientSecure.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFiClientSecure
Mehrere Bibliotheken wurden für "Ticker.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Ticker
Mehrere Bibliotheken wurden für "PubSubClient.h" gefunden
Benutzt: C:\Users\Administrator\Documents\Arduino\libraries\PubSubClient
Mehrere Bibliotheken wurden für "ArduinoWebsockets.h" gefunden
Benutzt: C:\Users\Administrator\Documents\Arduino\libraries\ArduinoWebsockets
Mehrere Bibliotheken wurden für "WiFi.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Nicht benutzt: C:\Program
Mehrere Bibliotheken wurden für "HTTPClient.h" gefunden
Benutzt: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\HTTPClient
Bibliothek ArduinoWebsockets in Version 0.4.14 im Ordner: C:\Users\Administrator\Documents\Arduino\libraries\ArduinoWebsockets  wird verwendet
Bibliothek WiFi in Version 1.0 im Ordner: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi  wird verwendet
Bibliothek HTTPClient in Version 1.2 im Ordner: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\HTTPClient  wird verwendet
Bibliothek WiFiClientSecure in Version 1.0 im Ordner: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFiClientSecure  wird verwendet
Bibliothek Ticker in Version 1.1 im Ordner: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Ticker  wird verwendet
Bibliothek PubSubClient in Version 2.7 im Ordner: C:\Users\Administrator\Documents\Arduino\libraries\PubSubClient  wird verwendet
exit status 1
Fehler beim Kompilieren für das Board ESP32 Wrover Module.

Papa Romeo

...schon seltsam, das einzige was ich im Moment als Unterschied sehen....ich habe noch Windows7
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

tomster

#172
Ich hab jetzt einfach in Deinem Sketch camera_httpd in camera_httpd1 geändert, und siehe da: es kompiliert durch!

Papa Romeo

..wenn´s dann auf´m Modul auch läuft, isses ja o.k.
...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

tomster

Werd ich morgen sehen. Dann soll mein Board ankommen.
Nomml Danke für Deine Geduld!

MaDu89

Danke für den Einstieg mit dem ESP32 Cam. Leider konnte ich mit deiner Hilfe Papa Romeo noch nicht das erreichen was ich wollte. Aber es hat mich dazu angeregt intensiver zu forschen und habe nun eine eigene kleine Lösung für mein Türklingel Problem gefunden. 

hab es mal verlinkt... https://forum.fhem.de/index.php/topic,107180.0.html

Vielen Dank trotzdem für deine Hilfe!

LG Maik
RPi 3 B+mit FHEM, PiHole, PiVPN, Homatic, ESP8266, ESP32 Cam, Sonoff, Sonoff Pow, Shelly, 433MHz Funksteckdosen, ETA Pelletheizung, IPCam, RGB Controller LK35, MediaServer, Volumio, NAS/Backup, Homebot LG, FRITZ!Box 7560, Telegram, Dot-Matrix MAX 7219, SmartMirror, 3D-Drucker...seit 2017 stabil!

steffen83

Hallo Papa Romeo,

ich lese auch schon die ganze Zeit mit und konnte mich nie so richtig überwinden mir das Board zu kaufen. Nun habe ich den Schritt gewagt und das Board ist auf dem Postweg. Ich freue mich, wenn ich auch das PW bekommen würde.
Gruß
Steffen
Raspberry Pi 3 (Noobs, aktuelle Fhem und Pilight) | FHEMduino | HM-OCCU-SDK | HM-Sec-SCo | HM-Sec-SD-2 | HM-CC-RT-DN | HM-LC-Bl1PBU-FM

Papa Romeo

...die richtige Lötspitzentemperatur prüft man zwischen Daumen und Zeigefinger.
...überlasse niemals etwas einer Software, das du hardwaremässig erreichen kannst.
...unvorsichtige Elektriker werden schnell zu leitenden Angestellten.
und...never change a running System...no Updates if not necessary

tomster

#178
So, mit meine o.g. Änderungen könnte ich den Sketch zumindest auf das ESP32-Cam-Modul flashen.
Es startet auch brav und mosert im seriellen Terminal nur, dass fr_flash keine ID Information kennt. OK, ist ja auch keine SD-Karte im Slot.
Ich kann zwar problemlos das Web-GUI aufrufen, aber ein Klick auf "Start Stream" endet nur in einem "Broken-Image-Bild".
Der Beispiel-Sketch aus der ESP32-Library funktioniert hingegen (wenn ich als Kamera-Modell AI_THINKER angebe).

--edit--
Ich seh gerade, dass Papa ja die GPIO-Definition auf AI_THINKER hardgecodet hat. Daran dürfte es also nicht liegen...

tomster

#179
Irgendwie mag der Compiler wohl die "doppelte Definition" von camera_httpd in Deinem Sketch und app_httpd.cpp nicht so gern...

Kann man das mit "extern" umgehen? Sorry für die wohl dumme Frage, aber ich bin alles Andere als firm in C++

--edit--
Oder stoppt die Schleife einfach, wenn keine Karte gesteckt ist?