ESP32 SPIFFS 라이브러리 만들기

espressif(공식)가 github에서 제공하고 있는 SPIFFS의 샘플 코드를 라이브러리화했습니다.
라이브러리화된 코드는 github 으로 공개하고 있습니다.
(라이센스 무료)
원래 소스 코드는 여기입니다.

환경



개발 환경:Arduino-IDE(Arduino-ESP32)
사용 보드: ESP-32-DevKit

함수 목록



・void begin(void)
SPIFFS 초기화
· void listDir (const char * dirname, uint8_t levels);
SPI 플래시 메모리의 파일 목록 표시
· void readFile (const char * path, char * buf);
"지정한 패스(*path)의 파일을 읽어, 인수의 *buf에 격납
· void writeFile (const char * path, const char * message);
지정한 경로(*path)의 파일을 작성해, 문자열(*message)를 기입
· void appendFile (const char * path, const char * message);
"지정한 경로(*path)의 파일에 문자열(*message)을 추가
· void renameFile (const char * path1, const char * path2);
지정한 경로(*path1)의 파일명을 지정한 파일명(*path2)으로 변경
· void deleteFile (const char * path);
"지정한 파일(*path) 삭제"
· void testFileIO (const char * path);
SPIFFS의 동작 확인

샘플 코드



샘플 코드는 각 함수를 순서대로 실행하도록 되어 있습니다.
실행하면 다음과 같이 직렬 콘솔에 로그가 표시됩니다.



spiffs_example.ino
#include "esp32_spiffs.h"

ESP32_SPIFFS spiffs;

char file_buf[16384];

void setup() { 
  Serial.begin(115200);
  memset(file_buf,0,sizeof(file_buf));
  spiffs.begin();

  // ファイルを作成して文字列を書き込む
  spiffs.writeFile("/hello.txt", "Hello ");
  // 指定したファイルに文字列を追記
  spiffs.appendFile("/hello.txt", "World!\n");
  // ファイルをリスト表示
  spiffs.listDir("/", 0);
  // 指定したファイル名を変更
  spiffs.renameFile("/hello.txt", "/foo.txt");
  // 指定したファイルを読み込む
  spiffs.readFile("/foo.txt",file_buf);
  Serial.printf("%s\n",file_buf);
  // 指定したファイルを削除
  spiffs.deleteFile("/foo.txt");
//  spiffs.testFileIO("/test.txt");
//  spiffs.deleteFile("/test.txt");
  Serial.println( "Test complete" );  
}

void loop() {
}

좋은 웹페이지 즐겨찾기