VNC Server for Toasters and Light-Switches
An anonymous reader submits: "How about using VNC to configure your toaster, microwave oven, or even your light-switches? Thanks to Adam Dunkels' micro-VNC server it is now possible to run a VNC server even on really small embedded 8-bit microcontrollers commonly found in such devices. The idea is that even low-cost devices that don't have a screen or graphics hardware could have a GUI, accessible over the network. To show that the server can run with very small amounts of memory, there is a demo server running on a Commodore 64. But the real question is: how would want to 'configure' their toasters using a GUI?"
Yeah, back in the day we used to say "Lets install Linux on a toaster!" and it was a joke.
But now someone actually took it seriously, and look whatcha dun!! You should be ashamed!
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
Scares me to think how fast it'll fall...
Now all i need is VNC for my microwave and oven, and i can control my whole kitchen from my computer.
How many GUIs does it take to screw in a lightbulb?
But why? The last thing I want is someone hacking my coffee maker.
Wouldn't it make more sense to draw the gui on the client machine, rather than putting beefier hardware in the toaster so it can send you bitmaps?
After all, your desktop machine will always have more computational ability than your toaster (the senient talking toaster from Red Dwarf notwithstanding).
A legparnasom tele van angolnaval.
So, when your toast is done, will there be a "pop-up" window telling you that? Sorry. Couldn't help it.
MadDad32
Quoth the page:
The pages you are currently watching are served by a web server running on a an Ethernet equipped 6510-based system with 64k RAM running at 1 MHz (a Commodore 64 with a TFE cartridge). The same system also exports two displays using VNC and the small uVNC server software.
Other servers have come down like they were Commodore 64's, but this one actually is one!
This is Very cool indeed. Imagine a simple VNC controlled front end for your VCR so you can configure it to record your favorite show while you're away.... Or Turn on your A/C from work because it's going to be a HOT afternoon. (Sure could use that today).
And straight from the web page ...
This Server
The pages you are currently watching are served by a web server running on a an Ethernet equipped 6510-based system with 64k RAM running at 1 MHz (a Commodore 64 with a TFE cartridge). The same system also exports two displays using VNC and the small uVNC server software.
Please note that this is work in progress and far from something finished.
Its not going to get finished today!
-- Knowing too much can get you killed, but knowing who knows too much can make you rich.
OK, this is very cool and I can't count how many projects I would love to do with this...
That being said, is this smart?
Picture: 10 years from now, some company sells one of these things, and it takes off. Then somebody finds a nasty security hole that fscks the toaster up. Would you like it if suddenly you find your house burnt down by some script kiddie doing a port scan?
Everything connected to the net is not always a good idea.
Objects in the blog are closer then they ap
Slashtoasted?
C64's weren't built to withstand a ./ing....
But they hold up better than I would have thought, nevermind it's down.. (remember that streaming audio one a while ago..?)
Tibbon
tibbon.com
....I thought the title was VNC Server for Toasters and Light-Sandwiches.
But then I realised there's no such thing as a free lunch.
Correct me if I'm wrong, but VNC is a screen-sharing or remote-control system, ne? On a small device where memory, processing time, and complexity is at a premium, why would you waste effort rasterizing a screen image so that VNC can ship it over.
Wouldn't it be a lot easier to have a tiny HTTP server which sends out an HTML file and processes the results? This seems akin to someone scanning in a print-out of their email as an attachment instead of sending an email directly... =/
Hire a Linux system administrator, systems engineer,
.. there WAS a demo server running on a C64. Now there's just a smoking lump o' plastic surrounding a the burnt out husk of a 6502.
But the real question is: how would want to 'configure' their toasters using a GUI?"
The real question is who (not 'how') here would understand pig latin..
Rapid Nirvana
...there is a demo server running on a Commodore 64. Haha... not anymore but seriously (well not really) I would think that that commodore 64 was slashdotted by the article poster before it even got to slashdot.
can't sleep slashdot will eat me
I think that on the residential scale this is all a bit silly beyond the fun/cool hobby level.
However, there are lots of legitimate industrial/commercial uses for these applications. Take, for example, a restaurant kitchen. You want the cooking/prep time to be as fast as possible so that you can move people through & have more sittings. A waiter with a wireless touchpad could automatically send instructions back to the kitchen incuding special instructions for browning toast to the right level, rareness of steaks etc... Add a few bar code readers to the appliances and you could automate a lot of the routine process while still accounting for the need to customise preparations down to the unit level.
When you have nothing left to burn you must set yourself on fire
Call me crazy, but all the light switches in my appartment, my parents house, and damn near everyone I know doesn't have, nor do they need a 8 bit microcontroller. Anyone care to post a link to a ordinary light switch that has and utilizes this?
As for the idea, it's not that bad at all, with one small flaw that I can see. It's great if I can access my toaster from my desk at work, but if I have to leave a piece of buttered bread in there all day just so it's toasted but soggy when I walk in the door, I'll just start making it when I walk in.
Sure, so one could turn on and off any light switch in the house, but think about trying to control a toaster on the network...
Will the network actually put toast INTO the toaster? Or will I still have to walk 20 feet to the kitchen just to put the toast in myself, only to walk back to my computer to tell the toaster to turn on?
Besides, we'll have to invent a new lightbulb joke about computer geeks forgetting how to change a lightbulb...they only know how to turn it on and off.
A Commodore 64 isn't really a small system, and therefore isn't a great demo. Truly small embedded systems have on the order of a kilobyte of ROM and a hundred bytes of RAM available, not 64KB.
Examples you might be familiar with include things like the BASIC Stamp and other PICs. Your toaster's built-in logic is going to resemble these much more closely than in does a general-purpose 8-bit computer.
--
Twoflower
This is an odd article to see after a marathon battlenet session.
:)
Maybe someone could hack something using the GBA compactflash adaptor, the link cable and VNC?
Techsupport: Hi, how may I help you?
User: Hi, I got your ToasterVNC, and when i tried to install it on my toaster, all hell broke loose!
Techsupport: Can you describe what happened?
User: I opened the box, put the CD in my toaster's CD-ROM, pushed the lever, and a few minutes later the whole thing started smoking.
Techsupport: I think I know what the problem is. Take the whole thing back to the store, and tell them that you got an ID-ten-T error
User: Thanks!
oops, that's the CLI. I don't know about the GUI version.
A device that lets you program a VCR to let you record shows when you aren't there! What'll they think of next, a device to turn your lights on and off while you're away perhaps?? What a glorious technological revolution is ahead!
This Server
The pages you are currently watching are served by a web server running on a an Ethernet equipped 6510-based system with 64k RAM running at 1 MHz (a Commodore 64 with a TFE cartridge). The same system also exports two displays using VNC and the small uVNC server software.
When will the Slashdot editors learn that what they are doing to servers is totally rediculous? Will it take a lawsuit to stop the slashdot effect? Why shouldn't this poor machine be mirrored?
This is like the third time today. Blah.
-molo
Using your sig line to advertise for friends is lame.
Linux will never make proper toast
without Pantone for calibration.
I like my toast darker than my rommmate does. We could set up personal preferences for the toaster and have 3 or 4 'personal setting' buttons on the toaster. It's not worth putting a full gui on the toaster, but you could put some memory into the servo settings and have it controlled over the 'net.
The 'pop up window' when your toast is ready idea is, at worst, a good pun -- but which machine to pop-up the message to could be included in the 'personal prefs' button.
Then, of course, there's the original purpose of the 'MIT internet pop machine' -- which was to notify you of when the machine was out of pop, so you could save yourself a (fruitless) trip to the machine (which was a good distance away from the computer labs)..
If the toaster says it's in use, you can spend a couple more minutes surfing before you go down to make breakfast (or sneak in and steal the toast from your roommate when it's done).
Then again if your roommate is cute, and likes to make breakfast in sensuous undies, you might want to set the toaster to notify you when {s,}he hits the appropriate prefs button.
The possibilities are about as endless as the possibilities of attaching a video camera to a web server (I mean, who'd really want to do that?).
Free Software: Like love, it grows best when given away.
The most popular 8-bit chips today are the 8051 (multi-source), AVR (atmel), PIC (microchip), and HC08/HC11 (motorola). Cost is usually the primary consideration, and projects with volumes of 20k/year and up, it makes a lot of sense to do some or all of the project in assembly language so you can get the code into a smaller chip that costs $1 less. Multiply that $1 by 20k (or whatever production volume is expected) per year over the life of the product.
At the beginning of many projects, there's usually a list of "got to have" features, and "would be nice to have" features (as long as they don't add cost or significantly delay the product release). A good designer (and there are many) will ask a lot of questions about the actual application and make changes to the feature set that still meet the customer's needs (often times an improvement) but allow the code to be smaller, run at a slower speed (increase battery life or reduce the cost of the power supply circuitry), and use less RAM.
It's a very different world from PC software. The 8051, PIC, AVR and HC08/11 are available in many different flavors with different mixes of built-in peripherals and different amounts of code and ram memory.... and an amazing amount of work goes into making VERY efficient code so it can fit in a less expensive chip. On top of that, most products that ship with those 8-bit chips ARE UNDER WARRANTY for years, and a bad bug in the firmware usually means replacing the product for everyone who's effected.
I just can't see a VNC server on that "got to have" feature list, and I can't see it not increasing the cost enough to get quickly axe'd from the "nice to have" list. Even using an additional 128 or 256 bytes (yes, bytes, not Mbytes, not kbytes, but individual bytes) will almost certainly push a "normal" 8-bit microcontroller project up to a chip that costs $1 to $2 more. That's a lot of money when you go into production and start shipping thousands every month!!
PJRC: Electronic Projects, 8051 Microcontroller Tools
See this link. Makes a lot more sense than hobbling the device's capabilities to save a few bucks.
If we run it on the coffee machine, will we have to run the JAVA version of the VNC viewer?
There's just no excuse for cooking your bread twice in completely separate processes. And don't even get me started on bagels; boil, bake, then toast? Wake up, people!
I once had two computers sitting next to each other, but was getting sick of hopping keyboards when going one from another. What I ended up doing was using VNC to link the two computers similar to how a KVM works. Instead of watching the update on the client computer, I'd watch the monitor on the host computer. It was neat, it was kinda like rerouting my keyboard and mouse on one computer to the other! Pity, though, I wish I could find a version of VNC where I can turn the image signal off. When using it like that, I don't need to waste the bandwidth/runtime. Anybody know of a flavor of VNC (or another App for Windows) that does that?
The cool thing is that because it's VNC, doesn't matter which OS I'm using. So my computer (or computer like device, heh.) could benefit from this type of interface as well. It'll be an interesting day when I can get my TV to work the same way.
Earlier today, Sen. Ernest Hollings (D-Disney) announced legislation to allow copyright holders to use otherwise illegal hacking techniques to disrupt toasters, light switches, and other devices used by individuals believed to be pirating copyrighted works.
RIAA chair Hilary Rosen hailed the effort as a milestone in attempts at combatting Internet piracy. "The development of Internet-enabled toasters offers us vast new opportunities to hit the pirates where they live. 'Smoking out the bastards' will no longer be a figure of speech. It will be a reality.'"
my toast allready takes to long to pop up without a microprossessor involved.
im waiting for windows TE (Toaster edition)
An anonymous reader submits: "How about using an external control, made of plastic or metal, to configure your toaster, microwave oven, or even your light-switches? Thanks to Adam Dunkels' "dial", it is no longer necessary to run a VNC server on really small embedded 8-bit microcontrollers commonly found in such devices. The idea is that even low-cost devices that don't have a screen or graphics hardware could have a physical control, like a GUI only in 3-d space, accessible right on the device...But the real question is: who would want to 'configure' their toasters using a physical dial?"
-------------------
This is my SIG. There are many like it, but this one is mine.
This is for an 8051 8 bit processor. When you talk about cheap when manufacturing toasters and microwaves, $1 is a lot (multiply by hundreds of thousands or even millions of toasters and microwaves). In the automotive world, $.50 difference in parts is enough to justify a years worth of engineering. Many consumer products have similar volumes and price points.
science is a religion
I'm sure an Emacs mod would be written for this, and you could configure your toaster in your .emacs file!
(setq toaster-name "Kitchen4Slice")
(setq default-toast-color "Medium")
(load-library "toaster-mode")
(defun toast-lightly ()
"Light Toast, No Butter"
(interactive)
(toaster-mode-current-slice)
(toaster-mode))
http://iratepublik.com
Oh wait . . . never mind.
Guys,
Please stop slashdotting my C64. I am trying to watch some streaming video and play Counterstrike.
Sincerely,
Junis in Afghanistan
Do you even know anything about perl? -- AC Replying to Tom Christiansen post.
How about customer service?
Toast isn't browning right? Reflash the portion of EEPROM that governs the relationship between control setting and level of brownness. Now, you don't have to return it to the store for warranty replacement.
There are lots of little adjustments that now have to be done by a service person onsite that could easily be done by remote control if the appliance is Net-enabled in some manner.
Of course, if security isn't part of the Web setup, it isn't just service personnel who'll be inside your kitchen appliance.
Tech Public Policy stuff
I'd probably have to post something like the 50th Anniversery of the Barbie Doll to get posted here.
You need a FREE iPod Nano
With every new toaster I go through at lot of bread trying to find just the right "Darkness" setting. With this, I could just have a web-based slider with a picture of a piece of toast that gets darker or lighter as you move the slider. You could even have a drop-down with pictures of Bagels and Pop-Tarts (after all, they toast to different darknesses on the same setting). The possibilities are endless!
It would be best to have an "appliance server" that is capable of handling the communications to the devices and generating interfaces from standard libraries created for appliance control. Then we could have an extremely lightweight communications protocol for the appliances, as they would only have to go so far as to detail their features to the server, and it would construct an interface for them.
This makes much more sense to me in the long run, as a central house server would be able to coordinate activities of numerous devices simultaneously with simple If/Then/Else statements. If you wanted coffee & toast in the morning, you could write something like this:
Beyond that, as appliances become more functional (refrigerators that know what's in them), a central system like this could also accept device notifications, telling you there is no milk or that the oven's timer went off.
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
As if I don't have enough to worry about at work, in twenty years or so everything is going to be on the freaking internet. I'm going to wake up at 4 am to repeated flushing noises because a 1337 h4>0r has r00ted my Microsoft Toilet (tm). And it's going to take hours to cook dinner because the oven runs Java.
'scuse me. I think someone just 0wned my cellphone.
Actually, I spent half of a summer working on a microcontrolled toaster.
It has an 8Mhz Microchip PIC and 1K of RAM. The design intent was that you set the knob to the color toast you wanted and it always came out that color, no matter how recently/how much the toaster had been used. The thing even compensated for variations in line voltage. I think it's actually patented too. It looks like a normal 4 slot toaster though, so you could have used one and never even know it.
BTW, I made a LOT of toast that summer.
Life is too short to proofread.
Maybe on a Beowulf ClusterFuck of C-64's.
... the story of the King and the Toaster. Good to see that heads will roll.
Been wanting to setup a dedicated VNC station. Trying to get DirectFB and DirectVNC to work. Not much success, but after seeing the screenshots, this looks ideal for a central VNC console. And with VNC supported on almost everything, including some toasters would rock. (BTW, we call some network appliances toasters at work, aka, a simple server with no internal disks, throw away, replacable.)
I can see allot of potential for uses of vnc and directfb, and micro-vnc embedded appliances. (Software KVM, VideoCapture, Security, Service controls, Monitoring applications, etc..)
BTW, Gentoo has built in support for DirectFB. Now if DirectVNC just came preconfigured also...
Linux on a toaster exists. But what's cooler is toaster for Linux.
The IPic won the 1999 Slashdot World Smallest web Server title. It is based on the world's smallest implementation of a TCP/IP stack(256 bytes) -- which is implemented on the PIC (a small 8-pin low-power microcontroller) .. using a mere 512 words of program ROM. At the time I thought this is great. At a dollar a chip, we will have this in all our toasters and light bulbs in a couple years but it has been three years and I have not heard of it since then. So, as noted in yesterday's Globe and Mail - After two decades of hype about 'smart homes' with computerized brains that control lights, stoves and stereos, The Clapper still rules the living room.
Today's vices may be tomorrow's virtues.
Either the 6035 or the upcoming 7135 - Integrated Palm and cellphone. Install PalmVNC and you're ready to go. :)
retrorocket.o not found, launch anyway?
http://dunkels.com/adam/tfe/
They explain how they built an ethernet cart for the C64 (unenhanced) and how they not only got a webserver running, but it streams audio, LIVE! Of course, it's sampled at 1 bit 8khz, but still, it's LIVE STREAMING AUDIO!
The real question is now how, but who. :-)
It's funny though, I went toaster shopping the other day and found an interesting new (new to me...) trend: cancel buttons. No shit. Like lifting the lever to get the toast out early would be quaint.
I'm gonna write 'ESC' on my toaster's cancel button. Much cooler.
Build stuff. Stuff that walks, stuff that rolls, whatever.
I've done some embedded developing, and I have put an applet on a webpage of a TCP/IP enabled 8bit controller. It opens a connection back to the server and displays real-time data. This is much less overhead and the communication protocol separates the GUI from the application code somewhat. The way I see it, VNC is overhead. (It remains cool however).
"It's too bad that stupidity isn't painful." - Anton LaVey
The rabbit semiconductor module that powers my etch-a-sketch is about equal in power to an original Mac. Getting a server on a C64 is impressive
Free cell phone tracking
...in which case it will be a pop-under.
Infuriate left and right
Maybe it would be more useful for the toaster to control the Commodore 64, rather than the other way around. You would need a 24 slice toaster; 16 slices to select the address in the 64K memory, and 8 slices to do the pokes, and display the peeks. Just like the good old days with toggle switches on the front panel.
So, what if they put it in a curling iron? If someone hacks your home network, will they turn the curling iron remotely so that your house burns down?
Who has stock in this idea? Tim Burton? :)
This is one big conspiracy to make breakfast time look like something out of Pee Wee's Big Adventure.
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
The price never made it down to $1, but it's still around, used for building automation and such. The Echelon crowd keeps trying to promote for home automation (see Home Appliance Control Using J2ME? Technology with access from a Wireless PDA ) but nobody is buying.
Not to be picky, but that's a Commodore 128!
Control the cooking of your turkey while you're at work. (Well, you can't baste it, but...) Or jerky. Cook your chili. (Well, you'll scorch it, but still...don't have to be there!)
Or how about a furnace? Or water heater? Remote diagnostics and maybe even adjustment even for older hardware.
There's lots of appliances that could be better with internet connectivity. Toasters are probably not among them, however.
Acorn created a toaster expansion that would slot into your RiscPC. It was just an example of how powerful the 'slice' system was (impossible to run out of space in the machine), but it came with GUI to control it including a "browning control" widget. I can't find any pictures of it, though there is one of the RiscPC pizza oven and someone else uses it for his espresso machine.
Phillip.
Property for sale in Nice, France
The old 64 had tons of memory! You had to work really hard to fill it unless with junk and useless graphics. Now they are using it to illustrate that a program can fit into a toaster?
Well, they just to call one of the models "the bread-can" or something like that (in Swedish at least), so I guess it kinda follows suite...
- X10 (I know... farging pop-unders!) addressable Thermostat thingies..
- The X10 Firecracker (wireless transmitter) on your PC..
- A web server running the Perl libraries for X10.
- A WAP-based web page for the cell phone...
So, fire up your cell phone... enter a temperature... and POOF! The A/C is on!Pretty cool.. My old boss has had that for about 3 years now.
T
---- It puts the lotion on its skin or else it gets the hose again. It does this whenever it's told.