Você está na página 1de 5

Building a Linux-Driven Digital Picture Frame, Part 1

Date: Mar 18, 2005 By Seth Fogie.

A picture might be worth 1,000 words, but does that make it worth $1,000? If you want a digital picture frame, you can expect to pay anywhere between $300 and $2,000. Fortunately, options are available for those who like the idea, but not the price tag. In this article, Seth Fogie provides a very inexpensive alternative that can give you much the same effect, but for a fraction of the cost. For about $50, you can enjoy your very own Linux-driven digital picture frame.

NOTE Credits: The idea for this article came from a presentation at the Lancaster Linux User Group meeting. Thanks to their demonstration, I was inspired to design and build my own Linux-driven digital picture frame, which then led to this article. So...Thanks, LUG! The digital camera is quickly becoming a household necessity. While a few film diehards are still around, most people have found the convenience and cost savings of the digital image too attractive to ignore. Not only are digital cameras easier to use, but you no longer have to worry about bad photos. If you don't like it, delete it! Or, if you have the time and inclination, you can use photo editing software to manipulate the image to your liking. There are many other benefits; however, there's also one major disadvantage. The digital photo is hard to hang on a wall or put in your wallet. While it's true that you can set up a computer with a slideshow, how many people want to devote an entire system to showing off their photography? There are electronic devices that can display digital images. In fact, some televisions have built-in Secure Digital/Compact Flash slots that allow an owner to turn that $2,000 TV into a very expensive picture frame. For those consumers who are looking for something less costly, other dedicated applications range from the 10.4-inch $499 frame to the smaller 3x5-inch $150 frame. Be careful when buying these products, though; many of these plug-and-play solutions require a subscription fee to load them with new photos. I'm not a millionaire, nor would I want to spend that much money for something that I know can be built for less. So I decided to create my own digital picture frame for under $50. In addition, I wanted to create not just one, but several of these devices, and give them to my parents/in-laws. This meant that I not only had to create a cheap digital picture frame (DPF), but also make it easy to use, visibly acceptable, and fairly robust. Cost Breakdown The goal of this project was to create a DPF for less than $50. Meeting this goal was going to be challenging. Since I was under rather extreme financial limitations, I first created an outline of my expected expenditures:
q q q

Laptop: $3040 (including shipping) Stand/Frame: $58 Extra stuff (paint, screws, etc.): $3.00

Notice that this list leaves out one important piece: the operating system. Unfortunately, any Windows-based OS would have

increased my costs by at least $20 (Windows 95 retail on eBay). This left only one choice: Linux. The Operating System Given my limited funds, Linux was the only real option for an operating system. I could have installed DOS or Windows 95 from an OEM copy I had lying around, but technically this is illegal. Since these were to be presents for my family, I really wanted to avoid that kind of unethical conduct, although the thought of the BSA busting in on my parents was amusing! Deciding to use Linux was the easy part; the real question was which Linux. After a few minutes of searching online, I realized that the options were almost endless: Red Hat, Slackware, SUSE, Mandrake, and so on. Fortunately, the fact that I was most likely going to be using an old laptop helped dry up the pool of candidates. My first search was for "small Linux." The results were humorous. Damn Small Linux seems to be rather popular; but again, this was to be a family gift and I couldn't see myself explaining that one to my in-laws. I next searched for "Linux boot floppy," which proved to be more successful. I choose this search because my laptop most likely would not have a CD-ROM and therefore would require a floppy-based installation. This landed me at the floppy page of LinuxLinks.com, which lists more than 30 versions of Linux that fit on a floppy. While many of them serve a unique purpose, such as a bootable router or diskwiping tool, several stood out. I researched each version for a few minutes, but came to the conclusion that muLinux was my best option. First, many sites online were devoted this operating system and its uses; second, it seemed to be fairly popular with little in the way of negative feedback. So, I took a chance and went to the muLinux web site to learn more. According to the developer's web site, "muLinux is a minimalistic Linux distribution, suitable for old computers. X11, GCC, VNC, SSH, Samba, Netscape etc. are supported on additional add-on floppies. It can be installed from DOS/Win9x or Linux, without repartitioning." The mu in the name represents a millionth unit, or simply stated, is a way to say "very small." Figure 1 shows the muLinux boot screen.

Figure 1 The muLinux boot screen. One of the key requirements for my operating system was that it had to reside on the laptop. In addition, since I was going to display pictures, I would need an image-processing program and most likely the X Window System with some window manager. Not familiar with Linux? The X Window System (popularly but incorrectly known as "X windows") gives Linux a GUI into which a window manager can connect and create the windows/graphics most people expect from their computer. The muLinux web site had lots of information about the packages and components included with the operating system. I was able to review the /usr/bin directory (Linux program list) and found most of the normal executables. In addition, muLinux includes numerous add-ons that can be installed from 1.722MB floppy images, as shown in the following table. Abbreviation Product SRV WKS Server Extension (Samba, Smail, etc.) Workstation Extension (mutt, ssh, PGP, etc.) Description Popular services found on Linux Popular client programs

X11 VNC GCC TCL TEX PERL EMU JVM NS1 NS2

X Window system (VGA-16, fvwm95, Afterstep, wm2) VNC (zip, UPX, etc.)

All about X Very popular remote-control program

GCC reduced (make, nasm, yacc and lex, Fortran, Pascal) Create programs Tcl/Tk (with a lot of demos) TeX typesetting system Perl language and libc6 support Wine, DosEMU Java Virtual Machine (Kaffe compiler, sshd) Netscape Part 1 (SVGA XServer) Netscape Part 2 Popular program language Formatting of text files Great for scripts Emulation software Support for Java programs Required for SVGA and GUI browsing Ditto

