Work in progress

This commit is contained in:
Rene Zeldenthuis
2024-02-04 23:23:59 +01:00
parent a90c4fe672
commit e8cdf6d044
17 changed files with 199 additions and 113 deletions

View File

@@ -88,7 +88,7 @@ To select the right board use the table below and use the configuration that is
| Board | Configuration | Image | CPU | RAM | Camera | Site |
|--- |--- |--- |--- |--- |--- |--- |
| Espressif ESP32-Wropver CAM | | ![img](assets/boards/esp32-wrover-cam.jpg) | ESP32 | 520KB SRAM 4MB PSRAM | OV2640 | |
| AI-Thinker ESP32-CAM | ai_thinker_esp32cam | ![img](assets/boards/ai-thinker-esp32-cam-ipex.jpg) ![img](assets/boards/ai-thinker-esp32-cam.jpg) | ESP32-S | 520KB SRAM 4MB PSRAM | OV2640 | https://docs.ai-thinker.com/en/esp32-cam |
| AI-Thinker ESP32-CAM | ai_thinker_esp32cam | ![img](assets/boards/ai-thinker-esp32-cam-ipex.jpg) ![img](assets/boards/ai-thinker-esp32-cam.jpg) | ESP32-S | 520KB SRAM 4MB PSRAM | OV2640 | https://docs.ai-thinker.com/esp32-cam |
| Espressif ESP-EYE | | ![img](assets/boards/espressif-esp-eye.jpg") | ESP32 | 520KB SRAM 4MB PSRAM | OV2640 | |
| Espressif ESP-S3-EYE | | ![img](assets/boards/espressif-esps3-eye.jpg") | ESP32-S3 | 520KB SRAM 4MB PSRAM | OV2640 | https://www.espressif.com/en/products/devkits/esp-eye/overview |
| LilyGo camera module | | ![img](assets/boards/lilygo-camera-module.jpg") | ESP32 Wrover | 520KB SRAM 4MB PSRAM | OV2640 / OV5640 | |

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Binary file not shown.

View File

@@ -6,7 +6,7 @@
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_AITHINKER'",
"'-D ESP32CAM_AI_THINKER'",
"'-D BOARD_HAS_PSRAM'",
"'-mfix-esp32-psram-cache-issue'",
"'-D LED_BUILTIN=33'",
@@ -51,7 +51,7 @@
"arduino",
"espidf"
],
"name": "ESP32-CAM AI Thinker",
"name": "ESP32CAM AI Thinker",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
@@ -59,6 +59,6 @@
"require_upload_port": true,
"speed": 460800
},
"url": "https://wiki.ai-thinker.com/esp32-cam",
"vendor": "AI Thinker"
"url": "https://docs.ai-thinker.com/esp32-cam",
"vendor": "Anxinke"
}

View File

@@ -3,7 +3,7 @@
"arduino": {
"ldscript": "esp32s3_out.ld",
"partitions": "default_8MB.csv",
"memory_type": "qio_opi"
"memory_type": "opi_opi"
},
"core": "esp32",
"extra_flags": [
@@ -13,7 +13,6 @@
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
"'-D ARDUINO_RUNNING_CORE=1'",
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
"'-D LED_BUILTIN=33'",
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_XCLK=40'",
@@ -35,23 +34,18 @@
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
"'-D CAMERA_CONFIG_FB_COUNT=2'",
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"flash_mode": "dout",
"hwids": [
[
"0x2886",
"0x0056"
[
"0X303A",
"0x1001"
]
],
[
"0x2886",
"0x8056"
]
],
"mcu": "esp32s3",
"variant": "XIAO_ESP32S3"
"variant": "esp32s3camlcd"
},
"connectivity": [
"bluetooth",
@@ -64,7 +58,7 @@
"arduino",
"espidf"
],
"name": "Seeed Studio XIAO ESP32S3",
"name": "ESP32S3-CAM LCD",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
@@ -72,6 +66,6 @@
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html",
"vendor": "Seeed Studio"
"url": "https://www.espressif.com/en/news/Maple_Eye_ESP32-S3",
"vendor": "Espressif"
}

View File

