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):

Download: X10Controller-1.3.zip [includes source/binaries for X10Server/X10Client]


X10Server:

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]


X10Client:

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

SourceForge.net Logo