voidlistDir(fs::FS&fs,constchar*dirname,uint8_tlevels){Serial.printf("Listing directory: %s\n",dirname);Fileroot=fs.open(dirname);if(!root){Serial.println("Failed to open directory");return;}if(!root.isDirectory()){Serial.println("Not a directory");return;}Filefile=root.openNextFile();while(file){if(file.isDirectory()){Serial.print(" DIR : ");Serial.print(file.name());time_tt=file.getLastWrite();structtm*tmstruct=localtime(&t);Serial.printf(" LAST WRITE: %d-%02d-%02d %02d:%02d:%02d\n",(tmstruct->tm_year)+1900,(tmstruct->tm_mon)+1,tmstruct->tm_mday,tmstruct->tm_hour,tmstruct->tm_min,tmstruct->tm_sec);if(levels){listDir(fs,file.path(),levels-1);}}else{Serial.print(" FILE: ");Serial.print(file.name());Serial.print(" SIZE: ");Serial.print(file.size());time_tt=file.getLastWrite();structtm*tmstruct=localtime(&t);Serial.printf(" LAST WRITE: %d-%02d-%02d %02d:%02d:%02d\n",(tmstruct->tm_year)+1900,(tmstruct->tm_mon)+1,tmstruct->tm_mday,tmstruct->tm_hour,tmstruct->tm_min,tmstruct->tm_sec);}file=root.openNextFile();}}
voidreadFile(fs::FS&fs,constchar*path){Serial.printf("Reading file: %s\n",path);Filefile=fs.open(path);if(!file){Serial.println("Failed to open file for reading");return;}Serial.print("Read from file: ");while(file.available()){Serial.write(file.read());}file.close();}
voidwriteFile(fs::FS&fs,constchar*path,constchar*message){Serial.printf("Writing file: %s\n",path);Filefile=fs.open(path,FILE_WRITE);if(!file){Serial.println("Failed to open file for writing");return;}if(file.print(message)){Serial.println("File written");}else{Serial.println("Write failed");}file.close();}
voidappendFile(fs::FS&fs,constchar*path,constchar*message){Serial.printf("Appending to file: %s\n",path);Filefile=fs.open(path,FILE_APPEND);if(!file){Serial.println("Failed to open file for appending");return;}if(file.print(message)){Serial.println("Message appended");}else{Serial.println("Append failed");}file.close();}
voidsetup(){Serial.begin(115200);// We start by connecting to a WiFi network
Serial.println();Serial.println();Serial.print("Connecting to ");Serial.println(ssid);WiFi.begin(ssid,password);while(WiFi.status()!=WL_CONNECTED){delay(500);Serial.print(".");}Serial.println("WiFi connected");Serial.println("IP address: ");Serial.println(WiFi.localIP());Serial.println("Contacting Time Server");configTime(3600*timezone,daysavetime*3600,"time.nist.gov","0.pool.ntp.org","1.pool.ntp.org");structtmtmstruct;delay(2000);tmstruct.tm_year=0;getLocalTime(&tmstruct,5000);Serial.printf("\nNow is : %d-%02d-%02d %02d:%02d:%02d\n",(tmstruct.tm_year)+1900,(tmstruct.tm_mon)+1,tmstruct.tm_mday,tmstruct.tm_hour,tmstruct.tm_min,tmstruct.tm_sec);Serial.println("");if(!SPIFFS.begin()){Serial.println("Card Mount Failed");return;}listDir(SPIFFS,"/",0);removeDir(SPIFFS,"/mydir");createDir(SPIFFS,"/mydir");deleteFile(SPIFFS,"/hello.txt");writeFile(SPIFFS,"/hello.txt","Hello ");appendFile(SPIFFS,"/hello.txt","World!\n");listDir(SPIFFS,"/",0);}