View RSS Feed

The Ill-Tempered Audiophool

Remote Control, Part III: Custom interface for RedEye Remote device

Rate this Entry
One of the low points of the Redeye Remote system (see Remote Control, Part II) is their clunky web interface software. In case you haven't noticed, impatience and irritability are my two most attractive and dominant personality traits. Waiting for the interface to load so I can turn down the volume or mute the system really annoys me.

The underlying IP/IR command system is actually quite fast. There is very little latency when I issue a url command from the terminal of my computer, so I decided to make some custom web interfaces. I showed something similar to this in Part II, but I have since improved it a bit.

It should be possible to create a proper Cocoa OS X application to do this, but I can't program my way out of a wet paper bag. Besides, a web-based application has two advantages: (1) it speaks HTML, and (2) it will also work on my iPad.

The idea is this:

Create an HTML web page with a bunch of links in it. Load the page in your browser, click on the link, and the url command is issued, the RedEye sends an IR signal, and you are done.

blogs/wgscott/attachments/4965-remote-control-part-iii-custom-interface-redeye-remote-device-screen-shot-2013-03-31-10.52.24-am.png

A few things can make this experience more pleasant.

A. You have to reload the web page every time you issue a command. This becomes increasingly annoying when you realize (for example) you have to click the volume 12 times to adjust it.

I found that the web-based interface will behave a lot better if you replace the standard URL link syntax, i.e.,

Code:
<a href="http://somewhere.over.the.rainbox.gov">Link</a>
with a form "input" command, i.e.,

Code:
<input type="image" src="images/remote_nova.001_68.png" onclick="PowerToggle()"></input>
where in this case I have defined a Javascript function PowerToggle() in the header, i.e.,

Code:
	function PowerToggle()
	{
	var xmlhttp;
	xmlhttp=new XMLHttpRequest();
	xmlhttp.open("GET","http://redeye_f0123-456789.local:8080/redeye/rooms/0/devices/71/commands/send?commandId=65",true);
	xmlhttp.send();
	}
This way I can click on the link repeatedly and the web page just sits there and takes it. (I don't know anything about javascript either, btw, so there may be a better way to do this.)

B. Instead of a pile of links, I created an image, sliced it up in Adooobie Photoshop/ImageReady, and mapped the bits of the image corresponding to individual buttons into the link, which is what the

Code:
 type="image" src="images/remote_nova.001_68.png"
part is all about.


C. I was able to make this into a stand-alone OS X application using the free version of a program called Fluid. The result is shown in a screen-shot below:

blogs/wgscott/attachments/4966-remote-control-part-iii-custom-interface-redeye-remote-device-screen-shot-2013-03-31-10.32.06-am.png

Here is the default RedEye web-browser interface that I made with their software, rendered in Safari. It took about 90 seconds to load. The corresponding iPad/iPod/iPhone version is a bit slicker, but the load time is similar.

blogs/wgscott/attachments/4968-remote-control-part-iii-custom-interface-redeye-remote-device-screen-shot-2013-03-31-4.53.22-pm.png

Updated 04-03-2013 at 05:23 PM by wgscott

Categories
Uncategorized

Comments

  1. The Computer Audiophile's Avatar
    Nice Bill!