X10Controller
NEW! - Now supports the X10 CM17A FireCracker!
Control X10 capable devices from anywhere on your network!
There are several programs out there that allow controlling X10
capable devices, here's mine. My goals were to create a server-side
controller (written entirely in Java) which can support the X10 'ActiveHome'
CM11A (including the EEPROM), or 'FireCracker'
CM17A, have a small memory footprint (<35K when compiled for the
Dallas
Semiconductor, Corp. TINI), and have a client-side protocol which is
simple enough to be easily and quickly implemented in any language which
supports sockets (Java and Perl clients provided).
X10 is a protocol that is transmitted over existing household wiring
to control lights and appliances which have been connected to X10 capable
modules. Both X10 and SmartHome
provide several types of X10 capable controllers and modules that be used
with X10Controller.
X10Controller is comprised of 2 Java
programs which work together to control X10
capable devices (switches, etc):
-
X10Server communicates with the X10 'ActiveHome'
CM11A or 'FireCracker'
CM17A computer interface module to control X10 capable devices.
-
X10Client communicates with the X10Server to allow remote control
of X10 capable devices over a network.
Download: X10Controller-1.3.zip
[includes source/binaries for X10Server/X10Client]
The X10Server allows controlling X10 devices
over a network using the X10 'ActiveHome'
CM11A or 'FireCracker'
CM17A computer interface module. X10Server is a server-side Java
application designed specifically for the Dallas
Semiconductor, Corp. TINI computer, but should run on any platform
that supports the Java CommApi (to access the serial ports). It has
been tested on TINI, Linux, and Windows. Client software is also
included (Perl scripts and X10Client)
to monitor X10 events and send X10 commands over a network.
In order to use the X10Server, you must first obtain an X10 CM11A, or
CM17A, module, which is available in the X10 'ActiveHome'
or 'FireCracker'
package and can be purchased from X10
directly or from various electronics stores.
[Online Documentation]
The X10Client is a small Java application using an AWT user interface which
can communicate with the X10Server over a network to control X10 devices.
It was designed to run on the Sharp
Zaurus, with its limited screen size and PJava environment, but will
also run as a stand-alone Java application on any platform which supports
Java.
[Online Documentation]
X10Slush:
I also have a modified version of the TINI Slush (a shell environment for
the Dallas Semiconductor,
Corp. TINI computer) which includes support for reloading the X10Server
on the TINI at boot time via an integrated TFTP client. This allows
simply placing a new version of the X10Server on the TFTP server and rebooting
the TINI. The new software will be reloaded into the TINI as it reboots.
Unfortunately, I've received some conflicting information whether I'm
allowed to redistribute my changes to the TINI Slush. Once I find
out if I'm able to redistribute my modified TINI Slush, I will post it
here.
Download currently unavailable. (however, please let me know your interest
in this).
Links
Questions? Comments? Contact me at: mflynn@usa.net
Copyright (c) 2002 Martin D. Flynn