LivingRoom.NET
Today, a coworker asked me about my living room setup. I figured it would be a nice change from the ASP.NET MVC / NHibernate series. It’s a little unorganized and rushed. I apologize.
I hate remotes. There is absolutely no reason to have more than one remote control. I also hate looking at wires and equipment with blinking lights in my living room.
Here’s what I did to fix the problem.
Layout
Just on the other side of the wall from my LCD TV is a large walk-in closet.
In the living room, in addition to my Sharp Aquos LCD TV, I also have Energy brand 5.1 surround speakers and a Logitech Squeezebox (now referred to as Squeezebox Classic) network music device. In the closet, I have my laptop, external SATA hard drive, Onkyo TX-SR706 receiver, and AT&T U-Verse set top box.
Electrical
If you don’t know what you’re doing, you could burn down your house, die or worse. Hire a professional. Also, if you live inside city limits, there’s probably some law or ordinance about having the work done or inspected by a licensed electrician.
Problem #1 – The walk in closet didn’t have any electrical outlets. Luckily, there’s one in the living room on the same wall. I ran a few feet of spare 12 gauge home electrical wire from the outlet in the living room to a new outlet in the closet. Be sure you know which side of the wall stud the outlet is on. You can’t easily run wire through a wall stud without destroying your drywall.
So, I added an outlet in the closet. Problem solved.
Problem #2 - Your standard home electronics power cord is not rated for in-wall use, or at least that’s what I read on the internet. I didn’t want a power cord hanging from my TV running down to an outlet. I needed to add an electrical outlet behind my LCD TV, which was mounted on the wall. I also wanted some sort of surge protection.
I went shopping online for something that would solve this problem and ran across this recessed low voltage wall plate with recessed power at Monoprice.com.
It’s actually a kit designed specifically for this problem. There are two wall plates included in the package. The one shown in the picture goes behind the LCD. It has a single electrical outlet plus a channel for low-voltage cables, such as speaker and HDMI cables. The other wall plate goes in the closet and is identical except the channel feeds down and the outlet is male. You provide two single electrical junction boxes – one for each of the electrical outlets. Between the two, use standard in-wall rated 12 gauge electrical wire.
This is not directly wired in to the home’s electrical. The two wall boxes are wired to each other only. You connect the male outlet to a surge protector, which is plugged in to a standard electrical outlet. Then, just plug your LCD in to the female side. You have powered your LCD, protected it from surges and lightning strikes, hidden the power cable behind the TV, and made a path through the wall for your low-voltage cables.
Pulling cable
I had help with this part. My little brother ran the speaker wires through the attic and down the walls while I pulled from below and connected everything.
We ran 14 gauge speaker wire to the surround speakers and the subwoofer. Since the subwoofer is powered, it uses an RCA cable. I soldered a male RCA connector to each end of the subwoofer speaker cable. For the speakers, I used standard banana plug speaker wall plates.
We also pulled some coax cable in to the closet and connected it in the attic to the rest of the cable TV lines with a splitter. .
The left, right, and center speaker cables run through the low-voltage side of the wall plate behind the TV.
Wall-mounting
I found some cheap plastic speaker mounts on sale at Best Buy. You get what you pay for. The package said they were rated for up to 25 pounds. I seriously doubt these things could support that kind of weight, but they worked for my surround and left/right speakers. The center speaker is a little heavier, so it just sits on a shelf below the TV.
For the TV, I bought a generic LCD TV wall mount at Fry’s electronics. It doesn’t tilt or pivot or any of that mess. It just holds the TV on to the wall, which is just fine with me.
Hardware
The laptop and the U-Verse set top box are connected to the receiver with HDMI cables. The Squeezebox is audio only and is connected with a single digital RCA cable. The receiver is also connected to the TV with an HDMI cable.
Both the TV and the receiver have RS232 9-pin serial management ports you can use to control the devices. The receiver also allows you to query its state – is it turned on, what’s the volume set at, what input is active, etc.
Just a note: You will need a null modem cable when connecting to a Sharp Aquos TV and a standard straight through serial cable when connecting to Onkyo brand equipment. Also, there is at least one person in the hardware department at the Webster, TX Fry’s Electronics who still knows what a null modem cable is. That is not the case with any of the area Best Buy or Radio Shack stores.
Since like most modern PCs, my laptop didn’t have any serial ports, I bought some USB serial ports from Amazon. Be sure to read the fine print and the comments. Most of these don’t come with drivers for Vista at all. I only found one that would work with Vista x64, and the install was a little hackish.
The only way to control the U-Verse box is with an infrared remote. It doesn’t have a serial port, the USB port is disabled, and even though it’s running WinCE, I couldn’t find a way in through the network.
I bought a USB UIRT and some stick-on infrared blasters off the internet to control it. There are all sorts of internet posts explaining where the IR receiver is located inside the U-Verse box. This is what worked for me.
That’s almost all of the hardware. I also have an RF keyboard, RF optical mouse, and an iPod touch that I use as my one and only remote control.
Software
All of the software is written in Visual Basic.NET with ASP.NET MVC and iUI, a javascript library for making web applications look and behave like native iPhone apps.
All of the device control is done with macros and commands stored in an XML file. For example, each button on the U-Verse remote is mapped to an array of 32-bit integers stored as hex strings. These hex strings represent the actual IR commands that are sent to the USB UIRT to control the U-Verse box.
TV guide information is downloaded once a week from the internet using XMLTV and stored in a SQL Server database on the laptop.
Here are some pictures of the front-end on the iPod touch and the setup in general.
Send me an email if you would like a copy of the xml file with the UVerse remote codes.