Lots has been going on over the past few weeks… final PCB designs have been sent out for production. A new product web site is reaching completion leaving final assembly and testing left before I can start shipping the Myro:Bridge (that is going to be the final name). As promised, I have a video of the newest firmware which offers Russound RNET to Apple iTunes control. This is like the Russound RNET to Sonos except that you can pair, control and get metadata two and from Russound Keypads via iTunes. Enjoy!
(This product is now available for purchase)
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: <Event xmlns="urn:schemas-upnp-org:metadata-1- 0/AVT/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-10/"> <InstanceID val="0"><TransportState val="PLAYING"/ ... |
When I get a notification message, I package it up into the RNET protocol and send it back into the Russound controller, which gets displayed on the keypads and automation systems that use that data (like Myro:Home which is connected to a HAI OmniPro II). Since uPnP uses a subscription model, I also need to keep subscription expiration timing so I can renew the subscription. It’s basically a client (outgoing to the Sonos to send subscription requests) and a server (to receive incoming notification events from Sonos). Then I have to deal with all the HTTP issues, like if it fails to renew or I have connection issues, I have to clean up and start the connection process all over again.
This project is now code complete and any new features will be made in a future revision. I plan on creating a custom PCB — any interest?
If you have any questions or comments feel free to post them in the comments section below!
I’ve had my iPad for a few days and compiled a Pro’s and Con’s list as part of my review. I’ll try to be subjective but keep in mind that this device has been hyped a lot and may come across more critical than normal.
PROS
– Sexy, slick device — Apple is great at that. They always have been. They, again, have nailed it!
– Fast! — the iPad is very fast and responsive. I would say it feels faster than my 3GS.
– Screen is crisp, bright and vibrant — while the screen is not great for reading books, it is excellent for watching videos and playing games! The pixel density of the screen is probably the best I have seen to date — as is the viewing angle.
– Bluetooth keyboard support — Apple is finally allowing you to pair a bluetooth keyboard with the iPad. This alone makes it easier to write emails and surf the web than the iPhone.
– Loud Speakers — the speaker on the iPad is LOUD!
– Multitouch Screen — the screen is very accurate and responds well to the touch.
– Amazing Battery Life — this is one of the most impressive aspects of the iPad. The battery life lives up to what’s advertised!
– Love Native Apps — I find myself using services (Twitter/ABC) more because they offer native iPad apps versus hitting their website via the Safari browser. I’ll take a nicely designed iPad app over a web page version any day. However, there are some services that lose functionality in their native app. This is bad, but not the fault of Apple.
CONS
– Device is too BIG — too big to take with you all the time. I would have liked a small notepad (7″) sized iPad.
– Device doesn’t feel right in the hands — while it’s solid and looks good, it’s slippery and weird to hold. The nook is the right size and the arched rubberized back feels soft and “warm” to the hand. The iPad feels cold and fragile. Which, I believe, if you drop, will do a lot of damage to the iPad, as well as mar it’s elegant aluminum finish. I should also mention, the Apple case does change the feel and makes it a lot better to hold. However, it does add $39 to the price of the unit.
– Screen is too reflective — it makes it unusable at times. When will Apple make anti-glare glass cool?
– Screen smudges — when the unit goes to sleep, you can see tons of fingerprints and swipes all across the screen. Apple doesn’t even provide a cleaning cloth with the iPad like they do with all other devices they sell.
– Poor eBook Reader — screen reflections and brightness doesn’t make reading enjoyable. I still prefer my nook over the iPad. Shows you that a good single purpose device can beat a multipurpose device.
– Does too many things — really this is a con! Maybe it’s just me and my A.D.D., but I can’t sit in one single application for a long time because I feel like I should be doing a lot of other things instead like; twitter, email, iPod, youtube, ABC Player, or surf the web. I make the analogy to reading a book while someone else in the room is watching TV. Sure, I can continue reading and ignore the TV, but the temptation to watch the TV always wins me over. If I’m reading an eBook on the iPad, I feel like I should be watching a full episode of Lost instead.
– No accessible file system — you can’t place PDF’s in a folder and sync with your computer. So you are stuck buying apps that may offer a solution. In the case of PDF’s, the OS natively support them, however, there is no native reader… one solution is to email the PDF to yourself and access via the mail client. Hacks like this make the iPad frustrating and unusable.
– Cost too much — at $499 for the low end unit, it’s too costly to justify for what it offers. It does less than a netbook — $299 is what it should cost.
– Apps are expensive — maybe we got spoiled with FREE and .99-cent apps of the past. Buying all the apps I’d need adds up quickly.
– Lack of native apps* — using iPhone apps on the iPad are painful. While compatible, scaling makes them look pixelated and floating in the middle makes it hard to hold the device and navigate. * This should be a temporary con as more developers release updates to their apps.
– OS was design for the iPhone screen size — you can really tell that the OS was designed for a smaller screen. When you navigate on the iPad you find placement of the home button too far from the navigation bar. Your hands are constantly moving around the screen. The use of screen gestures could solve this problem in the future. What works great on the iPhone causes UX issues on the iPad. Apple did an excellent job with the iPhone implementation and designed the interface for that sized device. Refactoring the interface to support the larger real estate feels like an after thought.
– Weak WiFi reception — the signal is not as strong as my iPhone or MacBook Pro. Why?
Overall, I think the iPad is “good”. The quality of the device is excellent. Battery life is superb. There are a handful of apps (ABC Player, Myro Control) which I love using. I would rate it a 6 out of 10 whereas the iPhone is a 9 out of 10. I’m having a hard time seeing how people will use the iPad daily. If I didn’t have my home automation control software, Myro Control (iPad version coming soon), I’d probably not use it as much because I always have my iPhone with me and when I’m at work or home I am near my MacBook.
I’d love to hear how you are using your iPad…
I can’t remember exactly who I was talking to years ago (was it you, Mike D?) about turning roofs into full solar panels? This seems like the most practical model yet as you can blanket the whole roof and capture every angle. Perfect option if you have a Spanish/Mediterranean style home! The Sole Power Tile is the first curved photovoltaic roofing product and can be used as a full solar panel roof or woven into sections of traditional terra-cotta titles. The cost is about $50/sq ft installed… if you are interested in finding out more about this solar roofing system check out the SRS Energy website. Just don’t forget to add a TED 5000 to monitor your power savings!
[Originally seen in Popular Science Magazine]
Just downloaded the newest iPhone SDK (3.2) and ran the Myro:Home iPhone app in the iPad Simulator. It works (you can press the 2x to zoom it, seen in the second image) Once I release the iPhone app, I will be focusing on making a native version for the iPad. This should be fun! A $499 home automation controller is perfect — the iPad is Myro Control’s wireless home controller!
Here is a sneak peak of the Myro:Home iPhone application. As you can see, progress has been coming along. I’ve been getting the design finalized and now I’m just tweaking the look and feel a bit. The mobile framework has also been set in the core Myro:Home application which acts as a server on your home network. The iPhone version connects into Myro and loads and controls the HAI panel via a secure channel.
The key focus has been getting control of your home via the iPhone in the quickest time possible. As it works now, I can load and control in less than 3 seconds (if on WIFI).
– MYRO CONTROL – Myro:Home