250 likes | 265 Views
PicoWebTM is a low-cost and compact web server that combines cheap microcontrollers and NIC chips for affordable embedded internet solutions. This server is ideal for set-top boxes, cable/DSL modems, and other web-enabled devices.
E N D
PicoWebTM: A Full-Function Ethernet Web Server for Under $10 Embedded Internet Conference September 5, 2000 San Jose, California Bruce D. Lightner Lightner Engineering La Jolla, California E-mail: lightner@lightner.net URL: www.picoweb.net Telephone: (858) 551-4011
PicoWebTM “Design Space” • Under $10 Web servers • Minimal RAM (required for cheap Cs) • “Stateless” TCP/IP stack • Marriage of low-cost Cs and low-cost NIC chips • Inexpensive NIC chip cost drivers: Set-top boxes, cable/DSL modems • Not a “terminal server” • Not a “university toy” WSWS* * World’s Smallest Web Server
Realtek 10baseT ISA-Bus Card Crystal Magnetics 10baseT EEPROM PROM RealtekNIC Chip Price: $9 (Fry’s)
PicoWebTM $25 Breadboard PC NE-2000 Ethernet Card ISA-Bus Connector LED Atmel P* +5V DC Reset Program Port Serial Port 16KB Serial EEPROM *Atmel AT90S8515
PicoWebTM Server Minimum BOM 10baseT NIC (<$3) Microcontroller (<$5)
PicoWebTM Server Features • Complete full-function stand-alone Web server • Based on Atmel 90S8515 8-bit microcontroller • Ethernet controller on-board (10baseT) • 100% Flash-based (code/data/HTML/images) • RFC-793 compliant TCP/IP stack • CGI support (PicoWeb p-code/AVR assembly) • Update p-code/Web pages via network • Complete development environment (Windows)
PicoWebTM Block Diagram Atmel 90S85158-bit Controller Digital I/O 9-24 +5V DC Regulator VDC SPI Port RS-232 16KB Serial I2C EEPROM DB25 MaximRS-232 XCVR Realtek Ethernet Controller Ethernet 10baseT Interface LEDs Col Link User
PicoWebTM Server Hardware • Atmel 90S8515 8-bit microcontroller (8 MHz) • Realtek NE-2000 Ethernet chip (10baseT) • 8 KB flash program memory (~2 KB free) • 512 bytes on-chip SRAM (~256 free) • 512 bytes on-chip data EEPROM (~500 free) • 16 KB I2C serial EEPROM chip (~16 KB free) • 16+ free I/O lines • RS-232 serial port (with RTS/CTS) • Onboard +5V DC regulator (~30 mA used) • In-circuit programming port (PC parallel port)
PicoWebTM HTML/CGI Example Process FORM’sURL parameters <html> `pchk_port_url_parms.cgi` <head><title>WebLED</title></head> <body text=#000000 bgcolor=#c0c0c0> <center> <h2>Frey 'n Hell Light <font color="red">WebLED</font> v$$VERSION$$</h2> <form name=mfrm method=GET action="/"> <input type=radio NAME=4 VALUE=0 `?testport.cgi?0x04`CHECKED{}>on<br> <input type=radio NAME=4 VALUE=1 `?testport.cgi?0x04`{CHECKED}>off<br> <input type=submit VALUE="Set LED"> </form> ©1998-1999 Freyder, Helland & Lightner <br><br> <img src="steve.jpg" width=64 height=100 alt="Frey">  <img src="dave.jpg" width=64 height=100 alt="Hell">  <img src="bruce.jpg" width=64 height=100 alt="Light"> <br><br> The current temperature reading is `temperature.cgi`°F </center></body></html> Turn LED on(I/O bit 4) Conditional:Is I/O bit 4 on? Read/emit temp.(as ASCII text)
PicoWebTM Server Development • Atmel AVR assembly/PicoWeb p-code • Windows command-line based environment • GNU-based “open source” tools (avr-asm, gcc, ld, Perl, etc.) • User supplies HTML code, JPEG/GIF images • CGI support (user-supplied routines) • On-chip debug monitor (serial port/Web) • Fast turn-around (edit/build/load/run) • Program changes: <60 sec. • Web page/external p-code changes: <5 sec. • Restrictions? Yes! (relating to host -controller)
PicoWebTM WebCam Mattel“Fun” Camera RS-232 PicoWeb Server(with Java Applet) 10baseT Internet
PicoWebTM WebCam Java Applet Raw Image from “BarbieCam” Supply “Missing” Pixels Sharpen Image and Display
PicoWebTM Enabled Instrument Probe Ultra-Sonic Thickness Gauge RS-232 PicoWeb Server 10baseT Internet
PicoWebTM Enabled Thermostat RCS TR-15 HVAC Thermostat PicoWebPCB HVAC Controller Wall Unit Ethernet
PicoWeb Applications • Low-cost Web-enabled devices (TCP/IP) • Low-cost networked devices (non-TCP) • Web-enabled appliances/instruments • Home/business security/environmental monitoring/remote control • Web cameras (home/business) • Meter reading/control (utilities) • Routers, bridges, packet filters, “smart” switches • Streaming audio/video, teleconferencing • Low-cost, high-performance VPN’s • Wiring alternative to RS-232/485, USB, etc.
PicoWeb Security Issues • Existing: • Clear-text passwords • “Trusted host” list(s) • Future: • Secure passwords (public-key/tokens/challenge-response) • Encrypted “payload” data (as with SSL) • Levels of security (appropriate use) • Cost (no one ever wants to pay for security!) • How much is good enough?* *Let’s not forget that we’re talking about a C!
PicoWebTM www.picoweb.net Pricing? ??? Applications? Licensing? Orders?
16 Kbyte SRAM(programmer defined) Transmit Buffer(s) Receive Queue Col Link LEDs NE-2000 Ethernet NIC 4 10baseT Data 16 EthernetMACLogic PHY Address 5 6 ThinNet Misc. 15 n ISABus 20 MHzCrystal ~100 pins Config.EEPROM Quantity Price -------- ----- 100 $5.50 1,000 3.20 >10,000 ~3.00 Boot ROM (optional) (external)