EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Looking for simple file transfer

Started by Arlet Ottens February 4, 2011
Hello,

I'm working with some small embedded devices that need a software upgrade 
capability through TCP/IP. I'm looking for a simple and lightweight 
protocol to send some files. 

I'm aware of TFTP, which would be a candidate, but I'd rather have 
something based on TCP and not UDP. FTP is too big. 

Ideally, it would be supported by some standard tool on the PC side. 

Does anybody have suggestion ?
>Hello, > >I'm working with some small embedded devices that need a software upgrade
>capability through TCP/IP. I'm looking for a simple and lightweight >protocol to send some files. > >I'm aware of TFTP, which would be a candidate, but I'd rather have >something based on TCP and not UDP. FTP is too big. > >Ideally, it would be supported by some standard tool on the PC side. > >Does anybody have suggestion ? >
HTTP POST/GET ? --------------------------------------- Posted through http://www.EmbeddedRelated.com
On 04/02/2011 08:53, Arlet Ottens wrote:
> Hello, > > I'm working with some small embedded devices that need a software upgrade > capability through TCP/IP. I'm looking for a simple and lightweight > protocol to send some files. > > I'm aware of TFTP, which would be a candidate, but I'd rather have > something based on TCP and not UDP. FTP is too big. > > Ideally, it would be supported by some standard tool on the PC side. > > Does anybody have suggestion ?
When you say "standard tool on the PC side", do you mean "standard on windows"? There are lots of options that are standard on Linux - the very simplest being to use netcat, with alternatives including rcp, scp, and webdav, or weirder setups like making a network-accessible tty (i.e., a remote serial port). But if you are talking about windows, you are very limited. If you don't like FTP because of its size, you will definitely not like SMBFS/CIFS. That leaves you HTTP. You can use webdav so that your system is accessible like a remote file system, but beware that windows doesn't follow the standards, and different versions of windows break the rules in different ways. The other poster's suggestion of HTTP POST is probably your best bet - make an embedded web server with a form and a "file upload" button.
On Fri, 04 Feb 2011 11:08:05 +0100, David Brown wrote:

>> I'm working with some small embedded devices that need a software >> upgrade capability through TCP/IP. I'm looking for a simple and >> lightweight protocol to send some files. >> >> I'm aware of TFTP, which would be a candidate, but I'd rather have >> something based on TCP and not UDP. FTP is too big. >> >> Ideally, it would be supported by some standard tool on the PC side. >> >> Does anybody have suggestion ? > > When you say "standard tool on the PC side", do you mean "standard on > windows"? There are lots of options that are standard on Linux - the > very simplest being to use netcat, with alternatives including rcp, scp, > and webdav, or weirder setups like making a network-accessible tty > (i.e., a remote serial port).
Ideally, it should be used both on Linux and Windows. I use Linux for development, but customer uses Windows. However, (cygwin-based) command line tools are acceptable, so that leaves plenty of options, I think.
> But if you are talking about windows, you are very limited. If you > don't like FTP because of its size, you will definitely not like > SMBFS/CIFS. That leaves you HTTP. You can use webdav so that your > system is accessible like a remote file system, but beware that windows > doesn't follow the standards, and different versions of windows break > the rules in different ways. The other poster's suggestion of HTTP POST > is probably your best bet - make an embedded web server with a form and > a "file upload" button.
I'm starting to like the idea of using HTTP. I considered it before, and thought it would be too big, but a very stripped down server would probably be of comparable size to alternatives, with the big advantage that a browser is already installed, and really easy to use. It's also very flexible, so I could add some more pages in the future for remote diagnostics/control.
On Feb 4, 1:53=A0am, Arlet Ottens <usene...@c-scape.nl> wrote:
> Hello, > > I'm working with some small embedded devices that need a software upgrade > capability through TCP/IP. I'm looking for a simple and lightweight > protocol to send some files. > > I'm aware of TFTP, which would be a candidate, but I'd rather have > something based on TCP and not UDP. FTP is too big. > > Ideally, it would be supported by some standard tool on the PC side. > > Does anybody have suggestion ?
I'm woefully ignorant of the software side of things, but could Datalight's Sockets work? Runs from a DOS level; http://www.winsystems.com/search_results.cfm?criteria=3Dsockets&Submit=3DSu= bmit# fyi
On Feb 4, 8:00=A0am, 1 Lucky Texan <alcky...@swbell.net> wrote:
> On Feb 4, 1:53=A0am, Arlet Ottens <usene...@c-scape.nl> wrote: > > > Hello, > > > I'm working with some small embedded devices that need a software upgra=
de
> > capability through TCP/IP. I'm looking for a simple and lightweight > > protocol to send some files. > > > I'm aware of TFTP, which would be a candidate, but I'd rather have > > something based on TCP and not UDP. FTP is too big. > > > Ideally, it would be supported by some standard tool on the PC side. > > > Does anybody have suggestion ? > > I'm woefully ignorant of the software side of things, but could > Datalight's Sockets work? Runs from a DOS level; > > http://www.winsystems.com/search_results.cfm?criteria=3Dsockets&Submit=3D=
...
> > fyi
oops, try this; http://www.winsystems.com/search_results.cfm?criteria=3Dsockets&Submit=3DS= ubmit#
On Fri, 04 Feb 2011 06:01:17 -0800, 1 Lucky Texan wrote:

