Friday, July 4, 2008

Controlling Audio/Video Equipments with your PSP

By using a controller device called the WACI NX (, you could turn on the TV, turn on the Xbox, switch to the correct input on the TV, and send the Play command to XBMC, all in one button press on your PSP.

So far, I have the ability to turn my lights on and off, and I have full control (play, stop, pause, and menu) of my DVD player, TiVo, and high-definition TV, all wirelessly from my PSP. I can also send commands to my pre-2.0 PC running Winamp to tell it to play, stop, and pause my music, or even browse my playlists.

To do most of the controlling, I used this tiny web-server control box called the WACI NX. It's great because it has an HTTP and FTP server and uses regular HTML to issue the commands, making it the perfect match for my pre-2.0 PSP, which does not support any fancy JavaScript or DHTML. The PSP talks to the WACI NX via WiFi through the network. In turn, the WACI emits the IR signal to the TV through one of my IR emitters, just as though I had pressed the button on the remote.

The WACI NX has a built-in IR Learner, so you can grab all of your remotes, learn all the button commands, and save them in the WACI to be played back and emitted later. You could even do macros so it sends out a sequence of button presses with a specified delay between each button press.

The pages it hosts are constructed using layers and tags. I put an image map on the graphics and created some HTML pages with special links, which are crafted so that when the PSP highlights and clicks on a spot on the image map, it instructs the WACI NX server to send an IR signal to my A/V equipment or triggers its relays to cut power on the lights.

The actual links are name value pairs going to a script I made on the WACI NX.

That script is written to execute the IR Send and then redirect back to the referring page. To change which command I run, I just change the URL string in my link.

I'm sure that if you rigged something up, you could do something similar with special software that runs on your PC. However, by using the WACI, I have a dedicated piece of hardware whose only function is to send commands to my stuff, no matter which interface I create to control it. Unlike Sony, which hides its protocols, the WACI NX has an open protocol that you can access from just about any web programming language. I can program using Flash, ASP, HTML, JavaScript, C#, C++, and Java. It's great for developers, and fairly simple to get started using the provided sample code. For more info on the WACI NX, you could check out WACI World (

No comments: