diff options
author | Daniel Plasa <dplasa@gmail.com> | 2020-05-24 18:58:42 +0200 |
---|---|---|
committer | Daniel Plasa <dplasa@gmail.com> | 2020-05-24 18:58:42 +0200 |
commit | 453e61d5dc538e19e545075818e94a9508501c44 (patch) | |
tree | 4e1d4aae43bf8bdde9bbf5bfba27922eb9d0fbb7 /examples/SPIFFSSample | |
parent | Merge pull request #20 from sandtec65/master (diff) | |
download | FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.tar FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.tar.gz FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.tar.bz2 FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.tar.lz FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.tar.xz FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.tar.zst FTPCLientServer-453e61d5dc538e19e545075818e94a9508501c44.zip |
Diffstat (limited to '')
-rw-r--r-- | examples/SPIFFSSample/SPIFFSSample.ino | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/examples/SPIFFSSample/SPIFFSSample.ino b/examples/SPIFFSSample/SPIFFSSample.ino new file mode 100644 index 0000000..6438afe --- /dev/null +++ b/examples/SPIFFSSample/SPIFFSSample.ino @@ -0,0 +1,115 @@ +/* + This is an example sketch to show the use of the espFTP server. + + Please replace + YOUR_SSID and YOUR_PASS + with your WiFi's values and compile. + + If you want to see debugging output of the FTP server, please + select select an Serial Port in the Arduino IDE menu Tools->Debug Port + + Send L via Serial Monitor, to display the contents of the FS + Send F via Serial Monitor, to fromat the FS + + This example is provided as Public Domain + Daniel Plasa <dplasa@gmail.com> + +*/ +#ifdef ESP8266 +#include <FS.h> +#include <ESP8266WiFi.h> +#elif defined ESP32 +#include <WiFi.h> +#include <SPIFFS.h> +#endif + +#include <espFtpServer.h> + +const char *ssid PROGMEM = ""; +const char *password PROGMEM = ""; + +// Since SPIFFS is becoming deprecated but might still be in +// use in your Projects, tell the FtpServer to use SPIFFS +FtpServer ftpSrv(SPIFFS); + +void setup(void) +{ + Serial.begin(74880); + WiFi.begin(ssid, password); + + bool fsok = SPIFFS.begin(); + Serial.printf_P(PSTR("FS init: %S\n"), fsok ? PSTR("ok") : PSTR("fail!")); + + // Wait for connection + while (WiFi.status() != WL_CONNECTED) + { + delay(500); + Serial.printf_P(PSTR(".")); + } + Serial.printf_P(PSTR("\nConnected to %S, IP address is %s\n"), ssid, WiFi.localIP().toString().c_str()); + + // setup the ftp server with username and password + // ports are defined in esFTP.h, default is + // 21 for the control connection + // 50009 for the data connection (passive mode by default) + ftpSrv.begin(F("ftp"), F("ftp")); +} + +enum consoleaction +{ + show, + wait, + format, + list +}; + +consoleaction action = show; + +void loop(void) +{ + // this is all you need + // make sure to call handleFTP() frequently + ftpSrv.handleFTP(); + + // + // Code below just to debug in Serial Monitor + // + if (action == show) + { + Serial.printf_P(PSTR("Enter 'F' to format, 'L' to list the contents of the FS\n")); + action = wait; + } + else if (action == wait) + { + if (Serial.available()) + { + char c = Serial.read(); + if (c == 'F') + action = format; + else if (c == 'L') + action = list; + else if (!(c == '\n' || c == '\r')) + action = show; + } + } + else if (action == format) + { + uint32_t startTime = millis(); + SPIFFS.format(); + Serial.printf_P(PSTR("FS format done, took %lu ms!\n"), millis() - startTime); + action = show; + } + else if (action == list) + { + Serial.printf_P(PSTR("Listing contents...\n")); + uint16_t dirCount = 0; + Dir dir = SPIFFS.openDir(F("/")); + while (dir.next()) + { + ++dirCount; + Serial.printf_P(PSTR("%6ld %s\n"), (uint32_t)dir.fileSize(), dir.fileName().c_str()); + } + Serial.printf_P(PSTR("%d files total\n"), dirCount); + action = show; + } +} |