Prechádzať zdrojové kódy

摄像头适配(未完成)

xuxinyi 8 mesiacov pred
rodič
commit
defc850fb9

+ 3 - 3
main/app_main.c

@@ -21,10 +21,10 @@ void app_main(void)
     ESP_ERROR_CHECK(ret);
 
     // 初始化Wi-Fi并连接
-    //wifi_init_sta();
-    
+    wifi_init_sta();
+
     // 等待Wi-Fi连接
-    //vTaskDelay(10000 / portTICK_PERIOD_MS);
+    vTaskDelay(10000 / portTICK_PERIOD_MS);
 
     take_photo();
     vTaskDelay(4*1000 / portTICK_PERIOD_MS);

+ 3 - 3
main/camera.c

@@ -159,11 +159,11 @@ static camera_config_t camera_config = {
     .ledc_timer = LEDC_TIMER_0,
     .ledc_channel = LEDC_CHANNEL_0,
 
-    .pixel_format = PIXFORMAT_RGB565, // RGB565 格式
+    .pixel_format = PIXFORMAT_JPEG, // RGB565 格式
     .frame_size = FRAMESIZE_QVGA,     // 使用 QVGA (320x240)
 
-    .jpeg_quality = 12,   // JPEG 质量 (0-63, 低值=高质量)
-    .fb_count = 2,        // 降低到 2,减少 DRAM 负载
+    .jpeg_quality = 2,   // JPEG 质量 (0-63, 低值=高质量)
+    .fb_count = 1,        // 降低到 2,减少 DRAM 负载
     .fb_location = CAMERA_FB_IN_DRAM,  // 使用 DRAM (无 PSRAM)
     .grab_mode = CAMERA_GRAB_WHEN_EMPTY,
 };

+ 2 - 2
managed_components/espressif__esp32-camera/driver/cam_hal.c

@@ -284,13 +284,13 @@ static esp_err_t cam_dma_config(const camera_config_t *config)
     if (CAMERA_FB_IN_DRAM == config->fb_location) {
         _caps |= MALLOC_CAP_INTERNAL;
     } else {
-        _caps |= MALLOC_CAP_SPIRAM;
+        _caps |= MALLOC_CAP_DEFAULT;
     }
     for (int x = 0; x < cam_obj->frame_cnt; x++) {
         cam_obj->frames[x].dma = NULL;
         cam_obj->frames[x].fb_offset = 0;
         cam_obj->frames[x].en = 0;
-        ESP_LOGI(TAG, "Allocating %d Byte frame buffer in %s", alloc_size, _caps & MALLOC_CAP_SPIRAM ? "PSRAM" : "OnBoard RAM");
+        ESP_LOGI(TAG, "Allocating %d Byte frame buffer in %s", alloc_size, _caps & MALLOC_CAP_DEFAULT ? "PSRAM" : "OnBoard RAM");
 #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(4, 3, 0)
         // In IDF v4.2 and earlier, memory returned by heap_caps_aligned_alloc must be freed using heap_caps_aligned_free.
         // And heap_caps_aligned_free is deprecated on v4.3.

+ 1 - 2
managed_components/espressif__esp32-camera/driver/esp_camera.c

@@ -362,7 +362,7 @@ esp_err_t esp_camera_deinit()
     return ret;
 }
 
-#define FB_GET_TIMEOUT (10*4000 / portTICK_PERIOD_MS)
+#define FB_GET_TIMEOUT (4000 / portTICK_PERIOD_MS)
 
 camera_fb_t *esp_camera_fb_get()
 {
@@ -370,7 +370,6 @@ camera_fb_t *esp_camera_fb_get()
         return NULL;
     }
     camera_fb_t *fb = cam_take(FB_GET_TIMEOUT);
-    ESP_LOGI(TAG, "测试");
     //set the frame properties
     if (fb) {
         fb->width = resolution[s_state->sensor.status.framesize].width;

+ 3 - 3
sdkconfig

@@ -505,14 +505,14 @@ CONFIG_ESPTOOLPY_FLASHFREQ_80M=y
 CONFIG_ESPTOOLPY_FLASHFREQ_80M_DEFAULT=y
 CONFIG_ESPTOOLPY_FLASHFREQ="80m"
 # CONFIG_ESPTOOLPY_FLASHSIZE_1MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE_2MB=y
+# CONFIG_ESPTOOLPY_FLASHSIZE_2MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_4MB is not set
-# CONFIG_ESPTOOLPY_FLASHSIZE_8MB is not set
+CONFIG_ESPTOOLPY_FLASHSIZE_8MB=y
 # CONFIG_ESPTOOLPY_FLASHSIZE_16MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_32MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_64MB is not set
 # CONFIG_ESPTOOLPY_FLASHSIZE_128MB is not set
-CONFIG_ESPTOOLPY_FLASHSIZE="2MB"
+CONFIG_ESPTOOLPY_FLASHSIZE="8MB"
 # CONFIG_ESPTOOLPY_HEADER_FLASHSIZE_UPDATE is not set
 CONFIG_ESPTOOLPY_BEFORE_RESET=y
 # CONFIG_ESPTOOLPY_BEFORE_NORESET is not set

+ 2 - 2
sdkconfig.old

@@ -2051,8 +2051,8 @@ CONFIG_BF20A6_SUPPORT=y
 CONFIG_SC030IOT_SUPPORT=y
 # CONFIG_SC031GS_SUPPORT is not set
 CONFIG_MEGA_CCM_SUPPORT=y
-# CONFIG_SCCB_HARDWARE_I2C_PORT0 is not set
-CONFIG_SCCB_HARDWARE_I2C_PORT1=y
+CONFIG_SCCB_HARDWARE_I2C_PORT0=y
+# CONFIG_SCCB_HARDWARE_I2C_PORT1 is not set
 CONFIG_SCCB_CLK_FREQ=100000
 # CONFIG_GC_SENSOR_WINDOWING_MODE is not set
 CONFIG_GC_SENSOR_SUBSAMPLE_MODE=y