Car PC Hacks
Hack 56. Control Your Car PC with a Handheld Remote
Handheld remote controls are a familiar and easy way to control media playback and other applications in the car. Before the recent emergence of home theater PCs (HTPCs), there were not many hardware options for PC remote control. Now, with dozens of personal video recorder (PVR) or, if you prefer, digital video recorder (DVR) applications available, consumer demand for computer remote controls is at an all-time high. It used to be that all the remote controls cost over $100 and were primarily sold to business users for controlling PowerPoint presentations. Now, the average remote with an integrated mouse costs around $50. Now, I bet you're asking yourself, "Is there one standard for PC remote controls, just like keyboards, so that any remote-controllable program can be controlled by any remote control?" Well, if you have ever seen a coffee table with 12 TV clickers on it, you'll realize that even universal remote controls haven't solved that problem. But fortunately computers, in their infinite programmability, can be taught to listen to any remote you want and, with the right software, control most of the programs you want. 5.3.1. Understanding Infrared
The relationship between infrared and computers is actually a bit confusing, because there are several incompatible types of infrared. Your computer, laptop, or PDA probably has an infrared port. The infrared port on a Palm handheld can act as a universal remote control, using the slow, simple language spoken by remotes, television sets, VCRs, and DVD players. The high-speed infrared data-communication technique used by your PC, however, is designed for data transfer, not just control. Infrared data association (IrDA) is a networking technique that runs networking protocols such as TCP/IP over infrared signals. The infrared sender/receiver in your computer may only speak IrDA, and it probably can't listen to or speak the frequencies of many TV remotes. Remote controls don't speak anything as complicated as TCP/IPthey have a much simpler ones-and-zeros network protocol called ASK. Of course, ASK is just the alphabet, if you willeach remote speaks its own manufacturer-specific dialect on top of ASK. Also, there are actually two different infrared light ranges, which is why if you look at the front of a universal remote, you'll see that it actually has two small infrared LEDs in the front (one for each "color" of infrared light used). That's the long story. The short story is, don't get excited because your motherboard has "built-in infrared" and think that you can just connect any old IR receiver and start working. Your computer probably has an IrDA port, and you're going to have to buy and connect a separate IR receiver. 5.3.2. PC Infrared (IR) Receivers
IR receivers (Figure 5-2) provide your computer with the same "eye" you find on the front of a TV, VCR, or other controllable device, allowing you to use a remote to control the programs on your computer instead of a keyboard. Whereas a TV is hard-wired to respond to CHANNEL UP by increasing the channel, the software that comes with a PC IR receiver can usually translate the CHANNEL UP key to any button or keypress you want. Figure 5-2. Irman's IR receiver box
IR receivers for PCs usually come bundled with their own remotes, but many can accept the infrared signals from the remotes you have around your house. Because they expect your computer to be on the floor or generally not in view, receivers usually come with a remote "eye" at one end of a cable. You plug one end of the cable into the computer, then place the eye wherever it needs to be to receive signals. If your IR receiver is on a PCI card, the plug is usually a mini-jack connector. Otherwise, the connector usually fits to a USB or serial port. Irman (http://www.evation.com/irman/index.html) makes a great receiver box that accepts signals from almost any remote control, and a number of companies (such as Streamzap, at http://www.streamzap.com) sell remotes bundled with serial or USB receivers for the PC. Microsoft also offers a $30 remote bundle that has a USB IR receiver along with its new Windows XP Media Center software. While cheap, it is designed primarily to work with their own software, and because the buttons map to an unusual combination of keyboard presses, you'll need to write special software to adapt it to control other programs. The problem with the Media Center remote and other PC remotes is the same as with TV/VCR/DVD player remotesyou wind up having several of them, each controlling a different application. 5.3.3. PC Radio Frequency (RF) Remotes
While IR works great in a wide-open entertainment room where line-of-sight is not a problem, it has its problems in a car. IR is not interfered with by metal or other wireless signals; however, because it requires a direct line of sight between the remote and the receiver, you have to put the receiver somewhere in the open where the user can easily point the remote at it. And unfortunately, a location that is good for one user, such as the front passenger, may not be good for all the passengers in the back seats. Another major problem with IR in the car is that any time the sun hits the receiver, it becomes unusablethe sunlight simply drowns out the tiny infrared beam. Thus, it's important to mount the IR receiver where it won't be exposed to direct sunlight. In contrast, RF remotes are directionless and unaffected by direct sunlightbecause they use radio frequencies instead of infrared light, they work no matter where you point them. This makes them great for letting anyone control the music of the PC, regardless of where they are sitting in the car. Figure 5-3 shows some of the remotes listed below and their receivers, along with the Microsoft Media Center remote mentioned earlier. ATI and X10 produce excellent RF remotes. The recently released ATI Remote Wonder II (http://www.ati.com/products/remotewonder2) has an 80-foot range, which means your signal is strong enough to control the car PC two lanes over. I have used the original ATI Remote Wonder for both PC and home entertainment control (on my Macintosh Cubeit's cross-platform), and it has worked well in both environments. My company (http://www.carbotpc.com) shipped each of our first-generation car PCs with the X10 Lola media remote (http://www.x10.com/entertainment/remote_controls.html), as it has tons of programmable keys and is relatively inexpensive (less than $50). SnapStream's Firefly PC Remote (http://www.snapstream.com/products/firefly/) is a new RF remote that has excellent support for dozens of applications in each category, from DVD players to media players to karaoke software. It also has good support for a Windows automation and scripting tool called Girder (more on this later). Macally's compact remote control (http://www.macally.com/spec/usb/input_device/keypads.html), the KeyPoint, looks more like something you should have in a car, and it can be Velcroed to the dash or stashed in the center console. The KeyPoint is bundled with simple keypress-sending software that can be configured to press different keys depending on the program that is in the front. Figure 5-3. From left to right: the Macally KeyPoint, Microsoft Media Center, ATI Remote Wonder, and X10 Lola
The one drawback of the KeyPoint is its relatively short wireless range. Unlike the Firefly or recent X10 units, its signals may not penetrate the back seats if you have the receiver in the trunk. The solution is to run a USB cable to the front area [Hack #51] of the vehicle and place the receiver up there. You'll want to install the receiver around the middle of the car, so it's close to everyone who might use the remote. 5.3.4. Integration and Compatibility
With all these different remotes, what are the chances that they will work with your car PC or media player application out of the box? Not good. But there are several programs that help to bridge the gap and bring understanding between remotes and the programs you want to control. Girder (http://www.promixis.com) is an incredibly versatile Windows scripting and automation program that supports all the major IR and RF remotes out there and comes bundled with the Firefly. Through a plug-in architecture, it can work with any remote, including the X10 Lola, the ATI Remote Wonder, and most of the commercially available IR remote receivers, including the receivers built into video capture cards such as those from Hauppauge (http://www.hauppauge.com). Through various techniques such as simulated keypresses, menu selections, software messaging, and other scripting mechanisms, Girder can map remote button presses to the appropriate keys or sequences of keys or clicks that a particular program needs. Girder changes context whenever a different application comes into focus, so the control can be customized for all your applications. At $20, it is a must-have if you are doing any in-car software integration with a wireless remoteit just makes life easier. On the Linux front, the Linux Infrared Remote Control (LIRC; see http://www.lirc.org) has comprehensive support for a wide range of IR and RF remotes, and even Bluetooth phones acting as remotes. There has been some cross-pollination between Girder and LIRC (as they address the same problems on different platforms), and many hobbyists developing homebrew IR receivers and transmitters have written support plug-ins for both programs. If you're going to control your apps in a car with a remote control, I recommend the Macally KeyPoint for driver use, and any of the larger, many-button IR remotes (such as the Firefly, the ATI, or the X10) for passenger use. I strongly recommend that the Girder software be combined with any remote. |