DIY Tiny Webserver 43
kyllikki writes "Oh no no another one? Yes but this time the idea is that its simple enough for those with just a small amount of electronics experience to actualy build it! Everything you need except the physical components and a PIC programmer (theres a link to a 11 component one) is on the website. There is source code , binary hex file (for those to lazy to assemble their own) , hardware design and layout even a parts list and costings... Go have a look and build your own!" No pretty pictures, but a lucid explanation of how you can (cheaply) build a tiny spitter-up-of-html, driven by their GPL'd software.
Re:Waste of time (Score:1)
Face it: there are computers and embedded controllers all over the world that aren't in place solely so you can engage in IRC sessions.
But really, your subject heading is appropriate, as this whole thread is a waste of time.
Re:Embedded Web server (Score:2)
Re:Tiny napster! (Score:1)
I suppose some sort of kludge could be devised using a whole lot of extra logic, but it sure wouldn't be 'tiny' any longer.
You've never written code for a tiny embedded controller, have you?
Re:Open Source is NOT the issue - its the IMAGE. (Score:1)
Why a web server? (Score:2)
Re:first p0st suxor! (Score:1)
Maybe he's already discovered this and will never post a story again?
I know if I were a Slashdot author and suddenly discovered penis birds, I would get one and play with it 24 hours a day.
<O
( \
X
8===D
http://smoke.rotten.com/bird [rotten.com]
--
Not useless. (Score:3)
Of course putting in a Pic just to be a web server isn't ideal. But it serves as a proof-of-concept: If you can embed a web server in a Pic, you can embed it in whatever tiny micro you are using to control the device. It just costs you a little more ROM space, a sliver of RAM, and a connector for whaetever you're using for a line.
It will be better yet when embedded micros come with Homenet (or the like) support. Talk to your home computer over the power line at the cost of a couple capacitors on the board and the use of a couple otherwise unused pins, or something to that effect.
Re:Open Source is NOT the issue - its the IMAGE. (Score:1)
Re:Embedded Web server (Score:2)
A little bit of reality... (Score:4)
I've seen a number of comments above where the poster has lept to the conclusion that this thing is comparable to a "real" web server, such as apache running on a unix platform.
The most important limitation that I can see in the code is that it only remembers information from the previously received packet, and it can only send a packet in response to receiving one, but can't retransmit on a timeout not having received an ACK. Calling this TCP is a streatch at best. It's certainly a long way from RFC-1122 [cmu.edu].
For example, consider the case where two clients attempt to access this little web server at the same time, which is not unlikely running the data pipe at 19200 baud, and having CTS inhibiting data flow in between every received byte, and during all data transmission. The remote IP address is overwritten as the second packet is received, causing all knowledge of the first connection to be lost. Most of that information will be regained when the first host sends another packet, but the point is that this little web server isn't going to work well with multiple connections at the same time, and probably won't work at all if the TCP retransmit is require because of any packet loss.
It is a neat project, and doing even this minimal tx follows rx without pre-connection state is some impressive code for such a small chip. Neat as it is, it just isn't a viable web server for any application where multiple clients may use it. It probably won't do well on networks that have packet loss, duplicated packet and the other not-so-common problems that come with the best-effort (but unreliable) IP datagram service.
And now for a shameless plug.... for the posters above who were talking about connecting a disk drive, here's a little project I did that connects a IDE hard drive to a 8051 microcontroller [pjrc.com]. Maybe it could be used with a PIC? My code is public domain, so it could be combined with a GPL'd project, like this little web server.
I love my TINI (Score:2)
If you want a flexible, tiny webserver that can communicate over ethernet, serial, and can attach stuff using the wonderful 1-wire technology, a TINI [ibutton.com] is what you need.
This [dammfine.com] is what I am doing with my TINI, for those who think such a thing is not useful.
Forget about PICs, they may be useful for charging your phone (there is one in my phone's charging base) but they don't run Java, and they don't talk ethernet.
Interested in uControllers? (Score:2)
Re:Embedded Web servers showing up more and more . (Score:1)
Re:destination: embeded web servers (Score:1)
Elton -- noooo!!! (Score:1)
Wait, it's blowing away! F***king tiny servers...
Re:I love my TINI (Score:1)
Most of these small webservers don't seem to do much other than serve up simple pages. What, really is the point is serving up your homepage from your fridge? You want to control stuff, and the TINI lets you do this, with either CAN, 1-wire, I2C, serial or SBX.
Also, programming it in Java, on any Java-capable platform, makes it extremely attractive (Although I am only learning Java at the moment).
And if/when they go to a single chip solution, the price will become extremely attractive - $15US projected. (Although, at $50US, with no need for special programming boards, it is already pretty reasonable).
Lindsay
Re: (Score:2)
Re:Exchange Rates (Score:1)
Re:practical application. cost savings. (Score:1)
Embedded Web servers showing up more and more ... (Score:2)
It'd be cool to skip all the hassle of connecting a digital camera to yer avg Linux box (gPhoto is excellent but sometimes crashy and until vendors wise up is always playing catch up with new models of camera) by plugging in an ethernet or USB cable and being able to instantly download a page of thumbnails
My refrigerator should have one of these, too, and (especially) the diagnostic computer in my car.
timothy
Re:Waste of time (Score:1)
Embedded controllers have a huge install base, and are used all over the place. This kind of project may be the wave of the future.
Plus, I don't get it with your attitude that Open Source is a big work camp and that hackers should just line up to do the 'good work' as designated by Open Source luminaries.
Re:Tiny napster! (Score:1)
old pentium off Ebay (200$)
an 20gig Westerndigital HD (200$)
and connect it to your home Lan
Woal`a
total 400$, time saved= priceless
Re:Tiny napster! (Score:1)
Re:Open Source is NOT the issue - its the IMAGE. (Score:1)
Please, stop your trolling, sir.
<O
( \
X
8===D
http://smoke.rotten.com/bird [rotten.com]
--
Re:Embedded Web servers showing up more and more . (Score:2)
Here is the link [axis.com] to the cameras w/ a builtin webserver.
They seem to have a lot of nifty stuff there.
No, i'm not in any way associated with them.
Re:Open Source is NOT the issue - its the IMAGE. (Score:1)
<O
( \
X
8===D
http://smoke.rotten.com/bird [rotten.com]
--
Re:Open Source is NOT the issue - its the IMAGE. (Score:1)
<O
( \
X
8===D
http://smoke.rotten.com/bird [rotten.com]
--
Re:Tiny napster! (Score:1)
Please shoot me now.
k.
--
"In spite of everything, I still believe that people
are really good at heart." - Anne Frank
Re:What has come over me?! (Score:1)
<O
( \
X
8===D
http://smoke.rotten.com/bird [rotten.com]
--
Re:Embedded Web server (Score:1)
Re:IF I EVER MEET YOU... (Score:1)
Re:Tiny napster! (Score:2)
Lev
practical application. cost savings. (Score:1)
This will add up to huge savings for companies like rackspace.com. Never mind that the actual servers can be built at $300 to $400 each
Re:Tiny napster! (Score:1)
Ok, I have to apologize for that one. Shoot me too.
Josh Paulik
"This is your life, and it's ending one minute at a time"
This is why I read Slashdot! (Score:1)
Embedded Web server (Score:3)
Re:Exchange Rates (Score:1)
send all visa's to :
Re:Embedded Web server (Score:1)
Because my 400MHz celeron can saturate a 10mbit ethernet, that's why. Maybe we should make a notepad.exe accelerator card so I can improve notepad's performance.
Large websites need cpu farms for databases and cgi, not serving. Or were you thinking of running Oracle on the PIC with 50 bytes of ram?
Ryan
Tiny napster! (Score:4)
Of course, you would have to have some way of getting input from the user... a two-line display should handle that well.
The killer application is Bluetooth Web Server (Score:2)
It's a novel concept, but I'm not sure about the applicability. If you are trying to create a micro web server, then you need to connect it to the rest of the world. Unless you want to lumber around with cables and large footprint isolation devices and so on, what you really want is wireless - wires are passe! The goal should be a supercompact, yet flexible and open, server based on an emerging ubiquitous wireless technology.
Your choice should be a Bluetooth ASIC with onboard CPU (e.g. Cambridge Silicon Radio [cambridges...nradio.com] and BlueCore[tm]). You could put the server onto the ASIC, and have a small footprint wireless device. What you also want is a generic interface out of the chip to external devices - so the chip holds the pages, their definitions, and everything else, but local fetches pull binary data from outside of the chip - or something like that.
I want to walk around a museum, and walk up to a painting by Carravagio, and have by palm device show up small icon - I select the device and can browse the image and text about the image, and listen to audio all while I'm standing in the gallery. But then later that night, while having dinner and talking about the day, I want to be able to surf over my 3G phone pull up the information again, while I'm explaning it to some one else. And if that work of art is taken to another gallery, then they can transport the micro webhost with it. That would be cool.
Disclaimer: I work for the parent company of Cambridge Silicon Radio.
some more interesting links.. (Score:2)
destination: embeded web servers (Score:2)
Re:Tiny napster! (Score:1)
The pico servers I've seen aren't all that robust, dumping on much loading or anything weird coming their way. Some aren't even doing true http, which causes a few browsers to complain.