[Domotica] Linux turns the lights on with X10

Jesus Cea Avion jcea at argo.es
Wed Apr 24 18:30:43 CEST 2002


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



More information about the Domotica mailing list