Product Brief
Linux—A Toolbox for Internet Appliances
Jim Ready and Bill Weinberg7/14/2000 12:00 AM EDT
At consumer products shows, like CES and Comdex, and at technical trade shows, like LinuxWorld Expo and the Embedded Systems Conference, the buzz this year surrounds a new class of computing devices, the Internet Appliance, and a new force in the operating systems wars, Linux. The fusion of these hot technical categories promises to incite further IPO fever, and re-invent how consumer devices are developed and marketed.
A far more interesting and broader class of Internet Appliances comes from leveraging inter-networking technology to make familiar devices smarter. Wired devices benefit from enhanced connectivity, yielding new twists on existing products, like the Internet refrigerator, and spawning whole new classes of products, like Internet radios and streaming multimedia devices.
Almost any embedded application can be reinvented as an Internet Appliance by substituting readily available Web-enabling components for traditional user interfaces (e.g., a small Web server, TCP/IP networking, and physical connectivity like Ethernet or a telephone connection).
Web-enabled devices, rather than having a physical console or control panel, just plug into a local network or dial into the Internet. You see a Web site whose sole purpose is to control or manage the device. Embedding the Web in such devices lets you leverage standard browser technology on networked PCs and workstations, and offers more flexible interfaces you can run from the next room, the building down the road, or sites around the globe.
Applications that benefit from a little "Web-ability" are wide ranging, including wired and wireless office automation equipment, home networking devices, industrial automation controllers, and even building control/security systems.
Web-enabled devices running Linux are flexible and inexpensive, presenting an attractive proposition for cost-sensitive developers of consumer products. Costs are reduced because physical switch panels on the device are not needed, and because generic Web-based interfaces replace proprietary, client-specific computer interfaces (e.g., for Windows or UNIX-based X/Motif systems) that are notoriously expensive to develop and maintain.
Rather than building device-specific local control panels and application-specific client interfaces for multiple computing hosts, "headless" Web appliances can serve up Web pages and Java applets with the needed data displays and control inputs into platform-independent Netscape and Internet Explorer browser windows. Whereas embedding a local user interface, video controller, and drivers, and other interface components like embedded browsers and Java virtual machines can eat up in excess of 16 megabytes of memory, an embedded Web server-based interface can fit into under 200 kilobytes of RAM. This eighty-fold saving in memory space results either in lower cost of goods sold or more room for feature-rich applications code.
For example, unless you are a food "exhibitionist," you probably don't want the contents of your refrigerator to appear as a public Web site. You may want, however, to check the contents of your own fridge from a remote location (your office or the supermarket) leveraging the Internet over a Virtual Private Network (VPN) or a secure Internet-based interface (Extranet).
While you may want to e-mail video snippets of your daughter's birthday over the Internet, you are more likely to use an IP-based home Intranet to move those same pictures from your camera to your PC or to a local printing device. And in the office setting, while you might use a Web-enabled multi-function device to scan in documents for fax or email over the Internet, you are more likely to submit print and fax jobs to that machine over a local intranet.
Internet Protocol data can ride over serial and phone lines (SLIP and PPP) or over network media (e.g., Ethernet). Applications can count on the protocol infrastructure to monitor delivery (TCP/IP) or implement their own guarantees (UPD/IP). Internet Protocol also supports a series of higher-level protocols for specific operations:
- FTP (File Transfer Protocol)—Moving files over an IP network
- SMTP or Simple Mail Transfer Protocol—Packaging e-mail messaging for network transmission
- http (Hyper Text Transfer Protocol)—Downloading text, graphics, and resources for graphical rendering from a remote server
- SNMP (Simple Network Management Protocol)—Monitoring the health of networking and system resources.
Probably the first Internet Appliance was the now-famous (or infamous) MIT Coke machine. Ingenious (or lazy) grad students used FTP to check on the supply of soft drinks in the vending machines in another part of the building. Linux, with its UNIX heritage and compatibility, inherits these protocols and others, offering their robustness and interoperability to a new generation of programmers—embedded systems developers building Internet Appliances.
On the software side, TCP/IP is "expensive"—the necessary protocol stacks and other interface software can occupy as much as 200 Kilobytes, which while small compared to local GUIs (as above), can induce significant performance overhead, especially on low-end, inexpensive embedded processors. And, for applications with real-time requirements for predictable data transport, TCP/IP offers no guarantees of timely data delivery.
On the hardware side, while Ethernet interface devices are becoming more common in high-integration CPUs (e.g., Motorola's PowerQUICC devices), such interfaces and the requisite external cabling are expensive relative to other application-specific connectivity options. Moreover, environmental factors can render Ethernet inappropriate, such as noisy locations or physical abuse to cables and connectors due to mishandling.
There are a large number of domain-specific interfaces that can easily play a part in mixed-architecture intranets:
- USB (and earlier ADB) for interfacing with computer desktop peripherals
- FireWire (IEEE1394) for moving large data streams among multi-media components
- AC power modulation networks for lighting and electrical control
- RS-485 for electrically noisy point-to-point industrial control
- LON for a wide variety of applications.
New wireless technologies like BlueTooth promise to eliminate cabling challenges but raise security concerns.
Non-traditional networking environments represent a hierarchy of application needs and cost structures. As such, not every node needs a full-blown general-purpose network interface. To control the lights in a house requires a very simple AC circuit controller for each channel or light socket that communicates over the local electrical wiring to control unit, like those available at Radio Shack or Home Depot.
Every light socket need not be a complete IP-networked, Web-serving entity. Even the control unit is likely to employ non-standard interfaces to perform its function. But connect that device to a PC or home network gateway, and an office workstation or an Internet-enabled cell phone can become a universal home controller. On the shop floor, not every lathe or milling machine needs to appear as an independent Web device.

Figure 1: Linux provides all of the necessary ingredients for Internet Appliances to operate in a home networking environment.
- Scaling the Linux kernel footprint memory down to 0.5 megabytes
- Enabling "headless" embedded operation (no console, no disk)
- Integration "spindle-less" storage media—Flash memory for booting and run-time file systems
- Supporting high-integration CPUs and associated peripherals
- Bundling fast, robust IP networking and "Internet Toolkit" items like small Web servers embeddable daemons for FTP and Telnet, and compact programming shells like ash and sash.
Linux also addresses an Internet Appliance's demanding hardware support requirements with support for a wide range of devices found in and required by wired embedded applications, including:
- Serial Interfaces (single and multi-channel) for local connection, debug consoles, and PPP modem-based networking
- Magnetic and solid-state storage (SCSI, IDE, and proprietary interfaces)
- 10/100 megabit Ethernet network interfaces
- Multimedia/streaming interfaces, for sound, video, etc.
- USB, Firewire, and I2C connectivity.
Linux offers developers well-understood, standard user interfaces, promoting both the porting of existing software to Linux and the development of more general applicable software on Linux, regardless of underlying CPUs. Java has not fared well in the quest for true "write once, run anywhere" portability (WORA) because of dialect differences, API fragmentation, and mediocre performance. Conversely, the pragmatic, open, portable approach to Linux programming, and the anti-forking (version divergence) philosophy of the open source movement, as well as excellent performance make Linux the best candidate for the universal platform for next-generation applications.
The message for product development is to leave the platform and infrastructure to Linux and concentrate on where the most value can be added. The message for consumers is to look for "Linux Inside" and enjoy feature-rich products and a newfound level of investment protection.
Most Popular
Datasheets.com Parts Search
185 million searchable parts
(please enter a part number or hit search to begin)
Our technical library houses over 4,000 high-quality sponsored white papers, application notes, reference guides, use cases—all organized by company.




