Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Hardware

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.
This discussion has been archived. No new comments can be posted.

DIY Tiny Webserver

Comments Filter:
  • 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.
  • 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...
  • 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?
  • I'm wondering whether this will hit +5 before a single moderator realizes it's a joke...

  • 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.
  • 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 [rotten.com]

    --

  • by Ungrounded Lightning ( 62228 ) on Sunday June 25, 2000 @11:42AM (#977381) Journal
    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.
  • Funny how the highly rated posts lately have been much worse than the troll posts. They should have an inverted "view by rating" setting.
  • I agree :) However the Java involved is client-side only, for interfacing with the switch.
  • by pjrc ( 134994 ) <paul@pjrc.com> on Sunday June 25, 2000 @12:34PM (#977384) Homepage Journal
    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 [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.

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

  • 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.
    --
  • There's a company witn similar (unreleased) products in the US called IQ in Vision. Their website is at www.visiqn.com [visiqn.com]. Get it?
  • they should build in some X10 circuitry and then attach them to every appliance made. automatic cat litter boxes, toasters, everything.
  • A server in the wind...

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

  • 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

  • Comment removed based on user account deletion
  • That's one strange place to vacation my friend.
  • 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.
  • 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
  • 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.
  • 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
  • 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.
  • What are you suggesting?! A penis penguin?!?!

    Please, stop your trolling, sir.


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird [rotten.com]

    --

  • The company is called axis - and their site is, surprisingly enough at: axis.com [axis.com].
    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.

  • The moderators are too busy being pleasured with their penis birds to moderate today, sorry!


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird [rotten.com]

    --

  • Yes, those were bad. I suspect CmdrTaco will himself be using a penis bird soon.


    <O
    ( \
    X
    8===D

    http://smoke.rotten.com/bird [rotten.com]

    --

  • 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
  • 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 [rotten.com]

    --

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

  • It's not that hard. Check out the Martin Melzer's Alya Project [nikocity.de], 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

  • 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

  • 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"

  • The only use of the entire article is to make people go "COOL". But it does the very well. Gotta love it!!

  • by ibpooks ( 127372 ) on Sunday June 25, 2000 @09:04AM (#977410) Homepage
    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.
  • it's a nice place but I wouldn't want to live here...

    send all visa's to :


    .oO0Oo.
  • 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
  • by MostlyHarmless ( 75501 ) <(gro.llehseerf) (ta) (tnedtra)> on Sunday June 25, 2000 @09:25AM (#977413)
    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.
  • 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.

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

To the landlord belongs the doorknobs.

Working...