From 4c898142ec0887ecfa12c370b434dbbebf54a720 Mon Sep 17 00:00:00 2001 From: Derick <73321124+Kuuh4@users.noreply.github.com> Date: Tue, 1 Apr 2025 00:36:45 -0300 Subject: [PATCH 1/3] Fix app_httpd.cpp's flash pinout declaration. Flash pinout had to be declared manually, not using the data from , not following DRY. The change enables to get what the board is from the file , and properly pull the flash pinout variable. --- .../CameraWebServer/CameraWebServer.ino | 49 +++++-------------- .../Camera/CameraWebServer/app_httpd.cpp | 5 +- 2 files changed, 15 insertions(+), 39 deletions(-) diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino index d483e11b1df..ec35e18fdde 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino +++ b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino @@ -1,43 +1,16 @@ +#include "config.h" + + #include "esp_camera.h" #include - -// -// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality -// Ensure ESP32 Wrover Module or other board with PSRAM is selected -// Partial images will be transmitted if image exceeds buffer size -// -// You must select partition scheme from the board menu that has at least 3MB APP space. -// Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15 -// seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well - -// =================== -// Select camera model -// =================== -//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM -#define CAMERA_MODEL_ESP_EYE // Has PSRAM -//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM -//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM -//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM -//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM -//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM -//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM -//#define CAMERA_MODEL_M5STACK_CAMS3_UNIT // Has PSRAM -//#define CAMERA_MODEL_AI_THINKER // Has PSRAM -//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM -//#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM -// ** Espressif Internal Boards ** -//#define CAMERA_MODEL_ESP32_CAM_BOARD -//#define CAMERA_MODEL_ESP32S2_CAM_BOARD -//#define CAMERA_MODEL_ESP32S3_CAM_LCD -//#define CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 // Has PSRAM -//#define CAMERA_MODEL_DFRobot_Romeo_ESP32S3 // Has PSRAM #include "camera_pins.h" -// =========================== -// Enter your WiFi credentials -// =========================== -const char *ssid = "**********"; -const char *password = "**********"; +//========================================================== +// Please refer to to setup wifi and board model. +//========================================================== + +const char *ssid = WIFI_SSID; +const char *password = WIFI_PASSWORD; void startCameraServer(); void setupLedFlash(int pin); @@ -68,8 +41,8 @@ void setup() { config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.frame_size = FRAMESIZE_UXGA; - config.pixel_format = PIXFORMAT_JPEG; // for streaming - //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition + //config.pixel_format = PIXFORMAT_JPEG; // for streaming + config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition config.grab_mode = CAMERA_GRAB_WHEN_EMPTY; config.fb_location = CAMERA_FB_IN_PSRAM; config.jpeg_quality = 12; diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp index 81d643e37ac..f55f1d90b4e 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp +++ b/libraries/ESP32/examples/Camera/CameraWebServer/app_httpd.cpp @@ -11,6 +11,8 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. +#include "config.h" + #include "esp_http_server.h" #include "esp_timer.h" #include "esp_camera.h" @@ -19,6 +21,7 @@ #include "esp32-hal-ledc.h" #include "sdkconfig.h" #include "camera_index.h" +#include "camera_pins.h" #if defined(ARDUINO_ARCH_ESP32) && defined(CONFIG_ARDUHAL_ESP_LOG) #include "esp32-hal-log.h" @@ -30,7 +33,7 @@ // LED FLASH setup #if CONFIG_LED_ILLUMINATOR_ENABLED -#define LED_LEDC_GPIO 22 //configure LED pin +#define LED_LEDC_GPIO LED_GPIO_NUM #define CONFIG_LED_MAX_INTENSITY 255 int led_duty = 0; From 55fcfc64e032e230ac47628c05fba5ee35529208 Mon Sep 17 00:00:00 2001 From: Derick <73321124+Kuuh4@users.noreply.github.com> Date: Tue, 1 Apr 2025 01:05:36 -0300 Subject: [PATCH 2/3] Missed uploading config.h | Pull Request Fix Relates to fixing #11208 --- .../examples/Camera/CameraWebServer/config.h | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 libraries/ESP32/examples/Camera/CameraWebServer/config.h diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/config.h b/libraries/ESP32/examples/Camera/CameraWebServer/config.h new file mode 100644 index 00000000000..2161f4820a9 --- /dev/null +++ b/libraries/ESP32/examples/Camera/CameraWebServer/config.h @@ -0,0 +1,38 @@ +// +// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality +// Ensure ESP32 Wrover Module or other board with PSRAM is selected +// Partial images will be transmitted if image exceeds buffer size +// +// You must select partition scheme from the board menu that has at least 3MB APP space. +// Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15 +// seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well + +// =================== +// Select camera model (Uncomment only the desired model) +// =================== +//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM +#define CAMERA_MODEL_ESP_EYE // Has PSRAM +//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM +//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM +//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM +//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM +//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM +//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM +//#define CAMERA_MODEL_M5STACK_CAMS3_UNIT // Has PSRAM +//#define CAMERA_MODEL_AI_THINKER // Has PSRAM +//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM +//#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM +// ** Espressif Internal Boards ** +//#define CAMERA_MODEL_ESP32_CAM_BOARD +//#define CAMERA_MODEL_ESP32S2_CAM_BOARD +//#define CAMERA_MODEL_ESP32S3_CAM_LCD +//#define CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 // Has PSRAM +//#define CAMERA_MODEL_DFRobot_Romeo_ESP32S3 // Has PSRAM + + +// =========================== +// Enter your WiFi credentials (replace ******** for the proper values) +// =========================== +#define WIFI_SSID "********" +#define WIFI_PASSWORD "********" + From 42d48b37b22439507494939ba405d9ee7003c278 Mon Sep 17 00:00:00 2001 From: Derick <73321124+Kuuh4@users.noreply.github.com> Date: Tue, 1 Apr 2025 15:04:16 -0300 Subject: [PATCH 3/3] Update CameraWebServer.ino Undoing minor accidental change --- .../ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino index ec35e18fdde..8d1116318e9 100644 --- a/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino +++ b/libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino @@ -41,8 +41,8 @@ void setup() { config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.frame_size = FRAMESIZE_UXGA; - //config.pixel_format = PIXFORMAT_JPEG; // for streaming - config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition + config.pixel_format = PIXFORMAT_JPEG; // for streaming + //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition config.grab_mode = CAMERA_GRAB_WHEN_EMPTY; config.fb_location = CAMERA_FB_IN_PSRAM; config.jpeg_quality = 12;