@@ -0,0 +1,75 @@
{
"build": {
"arduino": {
"ldscript": "esp32s3_out.ld",
"partitions": "default_8MB.csv",
"memory_type": "qio_opi"
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_SEEED_XIAO_ESP32S3'",
"'-D BOARD_HAS_PSRAM'",
"'-D ARDUINO_USB_MODE=1'",
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
"'-D ARDUINO_RUNNING_CORE=1'",
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_XCLK=15'",
"'-D CAMERA_CONFIG_PIN_SCCB_SDA=4'",
"'-D CAMERA_CONFIG_PIN_SCCB_SCL=5'",
"'-D CAMERA_CONFIG_PIN_Y9=16'",
"'-D CAMERA_CONFIG_PIN_Y8=17'",
"'-D CAMERA_CONFIG_PIN_Y7=18'",
"'-D CAMERA_CONFIG_PIN_Y6=12'",
"'-D CAMERA_CONFIG_PIN_Y5=10'",
"'-D CAMERA_CONFIG_PIN_Y4=8'",
"'-D CAMERA_CONFIG_PIN_Y3=9'",
"'-D CAMERA_CONFIG_PIN_Y2=11'",
"'-D CAMERA_CONFIG_PIN_VSYNC=6'",
"'-D CAMERA_CONFIG_PIN_HREF=7'",
"'-D CAMERA_CONFIG_PIN_PCLK=13'",
"'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'",
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
"'-D CAMERA_CONFIG_FB_COUNT=2'",
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
"flash_mode": "qio",
"hwids": [
[
"0x2886",
"0x0056"
],
[
"0x2886",
"0x8056"
]
],
"mcu": "esp32s3",
"variant": "esp32s3"
},
"connectivity": [
"bluetooth",
"wifi"
],
"debug": {
"openocd_target": "esp32s3.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "ESP32S3_EYE",
"upload": {
"flash_size": "8MB",
"maximum_ram_size": 327680,
"maximum_size": 8388608,
"require_upload_port": true,
"speed": 460800
},
"url": "https://www.espressif.com/en/products/devkits/esp-eye/overview",
"vendor": "Espressif"
}

View File

@@ -6,7 +6,7 @@
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_ESP_EYE'",
"'-D ESP32CAM_ESPRESSIF_ESP_EYE'",
"'-D BOARD_HAS_PSRAM'",
"'-mfix-esp32-psram-cache-issue'",
"'-D LED_BUILTIN=14'",

View File

@@ -59,6 +59,6 @@
"require_upload_port": true,
"speed": 460800
},
"url": "https://wiki.ai-thinker.com/esp32-cam",
"vendor": "AI Thinker"
"url": "https://www.aliexpress.com/item/1005004960637276.html",
"vendor": "Freenove"
}

View File

@@ -6,7 +6,7 @@
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_M5STACK_V2'",
"'-D ESP32CAM_M5STACK_PSRAM'",
"'-D BOARD_HAS_PSRAM'",
"'-mfix-esp32-psram-cache-issue'",
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
@@ -22,7 +22,7 @@
"'-D CAMERA_CONFIG_PIN_Y4=34'",
"'-D CAMERA_CONFIG_PIN_Y3=35'",
"'-D CAMERA_CONFIG_PIN_Y2=32'",
"'-D CAMERA_CONFIG_PIN_VSYNC=25'",
"'-D CAMERA_CONFIG_PIN_VSYNC=22'",
"'-D CAMERA_CONFIG_PIN_HREF=26'",
"'-D CAMERA_CONFIG_PIN_PCLK=21'",
"'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'",

View File

@@ -0,0 +1,63 @@
{
"build": {
"arduino":{
"ldscript": "esp32_out.ld",
"partitions": "huge_app.csv"
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_M5STACK_V2_PSRAM'",
"'-D BOARD_HAS_PSRAM'",
"'-mfix-esp32-psram-cache-issue'",
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_RESET=15'",
"'-D CAMERA_CONFIG_PIN_XCLK=27'",
"'-D CAMERA_CONFIG_PIN_SCCB_SDA=22'",
"'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'",
"'-D CAMERA_CONFIG_PIN_Y9=19'",
"'-D CAMERA_CONFIG_PIN_Y8=36'",
"'-D CAMERA_CONFIG_PIN_Y7=18'",
"'-D CAMERA_CONFIG_PIN_Y6=39'",
"'-D CAMERA_CONFIG_PIN_Y5=5'",
"'-D CAMERA_CONFIG_PIN_Y4=34'",
"'-D CAMERA_CONFIG_PIN_Y3=35'",
"'-D CAMERA_CONFIG_PIN_Y2=32'",
"'-D CAMERA_CONFIG_PIN_VSYNC=25'",
"'-D CAMERA_CONFIG_PIN_HREF=26'",
"'-D CAMERA_CONFIG_PIN_PCLK=21'",
"'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'",
"'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'",
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
"'-D CAMERA_CONFIG_FB_COUNT=2'",
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
],
"f_cpu": "240000000L",
"f_flash": "40000000L",
"flash_mode": "dio",
"mcu": "esp32",
"variant": "esp32"
},
"connectivity": [
"wifi",
"bluetooth",
"ethernet",
"can"
],
"debug": {
"openocd_board": "esp-wroom-32.cfg"
},
"frameworks": [
"arduino",
"espidf"
],
"name": "ESP32-CAM M5 STACK",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,
"maximum_size": 4194304,
"require_upload_port": true,
"speed": 460800
},
"url": "https://shop.m5stack.com/collections/m5-cameras",
"vendor": "M5STACK"
}