> On Feb 4, 8:00&nbsp;am, 1 Lucky Texan <alcky...@swbell.net> wrote: >> On Feb 4, 1:53&nbsp;am, Arlet Ottens <usene...@c-scape.nl> wrote: >> >> > Hello, >> >> > I'm working with some small embedded devices that need a software >> > upgrade capability through TCP/IP. I'm looking for a simple and >> > lightweight protocol to send some files. >> >> > I'm aware of TFTP, which would be a candidate, but I'd rather have >> > something based on TCP and not UDP. FTP is too big. >> >> > Ideally, it would be supported by some standard tool on the PC side. >> >> > Does anybody have suggestion ? >> >> I'm woefully ignorant of the software side of things, but could >> Datalight's Sockets work? Runs from a DOS level; >> >> http://www.winsystems.com/search_results.cfm?
criteria=sockets&Submit=...
>> >> fyi > > oops, try this; > > http://www.winsystems.com/search_results.cfm?
criteria=sockets&Submit=Submit# That looks like a generic TCP/IP socket interface. I already have TCP/IP on my embedded system, but I was looking for a simple application layer on top of that to send some files across. I think I'll go ahead with the HTTP GET/POST protocol, as suggested by others.
Le 04/02/2011 08:53, Arlet Ottens a &eacute;crit :
> Hello, > > I'm working with some small embedded devices that need a software upgrade > capability through TCP/IP. I'm looking for a simple and lightweight > protocol to send some files. > > I'm aware of TFTP, which would be a candidate, but I'd rather have > something based on TCP and not UDP. FTP is too big.
FTP is not so big as a client.
> > Ideally, it would be supported by some standard tool on the PC side. > > Does anybody have suggestion ?
On Fri, 04 Feb 2011 15:25:17 +0100, Habib wrote:

> Le 04/02/2011 08:53, Arlet Ottens a &eacute;crit : >> Hello, >> >> I'm working with some small embedded devices that need a software >> upgrade capability through TCP/IP. I'm looking for a simple and >> lightweight protocol to send some files. >> >> I'm aware of TFTP, which would be a candidate, but I'd rather have >> something based on TCP and not UDP. FTP is too big.
> FTP is not so big as a client
The client isn't the problem. It's the server, which would run on the embedded platform. Also, FTP is a messy protocol. The separate data/ control sockets are just annoying, especially with NAT and/or firewalls in the way.
Le 04/02/2011 16:30, Arlet Ottens a &eacute;crit :
> On Fri, 04 Feb 2011 15:25:17 +0100, Habib wrote: > >> Le 04/02/2011 08:53, Arlet Ottens a &eacute;crit : >>> Hello, >>> >>> I'm working with some small embedded devices that need a software >>> upgrade capability through TCP/IP. I'm looking for a simple and >>> lightweight protocol to send some files. >>> >>> I'm aware of TFTP, which would be a candidate, but I'd rather have >>> something based on TCP and not UDP. FTP is too big. > >> FTP is not so big as a client > > The client isn't the problem. It's the server, which would run on the > embedded platform. Also, FTP is a messy protocol. The separate data/ > control sockets are just annoying, especially with NAT and/or firewalls > in the way.
Consider the amount of work to implement a TCP/IP server (a descent one of course) servicing multiple clients at a time ... i think it's possible via inetd although i've never been in the situation of doing what you're are trying to do. Habib

The 2024 Embedded Online Conference