Slashdot Mirror


DIY Tiny Webserver

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.

43 comments

  1. Re:Waste of time by Schnedt+McWapt · · Score: 1

    You're really pushing it, dude.

    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.

  2. Re:Embedded Web server by levendis · · Score: 2

    Its actually pretty common right now. I work in the Fibre Channel industry, and most new Fibre switches have a built in web server, which actually serves up Java applets to manage the switch. Pretty soon we'll be seeing toaster and coffee machines doing the same thing...

    --
    ---- I made the Kessel Run in under 11 parsecs.
  3. Re:Tiny napster! by Schnedt+McWapt · · Score: 1

    Hmmm, most people would also find it a little difficult to just plug in an IDE drive onto a system composed entirely of an 18 pin embedded controller. I don't think it's one of those 'voila!' things...

    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?

  4. Re:Open Source is NOT the issue - its the IMAGE. by Otter · · Score: 1

    I'm wondering whether this will hit +5 before a single moderator realizes it's a joke...

  5. Why a web server? by pc486 · · Score: 2

    Microcontrolers are the best things on earth. Unfortunally, serial ports are not. With the speed of a serial port the power of the darn thing is quite limited. I would try something else out. How about using the cheep I2C chips out there and monitor the temp of the entire house? Maybe it can track the pressures on the carpet to report where there is the most traffic. The processor can then send the data to the computer or other device it is attached to then put it on the net via DSL or T1 or something. It would be more efficient.

  6. Re:first p0st suxor! by Penis+Bird+Guy · · Score: 1
    I believe a penis bird could help him forget his worries.

    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

    --

  7. Not useless. by Ungrounded+Lightning · · Score: 3

    A web server is 'way cheaper than switches and blinky lights, and doesn't wear out.

    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.

    --
    Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
  8. Re:Open Source is NOT the issue - its the IMAGE. by Troll+Boy+2 · · Score: 1

    Funny how the highly rated posts lately have been much worse than the troll posts. They should have an inverted "view by rating" setting.

    --
    You know you want to give me -1 Troll
  9. Re:Embedded Web server by levendis · · Score: 2

    I agree :) However the Java involved is client-side only, for interfacing with the switch.

    --
    ---- I made the Kessel Run in under 11 parsecs.
  10. A little bit of reality... by pjrc · · Score: 4
    I've just spent a bit of time reading through the source code for this project. It's pretty crafty to make the PIC do this stuff.

    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.

    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. 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.

  11. I love my TINI by damm0 · · 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 is what you need.

    This 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.

    1. Re:I love my TINI by LKH · · Score: 1
      I agree. I am using the TINI for my fourth year electrical engineering project at Auckland University, and I think it's great.

      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

  12. Interested in uControllers? by sam.powell · · Score: 2

    If you're interested in the PIC microcontrolers (specifically the 16C/F84) then visit my web site, the PIC archive. It hasnt been updated very recently but contains a lot of usefull stuff. Try it: http://come.to/thepicarchive.
    --

  13. Re:Embedded Web servers showing up more and more . by Anonymous Coward · · Score: 1

    There's a company witn similar (unreleased) products in the US called IQ in Vision. Their website is at www.visiqn.com. Get it?

  14. Re:destination: embeded web servers by bumbaclaat · · Score: 1

    they should build in some X10 circuitry and then attach them to every appliance made. automatic cat litter boxes, toasters, everything.

  15. Elton -- noooo!!! by sumana · · Score: 1
    A server in the wind...

    Wait, it's blowing away! F***king tiny servers...

    --
    Ceterum censeo Microsoftam esse delendam.
  16. Re:Open Source is NOT the issue - its the IMAGE. by finkployd · · Score: 2

    Traditionally, you are right on. However, Linux will never win in the traditional marketplace. The expensive suit, bland, conformist, non threatening world will never accept anything that isn't backed by tons of money and meaningless marketing babble. The only way Linux will ever become more successful is the same way it got as far as it currently has; by changing the rules instead of playing by them. No longer is it true that a company who throws the most money at a project wins. Anything a company can create, we can eventually replicate, and make it better, more secure, and more stable.
    Times are changing, and that muct scare the living crap out of marketers.

    Finkployd

  17. Re:Exchange Rates by Phokus · · Score: 1

    That's one strange place to vacation my friend.

  18. Re:practical application. cost savings. by Caspuh · · Score: 1

    Doesn't make sense to me. I don't think rack space isn't really a major factor in the price of collocation services. Things like max bandwidth and support options dwarf the costs of rack space. Just my opinion.

  19. Embedded Web servers showing up more and more ... by timothy · · Score: 2

    There's that swedish comppany (name I have skipped on) with a video camera that connects via built in RJ-11 or RJ-45 jacks (by modem or ethernet, that is) and contains its own web server, and some digicams have a little built in Web server as well, I believe.

    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

    --
    jrnl: http://tinyurl.com/c2l8yr / foes: http://tinyurl.com/ckjno5
  20. Re:Waste of time by Schnedt+McWapt · · Score: 1

    Except for the fact that you're really probably just planting flamebait with your comment:

    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.

  21. Re:Tiny napster! by Duke+of+Org · · Score: 1

    I would also be much faster and easier to go buy a
    old pentium off Ebay (200$)
    an 20gig Westerndigital HD (200$)
    and connect it to your home Lan

    Woal`a
    total 400$, time saved= priceless

  22. Re:Tiny napster! by pc486 · · Score: 1

    Like another poster said, it's kinda hard to put IDE on 18 (more like 13 for the 16F86) pins. The stereo would me nice if only I can overclock the darn thing from 10Mhz to 166Mhz. Only requirement: a heatsink the size of New York and a large fan.

  23. Re:Open Source is NOT the issue - its the IMAGE. by Penis+Bird+Guy · · Score: 1
    What are you suggesting?! A penis penguin?!?!

    Please, stop your trolling, sir.


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird

    --

  24. Re:Embedded Web servers showing up more and more . by abelsson · · Score: 2
    The company is called axis - and their site is, surprisingly enough at: axis.com.
    Here is the link 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.

  25. Re:Open Source is NOT the issue - its the IMAGE. by Penis+Bird+Guy · · Score: 1
    The moderators are too busy being pleasured with their penis birds to moderate today, sorry!


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird

    --

  26. Re:Open Source is NOT the issue - its the IMAGE. by Penis+Bird+Guy · · Score: 1
    Yes, those were bad. I suspect CmdrTaco will himself be using a penis bird soon.


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird

    --

  27. Re:Tiny napster! by ktakki · · Score: 1

    I hear Elton John singing "Hold me closer, Tiny Napster" in my head.

    Please shoot me now.

    k.
    --
    "In spite of everything, I still believe that people
    are really good at heart." - Anne Frank

    --
    "In spite of everything, I still believe that people are really good at heart." - Anne Frank
  28. Re:What has come over me?! by Penis+Bird+Guy · · Score: 1
    I'm sorry, Larry_Troll, no painted bad could possibly pass for a penis bird. Penis birds are distinctly identifiable by the penis they are perched on.


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird

    --

  29. Re:Embedded Web server by Hertog · · Score: 1

    Hmm, (at least in the M$-version of Java) is a piece of text that, under no circumstances you should run weapons-, medical-, or the stuff that you describe-systems with their Java :) Wonder why? :) Oh, they also mention nuclear facilities and aircraft control centre's. Hertog

    --
    -=- I heard rumours about an OS called "Social Life", heard of it? Is it stable? -=-
  30. Re:IF I EVER MEET YOU... by BiggestPOS · · Score: 1
    You now owe Weird Al $0.0005 for that reference to his lyrics. Keep shit like that up, and the RIAA will be all over your ass.

    --
    What, me worry?
  31. Re:Tiny napster! by Lev+Bishop · · Score: 2
    It's not that hard. Check out the Martin Melzer's Alya Project, which he did for backing up his digital camera pictures onto a small hard drive. He used one extra chip as well as the PIC, an FPGA (which you can see from the photos is slightly smaller than the PIC).

    Lev

  32. practical application. cost savings. by Forge · · Score: 1

    Now all we need it to add some storage and a large hard drive to a design like this and we have a way to pack 20 web servers into a 2u rack case.

    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

    --
    --= Isn't it surprising how badly I spell ?
  33. Re:Tiny napster! by SleepWalkerX · · Score: 1
    Second only to the Tina Turner hit "Private Napster".

    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"

    --

    Josh Paulik
    "This is your life, and it's ending one minute at a time"
    -Edward Norton, "Fight Club"
  34. This is why I read Slashdot! by /ASCII · · Score: 1
    The only use of the entire article is to make people go "COOL". But it does the very well. Gotta love it!!

    --
    Try out fish, the friendly interactive shell.
  35. Embedded Web server by ibpooks · · Score: 3

    I wonder if technology like this will open the door to web server adapters. Like a PCI card that looks like an ethernet card but is really a full featured web server. This sort of thing would be pretty cool. We offload 3d processing to the video card and SCSI handling to the disk controller so why not have a dedicated piece of hardware for a web server? Hmm, just a thought.

    1. Re:Embedded Web server by slashdot-me · · Score: 1

      why not have a dedicated piece of hardware for a web server? [inside a normal computer]

      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

  36. Re:Exchange Rates by DrSkwid · · Score: 1

    it's a nice place but I wouldn't want to live here...

    send all visa's to :


    .oO0Oo.

    --
    There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
  37. Tiny napster! by MostlyHarmless · · Score: 4

    If you can embed a web server into it, you can embed a napster client into it. All you have to do is program the PIC chip for the napster protocol, hook up a network connection, and pop in one of those multi-gigabyte matchbook drives from IBM. Hook the whole thing up to your stero, and voila! Napster-in-a-box!
    Of course, you would have to have some way of getting input from the user... a two-line display should handle that well.

    --
    Friends don't let friends misuse the subjunctive.
    1. Re:Tiny napster! by scott@b · · Score: 1
      Given the speed of the micro, handling one user will be a bit of a drag. These things are meant to be the equivalent of a couple of switches on the Web - you can hit the page to see the status of a few bits, and turn them on or off. Low speed A/D/A, serial ports that do short strings of I/O, and so on. If you want much more bandwidth you'll need additional hardware to handle it.

      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.

  38. The killer application is Bluetooth Web Server by matthew_gream · · 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 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.

    --
    -- Matthew - matthew.gream@pobox.com, http://matthewgream.net
  39. some more interesting links.. by n3m6 · · Score: 2

    http://world.std.com/~fwhite/ace/ http://www.csonline.net/bpaddock/tinytcp/default.h tm http://wearables.stanford.edu/ past postings on slashdot .. http://slashdot.org/articles/00/05/30/0314255.shtm l http://slashdot.org/articles/99/07/31/1654210.shtm l http://slashdot.org/articles/99/08/11/1820258.shtm l we'll never get enough tiny match box web servers.. they just keep getting smaller and smaller..

  40. destination: embeded web servers by Spaghetti+Woody · · Score: 2

    This sort of electronics is ideal for embeded web servers in hardware like printers, routers, and even household devices like dishwashers and refridgerators. They are mainly used to present status and alow for minimal device configuration. I like the idea, and do not know why these aren't used more in computer hardware. Heck, I would prefer http'ing to my printer or router to configure them rather than having to change dip switches or attach an async terminal. Heck, why not present status of the internals of servers via this route? The PIC controller could query status, and present it back to the user easily. Get the processor temperatures, the status of the fans, and even generate a hard reset remotely if necessary. Just a thought!