gallegojm / Arduino-Ftp-Server

Ftp server for Arduino Due and Ethernet Shield or WIZ820io
40 stars 25 forks source link

======================

How to use FtpServer on Arduino

======================

Tested with Ide 1.8.13 on Arduino Due and MKR with ethernet module W5100, W5200 or W5500

This is version 2. It has many changes:

1) Library SdFat version 1.4 from William Greiman

2) New library SdFat version 2.0.2 from William Greiman

3) Library FatFs from ChaN adapted by me to run on Arduino

4) Libraries Adafruit_SPIFlash and SdFat-Adafruit-Fork to access SPI memories

Differences between those libraries:

========

Definitions

========

You may have to modify some of the definitions in FtpServerConfig.h:

======

Functions

======

Declaration of the Ftp Server:

Initialization of the FTP server:

Setting of user's credentials

Calling the Ftp Server routine in the loop():

ftpSrv.service();

===========

FTP clients

===========

I test FtpServer with those clients:

Under Windows:

FTP Rush, Filezilla, WinSCP, NcFTP (and ncftpget, ncftpput), Firefox, command line ftp.exe

Under Ubuntu:

gFTP, Filezilla, NcFTP(and ncftpget, ncftpput), lftp, ftp, Firefox

Under Android:

AndFTP, FTP Express, Firefox

With a second Arduino:

using the sketch of SurferTim at http://playground.arduino.cc/Code/FTP

When available, you have to select single data connection mode.

FTP Rush:

To force FTP Rush to use the primary connection for data transfers: Go to Tools/Site Manager, right-select you site and Site Properties In General, check "Single connection mode"

WinSCP:

To force WinSCP to use the primary connection for data transfers: In Login, go to Tools/Preferences.../Transfer/Background, set "Maximum number of transfers at the same time" to 1.

gFTP:

To force gFTP to use the primary connection for data transfers: Go to FTP/Preferences..., In General, check "One transfer at a time"

FileZilla:

To force FileZilla to use the primary connection for data transfers: Go to File/Site Manager then select you site. In Transfer Settings, check "Limit number of simultaneous connections" and set the maximum to 1

Firefox:

Enter address ftp://arduino:test@192.168.1.xxx You can download any file from the server. You have to quit Firefox to close the connection with the server.

NcFTP:

This client works on the command line and is perfect for batch processing. For example: ncftpget -d stdout -u arduino -p Due 192.168.1.xxx . /MyDir/MyFile to download a file to the current directory