wand58’s diary

まず、これは、個人的な落書きです。なら公開するなよとも思いましたが、ひっそりと片隅には置いて欲しいかと

Esp32CamTimelapseSD +GPS 改造

〇ファイルがいっぱいできる。日付でディレクトリ作るか。

 strftime - ロケールの設定に基づいてローカルな日付・時間をフォーマットする

 

 // MicroSD
#include "driver/sdmmc_host.h"
#include "driver/sdmmc_defs.h"
#include "sdmmc_cmd.h"
#include "esp_vfs_fat.h"

以上のファイルは、ドキュメントの下にあった。

C:\Users\#####\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.1\tools\sdk\include\vfs

とかに・・

 

で、 static esp_err_t init_sdcard() とか・・・見てみると

maxfile=1 まさか・・ mount そういえば・・ これって全然 arduino のやりかたじゃない(SPI使った Arduino標準SD.begin とか) sdmmcの方か? Includeしてるし、結線もしてるしHard

 

github.com

qiita.com

 

 

 

/*
 * Connect the SD card to the following pins:
 *
 * SD Card | ESP32
 *    D2       12
 *    D3       13
 *    CMD      15
 *    VSS      GND
 *    VDD      3.3V
 *    CLK      14
 *    VSS      GND
 *    D0       2  (add 1K pull up after flashing)
 *    D1       4
 */

/*
  SD card basic file example
 This example shows how to create and destroy an SD card file
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4 (for MKRZero SD: SDCARD_SS_PIN)
 
 
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
static esp_err_t save_photo_dated(){
  camera_fb_t *fb = esp_camera_fb_get();
 ~~
  FILE *file = fopen(filename, "w");
  if (file != NULL)  {
    size_t err = fwrite(fb->buf, 1, fb->len, file);
    Serial.printf("File saved: %s\n", filename);
  }  else  {
    Serial.println("Could not open file");
  }
  fclose(file);
  esp_camera_fb_return(fb);
  free(filename);
}

 ふむ・・・

  //----- make Directory
  strftime(strftime_buf, sizeof(strftime_buf), "%y%m%d", &timeinfo);    //add
  char *filepath = (char*)malloc(21 + sizeof(strftime_buf));
  sprintf(filepath, "/sdcard/%s", strftime_buf);
//  Serial.printf("Create Dir: %s\n",filepath);
  if(mkdir(filepath,0775)){     //←mkdir 0775は、アクセス許可 パーミッションかな
//    Serial.println("Dir created");
  }else{
//    Serial.println("mkdir failed");
  }

 

Mkdir not working in example storage/sd_card - ESP32 Forum

 

一応いけた、毎回作ってるが・・exist的なものは・・・と