As I discovered, part of the brilliance of muLinux is that the components of these packages overlap to reduce their size. For example, the VNC package includes an image viewer and the NS1 package includes the files needed for SVGA (good quality graphics) output. Hardware From my initial expenditure list, I knew that my laptop had to cost no more than $40, including shipping. As a result, my options were very limited. A cursory look at eBay told me I was going to have problems finding anything over a 100 MHz processor, much less be able to afford a color LCD screen or a CD-ROM. In addition, shipping costs added anywhere from $520 per order. So I stepped back and thought about what I really needed.

Processor
Assuming that my DPF would only have to load an OS and display images, my processing requirements weren't particularly demanding. I wanted at least a 486 processor, but according to the muLinux site, even an older 386SX might work. Converting this to actual processor speed means that I would want a 33100 MHz processor, with a higher number being better.

RAM (Memory)
RAM was a more significant problem. Most display programs, such as Windows 95 or even the X Window System (Linux) would require at least 8MB. While it's possible to load a GUI-based OS in less than 4MB of RAM, any graphics would be horribly slow and the chance of failure was very high. As a result, I figured that my laptop would need at least 8MB, with a

preference of 16MB or more.

Hard Drive
Nowadays, most people take hard disk space for granted. Unless you're downloading movies or MP3s, the standard 4080GB is more than most people will use in a life time. However, space wasn't always this abundant. Even as few as eight years ago, hard drives had less capacity than the standard CD-ROM (600MB). My picture viewer would be storing digital images locally on its drive. This requirement meant that I would need at least several hundred megabytes of space for storage. As I thought about the footprint of muLinux, in addition to its swap space, I concluded that 400MB should be more than enough space. My calculation was based on the assumption that anything over 2,000 pictures would be overkill. Given the fact that the pictures would have to be reduced to 640x480 (standard display for older laptops), each image should be no larger than 100KB. Doing the math, 2,000 pics × 100KB = 200,000KB (about 200MB). Assuming that each picture was displayed for one minute, it would take over 33 hours just to run through one cycle!

LCD
A digital picture frame wouldn't be very successful without a color LCD display. Fortunately, most laptops include at least some type of color support. The twist is that not all LCDs are the same. Available colors, quality, angle of view, and more can be affected by the LCD type. The following list outlines the terms/LCD types you need to be familiar with when looking for a DPF candidate:
q

q q q

Active matrix. TFT LCDs use active-matrix technology, which uses 14 transistors to control each pixel on the screen. Passive matrix. Less costly than active-matrix types, this type of screen uses a grid of wires to display colors. TFT. The most common, but also the most expensive. The term TFT is often used interchangeably with active matrix. DSTN. This type of passive-matrix screen is relatively cheap to create and is found in low-end laptops. Generally, this type of screen supports fewer colors than TFT LCDs. VGA and SVGA. The video graphics array (VGA) defines the resolution of the display and the number of supported colors. VGA typically supports only 16 colors at 640x480, whereas super VGA (SVGA) can support a much larger resolution/color pool, as defined by the amount of video memory and screen type.

As you can see, selecting a laptop screen is not a simple process. Be sure to check the specifications of the desired laptop before making a purchase. For the most part, 65,536 is more than enough colors for a DPF. In addition, it's important to note that muLinux supports monochrome, VGA, and SVGA output. The inclusion of SVGA drivers with the NS1 package is one of the key reasons that muLinux attracted my attention. Without it, the images would be stuck at 16 colors.

Accessories
While the exact visual design was still up in the air, I could expect that I would need some paint, Velcro, and some sort of frame. However, before purchasing any of these items, I would need to have the laptop in hand and working. In summary, I was looking for a laptop with at least a 33 MHz processor, 400MB of disk space, 8MB of RAM, and a color screen. A CD-ROM would be nice, but not necessary. I was once again ready to start looking on eBay for a laptop. NOTE muLinux is not the only option, of course. The following table lists the specifications from two similar DPFs created by members of the LUG.

Specification Keith Zimmerman Jamie Filson Processor RAM OS version Hard drive Pentium 90 8MB Slackware 10GB Pentium 90 16MB Red Hat 5GB

Purchasing the DPF I was ready to spend money. However, after looking on eBay for 15 minutes, I started to get a little perturbed. There were hundreds of old laptops online and I found many that fit my requirements. The problem was that they all wanted $1520 for shipping. I was about to give in and cheat on my bottom line when I found the perfect post. "Laptop Blowout!!! 4 Dell Latitude XPi P75D PPS"and only 18.50 for shipping! That would mean that each laptop would share the shipping cost, for a respectable $4.63 each. Now if I could only win the bid. It's not often that I get a chance to snipe (as it's called), but in this case I needed the laptops and the price was right. To make a long story short, I won the bid at $102.05 with eight seconds to spare and only seven seconds ahead of another sniper. In other words, I was now the owner of four laptops at $30.14 each...well within my budget. Of course, the story doesn't end here. I had failed to notice the small line that stated "AC Adapternot included." So, with one more return to eBay, and $62.00 later, I had four complete laptops for a total price of $45.59 each. Still within my budget, but this didn't leave much room for accessories! NOTE When purchasing a laptop on eBay, pay close attention to the small print. Most sales don't include an AC adapter, and many don't include a hard drive. Also, be sure that the laptop is being sold in working condition. Old laptops are often sold for parts. Now that we've spec'd out the parts and purchased them, the next steps will be to install Linux and assemble the pieces. We'll continue with those steps in part 2.

2005 Pearson Education, Inc. InformIT. All rights reserved. 800 East 96th Street Indianapolis, Indiana 46240

Você também pode gostar