소스 검색

循环拍照上传

xuxinyi 8 달 전
부모
커밋
fbcb2e56b0
1개의 변경된 파일23개의 추가작업 그리고 20개의 파일을 삭제
  1. 23 20
      main/camera.c

+ 23 - 20
main/camera.c

@@ -79,8 +79,8 @@ esp_err_t upload_picture(camera_fb_t *pic, long image_size)
 {
     esp_http_client_config_t config = {
         .url = "http://60.204.139.57:7002/upload",  // 服务器地址
-        .timeout_ms = 5000,
-        .buffer_size = 1024 * 16,
+        .timeout_ms = 20000,
+        .buffer_size = 1024 * 20,
     };
 
     // 初始化 HTTP 客户端
@@ -186,26 +186,29 @@ void take_photo(void *param)
     {
         return;
     }
-
-    ESP_LOGI(TAG, "Taking picture...");
-    camera_fb_t *pic = esp_camera_fb_get();
-    if (pic == NULL)
+    while (true)
     {
-        ESP_LOGE(TAG, "Camera capture failed");
-        return;
+        /* code */
+        ESP_LOGI(TAG, "Taking picture...");
+        camera_fb_t *pic = esp_camera_fb_get();
+        if (pic == NULL)
+        {
+            ESP_LOGE(TAG, "Camera capture failed");
+            return;
+        }
+    
+        ESP_LOGI(TAG, "Picture taken! Its size was: %zu bytes", pic->len);
+    
+        // 上传图片
+        esp_err_t err = upload_picture(pic,pic->len);
+        if (err != ESP_OK)
+        {
+            ESP_LOGE(TAG, "Failed to upload picture");
+        }
+        esp_camera_fb_return(pic);
+        vTaskDelay(10*60*1000 / portTICK_PERIOD_MS);
     }
-
-    ESP_LOGI(TAG, "Picture taken! Its size was: %zu bytes", pic->len);
-
-    // 上传图片
-    esp_err_t err = upload_picture(pic,pic->len);
-    if (err != ESP_OK)
-    {
-        ESP_LOGE(TAG, "Failed to upload picture");
-    }
-
-    vTaskDelay(600*1000 / portTICK_PERIOD_MS);
-
+    
     vTaskDelete(NULL);
 }