View File

@@ -9,7 +9,6 @@
"'-D ESP32CAM_M5STACK_WIDE'",
"'-D BOARD_HAS_PSRAM'",
"'-mfix-esp32-psram-cache-issue'",
"'-D LED_BUILTIN=2'",
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_RESET=15'",
"'-D CAMERA_CONFIG_PIN_XCLK=27'",
@@ -51,7 +50,7 @@
"arduino",
"espidf"
],
"name": "ESP32-CAM M5 STACK",
"name": "ESP32-CAM M5 STACK WIDE",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,

View File

@@ -7,13 +7,12 @@
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_XIAO_ESP32S3'",
"'-D ESP32CAM_SEEED_XIAO_ESP32S3_SENSE'",
"'-D BOARD_HAS_PSRAM'",
"'-D ARDUINO_USB_MODE=1'",
"'-D ARDUINO_USB_CDC_ON_BOOT=1'",
"'-D ARDUINO_RUNNING_CORE=1'",
"'-D ARDUINO_EVENT_RUNNING_CORE=1'",
"'-D LED_BUILTIN=33'",
"'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'",
"'-D CAMERA_CONFIG_PIN_XCLK=10'",
@@ -35,7 +34,6 @@
"'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'",
"'-D CAMERA_CONFIG_FB_COUNT=2'",
"'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'"
],
"f_cpu": "240000000L",
"f_flash": "80000000L",
@@ -51,7 +49,7 @@
]
],
"mcu": "esp32s3",
"variant": "XIAO_ESP32S3"
"variant": "xiao_esp32s3"
},
"connectivity": [
"bluetooth",

View File

@@ -6,7 +6,7 @@
},
"core": "esp32",
"extra_flags": [
"'-D ESP32CAM_TTGO_T_JORNAL'",
"'-D ESP32CAM_TTGO_T_JOURNAL'",
"'-D CAMERA_CONFIG_PIN_PWDN=0'",
"'-D CAMERA_CONFIG_PIN_RESET=15'",
"'-D CAMERA_CONFIG_PIN_XCLK=27'",
@@ -48,7 +48,7 @@
"arduino",
"espidf"
],
"name": "ESP32-CAM TTGO-T-CAMERA",
"name": "ESP32-CAM TTGO-T-JOURNAL",
"upload": {
"flash_size": "4MB",
"maximum_ram_size": 327680,

File diff suppressed because one or more lines are too long

View File

@@ -10,17 +10,19 @@
###############################################################################
[platformio]
#default_envs = esp32cam_aithinker
#default_envs = esp32cam_esp_eye
#default_envs = m5stack_cam
#default_envs = m5stack_esp32cam
#default_envs = m5stack_unitcam
#default_envs = esp32cam_ai_thinker
#default_envs = esp32cam_espressif_esp_eye
#default_envs = esp32cam_espressif_esp32s3_cam_lcd
#default_envs = esp32cam_espressif_esp32s3_eye
#default_envs = esp32cam_m5stack_esp32cam
#default_envs = esp32cam_m5stack_psram
#default_envs = esp32cam_m5stack_unitcam
#default_envs = esp32cam_m5stack_v2_psram
#default_envs = esp32cam_m5stack_wide
#default_envs = esp32cam_ttgo_t_camera
#default_envs = esp32cam_ttgo_t_journal
#default_envs = esp32cam_wrover_kit
#default_envs = ttgo-t-beam
#default_envs = seeed_xiao_esp32s3
#default_envs = esp32cam_freenove_wrover_kit
#default_envs = esp32cam_seeed_xiao_esp32s3_sense
[env]
platform = espressif32
@@ -39,7 +41,7 @@ monitor_dtr = 0
monitor_filters = log2file, time, default, esp32_exception_decoder
build_flags =
-O2
-Ofast
-D 'BOARD_NAME="${this.board}"'
-D 'CORE_DEBUG_LEVEL=ARDUHAL_LOG_LEVEL_VERBOSE'
-D 'IOTWEBCONF_PASSWORD_LEN=64'
@@ -52,76 +54,41 @@ lib_deps =
geeksville/Micro-RTSP@^0.1.6
rzeldent/micro-moustache@^1.0.1
[env:esp32cam_aithinker]
board = esp32cam_aithinker
[env:esp32cam_ai_thinker]
board = esp32cam_ai_thinker
[env:esp32cam_esp_eye]
board = esp32cam_esp_eye
[env:esp32cam_espressif_esp_eye]
board = esp32cam_espressif_esp_eye
[env:esp32cam_m5stack_cam]
board = esp32cam_m5stack_cam
[env:esp32cam_espressif_esp32s3_cam_lcd]
board = esp32cam_espressif_esp32s3_cam_lcd
[env:esp32cam_espressif_esp32s3_eye]
board = esp32cam_espressif_esp32s3_eye
[env:esp32cam_freenove_wrover_kit]
board = esp32cam_freenove_wrover_kit
[env:esp32cam_m5stack_esp32cam]
board = esp32cam_m5stack_esp32cam
[env:esp32cam_m5stack_psram]
board = esp32cam_m5stack_psram
[env:esp32cam_m5stack_unitcam]
board = esp32cam_m5stack_unitcam
[env:esp32cam_m5stack_v2_psram]
board = esp32cam_m5stack_v2_psram
[env:esp32cam_m5stack_wide]
board = esp32cam_m5stack_wide
[env:esp32cam_ttgo_t_camera]
board = esp32cam_ttgo_t_camera
[env:esp32cam_ttgo_t_journal]
board = esp32cam_ttgo_t_journal
[env:esp32cam_wrover_kit]
board = esp32cam_wrover_kit
; [env:esp32cam]
; board = esp32cam
; build_flags =
; -DBOARD_ESP32CAM
; -DLED_BUILTIN=33
; [env:ai_thinker_esp32cam]
; board = esp32cam
; build_flags =
; -DBOARD_AITHINKER_ESP32CAM
; -DLED_BUILTIN=33
; [env:esp_eye]
; board = esp32cam
; build_flags =
; -DBOARD_ESP_EYE
; -DLED_BUILTIN=33
; [env:ttgo_t_camera]
; board = ttgo-t-beam
; build_flags =
; -DBOARD_TTGO_T_CAMERA
; [env:m5stack_esp32cam]
; board = m5stack-core-esp32
; build_flags =
; -DBOARD_M5STACK_ESP32CAM
; -DLED_BUILTIN=33
; [env:esp32_wrover_cam]
; board = esp-wrover-kit
; build_flags =
; -DBOARD_ESP32_WROVER_CAM
; -DLED_BUILTIN=2
; [env:seeed_xiao_esp32s3]
; board = seeed_xiao_esp32s3
; build_flags =
; -D BOARD_SEEED_XIAO_ESP32S3_SENSE
; -D BOARD_HAS_PSRAM
; [env:m5stack_unitcams3]
; board = esp32s3box
; build_flags =
; -D BOARD_M5STACK_UNITCAMS3
; -D BOARD_HAS_PSRAM
[env:esp32cam_seeed_xiao_esp32s3_sense]
board = esp32cam_seeed_xiao_esp32s3_sense

View File

@@ -63,16 +63,6 @@ IotWebConf iotWebConf(thingName.c_str(), &dnsServer, &web_server, WIFI_PASSWORD,
// Camera initialization result
esp_err_t camera_init_result;
void stream_text_file_gzip(const unsigned char *content, size_t length, const char *mime_type)
{
// Cache for 86400 seconds (one day)
web_server.sendHeader("Cache-Control", "max-age=86400");
web_server.sendHeader("Content-encoding", "gzip");
web_server.setContentLength(length);
web_server.send(200, mime_type, "");
web_server.sendContent(reinterpret_cast<const char *>(content), length);
}
void handle_root()
{
log_v("Handle root");