Archive for the ‘Home Theater’ Category
Tuesday, August 3rd, 2010
Russound RNET to Sonos Bridge (Arduino MEGA) – Part 2
While it was possible to use an Arduino duemilanove (Atmel 328 chipset) for this project (See Part 1), I was really limited due to the 2K of RAM. It was fun trying to optimize code to get things to run in that amount of memory, however, it caused me to not be able to expand on functionality and features. I have upgraded the project to an Arduino MEGA (Atmel 1280 chipset). This platform gives me up to 8K of RAM — which should be more than enough memory (famous last words).
A lot of people have asked me to explain what exactly I’m doing with the Arduino. It’s pretty simple. First, I’m using a RS232 shield (not shown) to capture RS232 commands from the Russound Controller. When a key is pressed on the Russound keypads I read the RS232 data and either ignore or react to the events. Currently, I’m looking for +, -, Next, Previous, Play/Pause, Menu events. I plan on using the Menu button to offer deeper content browsing menus (need to sniff the RS232 or wait for Russound to publish protocol). The + & – buttons will allow to scroll playlists and the rest of the transport buttons are self explanatory.
// Example RNET Next Track Event: F0 0 7D 7 0 0 7F 5 2 1 0 2 1 0 E 0 0 1 7 0 1 2A F7
Since the Sonos is a uPnP based system there is no IR or way to traditionally control it. Everything needs to be done via HTTP calls. I’m using an Ethernet Shield to translate the RS232 events to uPnP messages. The biggest challenge has been parsing the huge amounts of VERY VERBOSE SOAP-based notification messages. I parse the data real time, looking for strings that I want to store (things like playstate and metadata).
To make matters worse, Sonos is URL encoding XML data inside of an XML structure. So writing a simple XML parser is not possible. You have to look for things like &lt; for a less-than bracket (<). There were times I wanted to scrap the whole project because of this due to the limited RAM and string utilities — it really makes things a lot harder to deal with.
// Example of nested URL encoded XML: <e:property><LastChange><Event xmlns="urn:schemas-upnp-org:metadata-1- 0/AVT/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-10/
Thursday, July 22nd, 2010
Russound RNET to Sonos Bridge
Here’s a sneak peak at my latest project — the RNET to Sonos Bridge. All coded using an Arduino and Ethernet Shield. What this little device allows you to do is control a Sonos device using any Russound whole house audio system that supports RNET sources. It allows next, previous, play, pause and I’m working on playlist access and support. Current track metadata gets sent to these keypads as a multi-field message.
I’m pretty much code complete but I’m running into a few memory issues… The Arduino only has <2K of available RAM that I can work with. I have an Arduino Mega (which offers 8K) on order to see if that solves things. I think I can still optimize my code to make it work with the 328.
I’ll post more when I get it 100% stable.
Update: Got it working! With about 500bytes left of RAM on the 328 chipset… this was a fun little project. Below is a video:
Also running on E6 Color Keypads:
Friday, June 11th, 2010
Russound Sphere KLK-E6 Color Keypads
Russound has been my go to whole house audio solution for many years. They offer solutions at many different price points and options. They also integrate nicely with home automation systems like (Crestron, HAI, AMX, and Control4). Recently, MAVROMEDIA became an Authorized Russound Sphere dealer and have just installed the latest E-Series system with the new KLK-E6 color click wheel keypads. I’m throughly impressed — it’s like having an iPod in every room! The E6 keypads bring a full color display that makes it easier to read across the room.
The main E-Series controller is a very beefy unit coming in at 4u high and is packed with options from doorbell chimes to paging to the ability to expand the system to 48 zones. It also supports up to 12 sources which can be dedicated to specific rooms. For example, you have an iBridge dock (iPod dock) in a bedroom. You can reserve and display that iPod as a source for just that room.
If you are in the market for a whole house audio system that “brings an iPod to every room” then check out the Russound Sphere series!…
Tuesday, February 23rd, 2010
Wolf Cinema — Digital Cinema Projector
I was flipping through next months (March 2010) Home Theater Magazine and saw the two-page spread on this projector by Wolf Cinema. Just by looking at it you know this it isn’t just any kind of projector, no, this projector does constant-height projection from 1.85:1 all the way to 2.7:1 (gives you “true widescreen”). The projector uses a high brightness Xenon lamp which allows it to project onto screens 15′ wide. All this comes at a hefty price too — starting at $65,000 and go up to $135,000.
- Wolf Cinema…
Friday, January 29th, 2010
Niles MS220 – The Best IR Sensor!
It’s freaking 2010 and we’re still using IR, WTF? Oh well… if you are looking to find the most reliable IR Sensor to connect to your IR connection block (used in applications where you want to put AV components in a remote area but still have control), I highly recommend the new Niles MS220. I have used different units by Xantech, Russound, even Niles and the MS220 is the most reliable. How do I know? For starters, all the others I have used you needed to choose between CFL/Plasma friendly and not. You’d get weird noise (the LED on the sensor would flash) from stray “IR” signals. The MS220 utilizes a “smart” electronic circuit to filter out noise and works with all IR formats. Check out Niles Audio for more information.
About the archives
Welcome to the archives here at MAVROMATIC.
These are a collection of our previous posts. If you'd like to read about the latest and greatest, click here.