Before the iPhone SDK was released, I wrote web app to turn off/on the lights in my house via my phone. What made it all possible was my old laptop that runs an antiquated copy of Debian Linux (whose LCD screen is non-functioning) and the X-10 Serial Firecracker interface.
The basic setup is as follows:
- Apache is running on the laptop and hosts the front-end GUI and a CGI script that makes a back-end call to a userland progam that interacts with the X-10 Firecracker serial interface.
- The CGI script accepts an on or off action (I don’t use dimming modules) and the 1 or more unit codes to perform the action on.
- When an on or off button is pressed, an AJAX call is made to the CGI script hence turning on or off the light(s).
I originally had plans to release what I had done to the public, but there are a few problems with the current design. One problem is that the unit items (i.e. Bedroom lamp) are currently hard-coded into the webapp. An automated method for defining the units would be needed.
Secondly, the scripts will only work if you are running Apache on a Linux box with the firecracker serial interface. Most people wouldn’t be running Linux nor using the serial interface to interact with X-10.
I decided to wait for the SDK to be released and convert everything to a native app. When the SDK came it was only compatible with Leopard which I didn’t have at the time.
By the time I got Leopard, somebody else beat me to the punch, and from what I can tell he did a good job. I still use the app and may still convert it to an app just for myself. We’ll see. Below is a screenshot of the webapp.


