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
/*
* 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
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)
camera_fb_t *fb = esp_camera_fb_get();
if (file != NULL) {
size_t err = fwrite(fb->buf, 1, fb->len, file);
Serial.printf("File saved: %s\n", filename);
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的なものは・・・と