Hello i have seen many things on ftp servers online in searching but I honestly from a programming point i do not understand i looked at arduino ftp page But found out it was for ftp client not server. I'm trying to look for a way to make my own ftp server and view the content on a webpage from the Ethernet shield? Does anyone know where i can find a library and sketch for this some i tried don't work because of library use a older version of ide 1.0.5. Not sure what to look for can someone please help me out?
josephchrzempiec:
Hello i have seen many things on ftp servers online in searching but I honestly from a programming point i do not understand i looked at arduino ftp page But found out it was for ftp client not server. I'm trying to look for a way to make my own ftp server and view the content on a webpage from the Ethernet shield? Does anyone know where i can find a library and sketch for this some i tried don't work because of library use a older version of ide 1.0.5. Not sure what to look for can someone please help me out?
What about a HTTP webserver that can create and show a "file directory listing" when accessing a directory that contains no "index.htm" file?
Is viewing or downloading files from SD card enough?
Possibly online-editing of plain text files?
Or do you want to upload files?
The whole point of ftp is to transfer a large number of possibly large files. I don't see the point on the arduino.
Hello thank you both for the reply. What i would like to do is Have it so i can display all the content off of the sd card in a webpage or something and be able to upload more if I'm out say at my brothers i need to upload it maybe from a webpage uploader of some kind is this possible?
First thing i thought about is Ftp server i can upload using a ftp client and grab files if i need it. But wasn't sure if doing a ftp server or file server of some kind. It is why I'm asking in here.
josephchrzempiec:
and be able to upload more if I'm out say at my brothers i need to upload it maybe from a webpage uploader of some kind is this possible?
So you want to create some kind of "super-slow and very limited NAS server emulation" with Arduino?
Limited in
- transfer speed (roughly estimated 1KB/s = 0.001 MB/s)
- file names (8.3 names limit)
- network security (possibly 'none' or Basic Authentication only)
Your question sounds like someone asking:
"I want to make a trip from New York to Los Angeles from time to time, but at some other time perhaps a trip from Vancouver to Buenos Aires as well. Is it possible to do the trips by bicycle? And my next question is: I have no bicycle, can I build one myself and then do the trip using it?"
Of course you can do such trips by bicycle.
You can even use a bicycle that you built by yourself before starting the trip.
If you can build a bicycle that works.
And if you have plenty of time. Plenty if time building the bicycle. And plenty of time riding your bicycle.
But why do you want to use different means of transportation than 99,99999% of other people use?
Why don't you just install a "NAS server" in your network if you need a "NAS server"?
I think you meant from Vancouver to Hawaii. And, of course you can get there on a bicycle, if you design the bicycle appropriately.
Okay it will be slow i ant doubting it. The point is not run it as it is It's just a project i always wanted to learn and do. But didn't know how to really start something like this okay yeah processing power is slow for a uno or mega But i do have a m0 pro and a due board i can use. But yes it is something i would like to do.
josephchrzempiec:
It's just a project i always wanted to learn and do. But didn't know how to really start something
All the Internet protocols are defined in RFCs ("Request For Comments") by the IETF networking group.
How to handle GET requests on an Arduino acting as a webserver or a webclient, is already included in the examples of the "Ethernet" library, which are in the Arduino IDE. If you just want to act an Arduino as a webserver, serving files directly from SD card, you should also be able to find some "SD card webserver" codes on the Internet, which are ready-to-use or need only slight modifications to work.
But if you need to do stuff nobody has done before on an Arduino, you'd have to do all the low-level coding yourself, considering the protocol definitions in the RFCs.
For example, if you'd like to provide "File upload by HTTP from a HTML form" in a way, that you can use any standard webbrowser as a client for file uploading controlled by a human person, you'd have to implement RFC 1867
And if you allow uploads to the SD card, you possibly also would like to have some basic "file manager" options, such like renaming, deleting, moving files stored on SD card.
Each additional feature will need additional RAM and flash storage for the program code. So planning to implement all that with an Arduino DUE may be wise, as that controller provides some more flash and RAM than the 8-bit Atmegas.
if you look at tinywebserver library, it supports http put for uploading files. you can always download using http get. I use this feature to upload static pages on arduino mega running tiny webserver.
I think webduino may support this feature also.
I only recently as this post is i made only heard of tinywebserver so i looked it up and found This TinyWebServer and i found a lot of great information on the Github page. Thank you i have a lot to learn but from the looks of it looks like this might work. I will post a update to it also have a feature now only to see what is on the SD card but to upload files to it Thank you.
Also thank you jurs for that information as well.