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 ?
Looking for simple file transfer
Started by ●February 4, 2011
Reply by ●February 4, 20112011-02-04
>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
Reply by ●February 4, 20112011-02-04
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.
Reply by ●February 4, 20112011-02-04
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.
Reply by ●February 4, 20112011-02-04
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
Reply by ●February 4, 20112011-02-04
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=...> > fyioops, try this; http://www.winsystems.com/search_results.cfm?criteria=3Dsockets&Submit=3DS= ubmit#
Reply by ●February 4, 20112011-02-04
On Fri, 04 Feb 2011 06:01:17 -0800, 1 Lucky Texan wrote:> On Feb 4, 8:00 am, 1 Lucky Texan <alcky...@swbell.net> wrote: >> On Feb 4, 1:53 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.
Reply by ●February 4, 20112011-02-04
Le 04/02/2011 08:53, Arlet Ottens a é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 ?
Reply by ●February 4, 20112011-02-04
On Fri, 04 Feb 2011 15:25:17 +0100, Habib wrote:> Le 04/02/2011 08:53, Arlet Ottens a é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 clientThe 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.
Reply by ●February 4, 20112011-02-04
Le 04/02/2011 16:30, Arlet Ottens a écrit :> On Fri, 04 Feb 2011 15:25:17 +0100, Habib wrote: > >> Le 04/02/2011 08:53, Arlet Ottens a é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