From jcea at argo.es Wed Apr 24 18:30:43 2002 From: jcea at argo.es (Jesus Cea Avion) Date: Wed, 24 Apr 2002 18:30:43 +0200 Subject: [Domotica] Linux turns the lights on with X10 Message-ID: <3CC6DDB3.168C3E7A@argo.es> http://newsforge.com/article.pl?sid=02/04/23/0219241 >>>>> Linux turns the lights on with X10 Tuesday April 23, 2002 - [ 09:38 AM GMT ] Topic - Hardware - By Russell C. Pavlicek - A few years ago, my daughter was in a serious car accident. When she came home after spending two weeks in the hospital, she had trouble moving around. Simple tasks such as turning her room lights on and off were difficult and painful. Thankfully, just before the accident, I had ordered a Firecracker home control kit from X10.com. The kit included the Firecracker interface, an appliance control transceiver unit, a lamp control unit, and a hand-held Palmpad controller. With these devices, it was possible for my daughter to manually control her lamp and her stereo from bed. But the thing that was lacking was some degree of automatic control. Her light needed to go on at dusk and shut off later at night. Likewise, her stereo needed to be shut off at bed time. The Firecracker device (a small dongle that connects to the serial port of a PC) was designed to control actions like that, but the software provided for it was written for Windows. This was useless with my daughter's Linux PC. Thankfully, several industrious people had already set about the task of controlling the Firecracker interface under Linux. I found two projects to be of particular value: a command line utility called BottleRocket and a Tcl/Tk application called RocketLauncher. The home page for RocketLauncher seems to have disappeared, but I have posted a copy of it on my Web site. BottleRocket is a useful command line program for sending X10 commands via the Firecracker device. It can be called by other programs (like RocketLauncher) or can be invoked from any standard command shell. It is also particularly useful for use by the cron program, which makes the task of automating the X10 devices a breeze. How do these things work? The Firecracker is a small dongle that plugs into a nine-pin serial port. It has a pass-through connector, so you can even plug in another device (in my case, a line to my UPS unit) on the same serial port, if needed. Manipulating the serial port in certain ways will cause the Firecracker to generate RF signals that communicate to a transceiver unit. The Palmpad is a simple handheld remote control that also transmits RF control signals. But where the Firecracker requires a PC to control it, the Palmpad is designed to be a simple human interface. The transceiver is a plastic box with an antenna that plugs into a standard electrical socket. It has a socket built in, so it can control one appliance directly. In addition, it can transmit signals over the electrical lines to other X10 devices, like the lamp control unit. It should be noted that both methods of transmission (RF and electrical system) are far from reliable. If you have excessive RF noise in your location, you might find that some devices will go on or off by themselves. In our case, a business facility nearby generates enough stray RF noise to cause our back-yard light to turn on by itself sometimes. The transmission along electrical lines can also be disrupted by "noisy" devices. We have some power strips that apparently prevent the successful transmission of signals when they are plugged in between the transceiver and the device to be controlled. Also, it is possible that devices on one electrical circuit may not be able to be controlled by a transceiver on another circuit. Despite these restrictions, however, it is still possible to achieve satisfactory results with automated device controls. Mind you, I wouldn't run someone's heart monitor off one of these things (what do you expect when you can buy device controllers for under $10 at the X10 Web site?), but they work well enough to be useful. What's the Linux part? A quick search of Freshmeat.net reveals that a number of people have been busily creating interfaces to X10 devices over the years. People who want to investigate a very elaborate control system might want to consider the MisterHouse project. But for me, the BottleRocket program is the most useful. Using a simple command syntax, like br B4 on, you can turn on and off various devices (in this case, the lamp or appliance at house code "B," unit number 4 is turned on). I have a series of such commands inhabiting one of my cron configuration files. To compensate for the possible garbling of any one command from stray RF signals, I tend to repeat the same command at one minute intervals in the cron file. The RocketLauncher program is an X11 application that emulates an X10 Palmpad (how is that for a confusing pair of Xes?). It paints the approximate image of a Palmpad on the screen and then uses BottleRocket and the Firecracker to send signals to transceivers in the vicinity of the PC. Control your house My X10 experience began with the small kit that aided my daughter through her convalescence (she's doing much better now, thank you). But, before long, I found that the X10 system could be useful for other things as well. Our front and back lights are now turned on and off at preset times. A lamp in the living room is now set to come on around dusk, which keeps our many pets from sitting in the dark until someone comes home. During the winter, there is no need to catch a chill late at night by shutting off holiday lights when instead, they go on and off at set times. And, of course, all of these lights can be controlled via various remotes throughout the house (we use a number of X10 universal remotes to control TVs, VCRs, and lights). The key to this process is reliability. If I were using, say, Windows ME to control the Firecracker to send signals at certain times of the day, I would probably worry that the system would hang sometimes and fail to do the job. In that case, I would probably need to employ one of X10's more expensive programmable control units to send out signals at preset times of the day. But, thankfully, the stability of Linux keeps the lights going on and off when they should. It has been almost three years since my daughter's accident, and Linux has never let me down. Control your mouse Anyone who has heard me lecture in the past couple of years has probably noticed that I use a wireless mouse when I talk. This is actually an X10 Mouse Remote I carry with my laptop. When the remote receiver is attached to the mouse port of my laptop, I can use the remote to easily perform all basic mouse functions under Linux. No special drivers are required to use the remote as a simple mouse. The RF nature of the remote also allows you quite a bit of freedom when giving a talk. Unlike an IR remote, the RF remote does not need to be in line of sight with the laptop. In fact, it does not even need to be in the same room as the laptop. This gives a presenter plenty of room to roam, so to speak. Someone has written a special driver called "remoted," which will allow you to program some of the Mouse Remote's special buttons to execute shell commands. I haven't had a need for such functionality, but it is certainly nice to know that it is there if needed. Those darn pop-under ads Yes, X10 is also the company behind many of those annoying "pop under" ads that occasionally appear while surfing the Web. If you have ever closed a browser window only to find another window underneath it trying to sell you an inexpensive surveillance camera, you have been the victim of X10's marketing campaign. It is annoying enough to cause some people to boycott X10 entirely, but I have no intention of ripping out my home automation system just because the company uses irritating advertising practices. Conclusion The X10 devices controlled by a Linux box can make for a useful, cost-effective home automation solution. Because of the reliability of Linux, you can use a simple device like the Firecracker to easily control lamps and appliances through your house. And with the proper kit, you can even control the mouse on your Linux laptop. <<<<< -- Jesus Cea Avion _/_/ _/_/_/ _/_/_/ jcea at argo.es http://www.argo.es/~jcea/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ PGP Key Available at KeyServ _/_/ _/_/ _/_/ _/_/ _/_/ "Things are not so easy" _/_/ _/_/ _/_/ _/_/ _/_/ _/_/ "My name is Dump, Core Dump" _/_/_/ _/_/_/ _/_/ _/_/ "El amor es poner tu felicidad en la felicidad de otro" - Leibniz