Do you remember the
Contiki desktop OS, an Internet-enabled graphical operating system for constrained systems? I have just ported
Contiki to the 8-bit Atmel
AVR microcontroller, which is commonly used in various kinds of embedded systems, and have set up a demo server running the Contiki AVR software at http://contiki-demo.sics.se/.The server runs the entire Contiki system including the web server and web browser on the Ethernut
hardware that consists of an 14 MHz AVR Atmega128 microcontroller, 32 kilobytes of RAM and an RTL8019as Ethernet chip. The board does not have a screen connected to it, nor any on-board graphics circuitry,
but uses the VNC remote display protocol to make it possible to interact with a the device through a virtual screen over the Internet. The entire Contiki AVR system uses
slightly more than 20 k RAM, of which 6 k is used for the virtual display 8 k for the web browser. The code and the web pages are stored in the microcontroller’s on-chip flash ROM.
I don’t see the screenshot, maybe your microcontroller just couldn’t handle the load .
Oh BTW, imagine a beowulf cluster of these things!
Yeah, it is under quite heavy load right now as it has served a couple of thousand page requests a minute ever since it was linked on the frontpage of Slashdot.
Each index.html page load actually causes 10 more HTTP objects to be downloaded – the contiki.css style sheet, the screen shot, and the 8 PNG graphics that make up the border around the menu to the left. The server has been configured with a maximum of 40 simultaneous connections, and will start dropping incoming requests when it runs out of connections.
Still, it works quite well I think! Also, the VNC server works well even during the slashdotting. I was actually just able to do a little bit of web surfing from it 🙂
Oh BTW, imagine a beowulf cluster of these things!
Har-dee-har-har…damn that’s funny…NOT
Oh BTW, imagine a beowulf cluster of these things!
Har-dee-har-har…damn that’s funny…NOT
I find it quite amazing what can be done with this system. I’ve read about Contiki before here on osnews and I must say, this really has my full interest in the workings of this system. I think I’m going to toy with it a bit too.
PS: I can’t seem to access the server right now.
It just worked not, now it does again, and I find it really amazing! Serving webpages with a 8-bit computer, running a VNC server from it, and that all in such a tiny amount of memory!
I’ve got it running on VICE – unfortunately, VICE doesn’t seem to have a TUN/TAP connection to the outside world, so I can’t surf the net via Contiki. Shame that.
Great job, Adam Dunkels – keep it up!
I just had this thought – this sort of automation would probably fit in very well for the likes of the International Space Station – using uVNC to control the microcontrollers, etc. Ever think of contacting them about support and trials of the software? You might find yourself with some very enthusiastic fans.
I’ve got it running on VICE – unfortunately, VICE doesn’t seem to have a TUN/TAP connection to the outside world, so I can’t surf the net via Contiki. Shame that.
There is TFE (The Final Ethernet) emulation under development for Vice, so it might actually soon be possible!
I just had this thought – this sort of automation would probably fit in very well for the likes of the International Space Station – using uVNC to control the microcontrollers, etc. Ever think of contacting them about support and trials of the software? You might find yourself with some very enthusiastic fans.
I don’t have very high hopes for something like that, as there are completely different demands on software that is to go up in deep space than on uVNC. I’m not saying that my software is particularly bug prone or badly designed, it’s just that it hasn’t been developed in a fashion that allows the kind of auditing required by a deep space project (i.e., there are no formal proofs of code correctness and such). Also, they can afford much more expensive hardware than what uVNC is intended for…
Thanks for all your comments!
/adam