Design
Synopsis
remoteX4's design is based on the "Problem" description and takes into consideration cost factors and a number of technologies that are becoming increasingly available in households (such as mobile/touch devices, wireless home networks, low cost netbooks and laptops).
There is no need for expensive/exotic control systems, touch devices from particular manufacturers like Apple (although these work with remoteX4 just as well) and the setup time is minimal. Any number of "remotes" can operate the same or different zones at the same time while staying synchronised.
Note however that, at this time, defining a particular setup requires an installer (person trained to do this work) and simple users/consumers are not meant to do the setups themselves.
Rationale
Goals
remoteX4 aspires to:
be cost effective
eliminate the problem of multiple remote controls
eliminate problems inherent in IR operation and replace them with RF, Serial and IP advantages
be available in the widest possible range of devices
support activities, macros and multiple zones
support multiple simultaneous remote devices in the same or different zones
offer various interfaces and ways of interaction (through iconic buttons, touch gestures or keyboard)
Means
To meet the goals stated above, remoteX4 is designed around technologies and products that are (or are quickly becoming) pervasive, low cost and reliable. These include:
Wireless home networks (WiFi based)
Mobile devices that are WiFi-enabled and feature a touch interface and web browser. These include both high-end smart phones and lower budget feature phones
Standard HTML/CSS and Javascript with AJAX technologies for providing the user interface.
Cost effective, reliable and open protocol-based control devices from companies like Global Cache that can handle IR, Serial and Closure Contact devices
Inexpensive netbooks or laptops for use both as a remote device or/and a control server
Very cost effective plug computers, such as the Sheeva plug, to use as control server
Open source applications that can remotely control PC applications like Eventghost.
An architecture that allows easy addition of protocols for control devices and PC control.
The Interface
remoteX4's interface is displayed in a Web Browser. There are currently three different interface designs to accomodate for different screen sizes/resolutions. One for mobile phones with a resolution of about 240x320 (mobile narrow), one for resolutions of about 400x800 (mobile wide) and one for laptops or tables with a resolution of about 1024x800 (wide).
See more about remoteX4's interface here.
The Architecture
remoteX4 is built in PHP and interfaces with its users throuhg normal HTML pages with CSS and Javascipt. It consists of three layers:
the configuration, which is defined by the user/installer and determines the devices, commands, macros and activities available to a particular setup as well as the look of the activities and zones for each interface design
the backend, which takes care of the actual command and macro execution based on the configuration
the gui presenter, which renders the interface pages and communicates with the backend
All of the above make up the control software as mentionned in the Terminology of "The Problem" section.
See more about remoteX4's architecture here.
Requirements
In its current version (fall of 2011) remoteX4 has the following requirements:
Software Requirements
Any Web Server with the PHP extension installed (MySQL is not needed for executing the interface).
Any OS supporting the above.
For controlling Windows applications a running copy of Eventghost (free software) is needed on each PC running such an application.
Hardware Requirements
One computing device able of hosting the Web Server with PHP extension mentonned above. This can be a laptop, netbook, desktop PC or even a plug computer like
One or more Global Caché devices (one for each Zone you want to control). Both GC-100 and iTach models are supported for IR and Serial control. These devices correspond to the control device as mentionned in the Terminology of "The Problem" section.
A wireless router or wireless access point in case you wish to use a Wi-Fi enabled device.
At least one remote. This can be any Web enabled device, mobile or not, touch or not.
See more about remoteX4's requirements here.
Building setups
In order to implement the configuration part of remoteX4's architecture a separate system is in place that allows users/installers to define a particular setup through a forms based interface. The necessary runtime files are created automatically from such definitions.
See more about building setups for remoteX4 here.