Its been a busy few weeks since my last posting. I spent a couple Sundays working on the web interface and the streaming interface. It still needs quite a bit of work, but it is very usable now. I “released” it for Jessica to use about a week and a half ago.
Here is the software I ended up with:
- Fedora Core 4
- Music Player Daemon v0.11.5
- GMediaServer v0.8.0 (more on this later)
- LIRC v0.7.2
- ncmpc v0.11.1
- The web interface I wrote using a slightly modified version of the PHP class aptly called mpd-class.php
The hardware hasn’t changed much. I’ve given up temporarily on the Saitek speakers for now. I’ve also added an ALLNET ALL0271 802.11g card. I tried a few other 802.11g cards but this one has the Prism54 chipset and a firmware that works, almost out of the box. The only thing special I had to do to get it to work under FC4 was to take the WL54GT.ARM firmware file off of the CD that came with the card and drop it into the /lib/firmware directory on the machine and rename it to “isl3890”. After that it came right up with a 54Mbit link and so far zero problems. You can get other 802.11g cards for a little bit less, but this one was worth every penny for the headaches it saves.
Here’s what the unit looks like. Its on top of a DirecTV TiVo based DVR model R10 for size comparison (on my desk so I could have it handy while I did the development). And just to the right, you can see some of my ever present inspiration, the Einstein Action Figure.
The picture I took of the back of the unit didn’t turn out too well. I didn’t look at it before I moved the Box into its permenent home in Jessica’s den.
It has the basic I/O ports, a standard VGA output, an S-Video output, composite video, RCA audio, optical audio out, two USB ports, two 100Mbit ethernet connections, and a combo PS/2 keyboard/mouse port.
I kind of switched gears on the software a few weeks ago (the GMediaServer) because I found a good deal on a Netgear MP101 box during the “Black Friday” sales. The Netgear (and I would guess all of the other streaming media boxes) use a UPnP server to get their stream from. Its not too much more than an http stream, but it is a different protocol. I tried both ushare and GMediaServer, and I liked GMediaServer a bit better. So, I start up the MP3 box, start GMediaServer pointed at the directory with all of the MP3’s in it, power on the Netgear and it sees it without doing anything else special. Pretty slick, and no Windows software required. A big bonus since my Windows machine is turned off most of the time and Jessica uses a laptop. The other bonus is that it made the previously mentioned HomePod useful. It uses the same method to stream its music and it also recognized the GMediaServer’s streams without doing anything else special.
We have encountered one or two glitches with the Netgear MP101, though. On certain songs it gets stuck, pauses or skips. Not sure if its the MP3 itself or if its a network issue. So, I’ve also been re-working our wireless network at the same time. I added a Hawking HSB2 signal booster to our new Netgear access point, and now get near 100% power in the room with the MP101. Jessica will try it this week and if it works we’ll move the HomePod into the bedroom.
So, with all of this done now we have music in three rooms (her den via MPD), the front room via the Netgear, and the bedroom using the HomePod. I’ll be adding one more media server into our entertainment room as soon as the tests with the Netgear are done. Don’t know which one we’ll be getting for that yet. The I’ll also be adding a repeater into the Entertainment room since even with the signal booster added the wireless signal to the bedroom is very, very week and I don’t think it would be quite reliable enough. The bedroom and my den (where the main access point is) are on opposite ends of the house, and a floor apart. The bedroom is also on the second floor and there is also a brick chimney in the way, so a repeater is going to be only way we’ll really be able to get a signal up there.
I know this is a pretty big post and contains a lot of scattered information, so I’ll try to write a step-by-step guide for anyone who may want to build one of these things themselves. It has been a fun project, and from what Jessica tells me, its the type of system she’s been wanting for years, but no one makes anything like this. As to why no one makes anything like this, we have no idea. It would seem to us that there would be a pretty good market for a system like this if someone could build it a bit smaller and less expensive than we did. Cheaper shouldn’t be a big issue since all of the parts I used were off-the-shelf and retail. So, if a VC happens to be reading this, get a hold of me and maybe we could talk. If TiVo can put out a small box (basically the same parts) and make money selling them for $200 there is no reason this couldn’t be a good consumer gadget… I think the time is right for something like this on the market.
Oh, and here is a screenshot of the playlist viewer in the first version of the web interface. It needs quite a bit of work still, but it is fully functional. Once its a bit more polished, I’ll put up the code for it.
I also used ncmpc to replace the standard console on the first tty. This way, if you turn on the TV or plug a monitor into it this is the screen you’ll see:
This is also how LIRC is hooked in, so when signals are received from the ATI Remote Wonder they get sent here to control the unit. Its easier to use the web interface, though. The best part of having the remote is that while she is in her den, she can just hit the remote to do basic functions like play/pause, stop, next, previous and volume. I’ll include all my configurations for this later.
Oh, and for managing her music collection, I’ve used Samba. She attaches to MP3 Box as a network drive and can just use Windows to copy, etc. It makes a nice central storage location for copying songs to her portable MP3 player as well.