Linux smart homes for dummies - part 2 potx - Pdf 20

ߜ Motion sensors: Motion sensors can signal when motion is detected,
and you can set a motion sensor’s transceiver to send X10 signals to X10
modules (for instance, to turn on lights) or to an appliance (such as a
camera).
ߜ Other sensors: Water sensors can detect leaks and cause a chime to
sound, for example, and rain sensors can delay the watering of your
lawn. They operate similarly to motion sensors.
ߜ Touchtone controller: This item controls X10 modules through touch-
tone signals, so you can control your system via your phone.
ߜ Desktop controller: This inexpensive controller plugs into the wall and
can control 8 to 16 X10 modules without a transceiver.
ߜ Computer: You can control your X10 modules via your computer soft-
ware in the following ways:
• Send and receive X10 signals over the powerlines from your com-
puter. For example, the CM11A computer interface, as shown in
Figure 1-2, can control your modules by using Linux home automa-
tion software. A starter kit is available from www.x10.com for
$49.99.
• Enable your computer to function as a remote control. The
Firecracker computer interface, also called CM17A, is compatible
with Linux home automation software. This is one-way communica-
tion only. A starter kit is available from www.x10.com for $39.99.
Figure 1-2:
You can
use the
CM11A X10
computer
interface
with free
Linux
software

your X10
appliances
remotely,
even over
the Internet.
13
Chapter 1: Exploring the Possibilities of Home Automation
05_598236 ch01.qxp 6/27/06 7:42 PM Page 13
Some practical or just plain fun uses for X10 automation include these:
ߜ Use a motion detector to switch on Robo-Dog, an X10 dog barking device
to scare intruders, or hook up your motion detector to floodlights.
ߜ Create an automatic doorbell with a motion detector and chime. Place
the motion detector at your front door, front gate, or sidewalk to alert
you of guests.
ߜ Dim all the lights with the touch of a single button in your living room
for a home-theater effect.
ߜ Set up a motion detector to work in a bedroom during the night to turn
on the bathroom lights as well as a lighted hallway path when your child
needs to go to the potty.
ߜ Automate your security by aiming X10 cameras outside your home so
that they will turn on when tripped by motion detectors. If you want to
get fancy, have your computer call you to alert you and watch your cam-
eras from the Internet.
ߜ Use sprinklers attached to motion detectors to scare off neighborhood
dogs or deer. (However, this might be a magnet to every child in town!)
ߜ Use X10 to start your coffee in the morning and open your window
shades.
ߜ Turn off all your lights with one click of a remote.
ߜ Water your lawn automatically on schedule.
ߜ Check the state of your car’s muffler and exhaust system with an auto-

(and cheap) entertainment solutions. And if you want information on stream-
ing your music through the Internet, check out Chapter 7.
Wirelessly sending TV and stereo signals
from any TV, stereo, or CD player
For about $50, you can get an X10 wireless video sender from www.x10.com.
The entire package consists of a video sender and video receiver, both of
which look like small boxes with regular antennas and tiny dish-like antennas
protruding from them, which can communicate with each other wirelessly
throughout your home. The video sender also sends and receives stereo
sound from your TV, CD player, or stereo — whatever takes standard RCA
Audio In and Audio Out jacks — or coaxial cable.
The following steps show you how to hook up your wireless video sender to
your DVD, VCR, stereo, TiVo, satellite receiver, or cable box to play on a TV
or stereo:
1. Connect the RCA jacks to the Audio and Video inputs and outputs of
your video sender and video receiver, and connect them to the Video
Out and/or Audio Out of your DVD player, VCR, TiVo, satellite
receiver, CD player, stereo, or cable box and the Video In and/or
Audio In of your stereo or TV.
If RCA connections are not available, coaxial cable inputs and outputs
will do as well.
2. Set the channel on the wireless video sender to either three or four,
whatever channel the TV that is normally connected to the DVD
player, VCR, or other device uses to receive the signal.
3. Set the channel on the wireless video receiver to the same channel on
the wireless video sender.
15
Chapter 1: Exploring the Possibilities of Home Automation
05_598236 ch01.qxp 6/27/06 7:42 PM Page 15
4. Angle the flat antennas of the wireless video sender and receiver so

6. Set the channel number on your video sender and receiver to the
same number — whatever number you want — or whatever works
best.
7. Follow Steps 4 to 5 in the preceding section “Wirelessly sending TV
and stereo signals from any TV, stereo, or CD player.”
Lots of good MP3 players with easy-to-use interfaces are available for use on
the Linux desktop. XMMS, MPlayer, or Zinf Audio Player are a few. Any of
these players will work with this system.
16
Part I: Bringing the Future Home
05_598236 ch01.qxp 6/27/06 7:42 PM Page 16
Controlling your Linux MP3 player with an X10 remote control
It is possible to control your XMMS MP3 player running on your computer
from a handheld remote up to 50–100 feet away (and through walls). This
remote, called the Anywhere Remote, can control the following:
ߜ Song selection
ߜ Play/stop/fast forward/pause
ߜ Volume/mute
ߜ Balance
The Anywhere Remote is a universal remote that can do the following:
ߜ Control your TV, CD player, DVD, cable box, and satellite receiver.
ߜ Control your X10 modules up to 50–100 feet away and through walls (if
you use it with a TM751 or RR501 transceiver, which is available at
www.x10.com for about $13).
ߜ Control your MP3 player on your computer remotely up to 50–100 feet
away and through walls if you have the following:
• A TM751 or RR501 transceiver, which costs about $13 from
www.x10.com.
• XMMS audio software comes with most Linux desktop distribu-
tions, as shown in Figure 1-4.

Whether or not you or someone in your family is a budding meteorologist, it
is still handy to know what the weather conditions are — without having to
get frozen or fried checking it out. A wide variety of home weather stations
are available on the market, and they can give you accurate information con-
cerning weather conditions. Some of these weather stations can interface
with Linux software, so you can gather and store your information on your
computer. Or you can create your own weather station by using information
from the Internet. Having weather information right on your desktop or
browser or being alerted by a text message on your cell phone can be handy.
Figure 1-4:
Your
Anywhere
Remote
interfaces
with the
MP3 player
software
package,
XMMS.
18
Part I: Bringing the Future Home
05_598236 ch01.qxp 6/27/06 7:42 PM Page 18
Getting weather reports from your own weather station
Weather stations come in all sizes and price ranges. For about $25, you can
get a display that tells the temperature indoors and out and tells time. For
about $50 to $100, you can get a display that tells temperature and gives you
the local forecast via a wireless connection. These weather stations come
with their own displays that are updated wirelessly every couple of minutes
from the sensors outside your home. A good place to find a large variety of
weather stations for sale is www.weatherbarn.com.

feature — especially if you live in a mobile home.
19
Chapter 1: Exploring the Possibilities of Home Automation
05_598236 ch01.qxp 6/27/06 7:42 PM Page 19
ߜ Getting weather updates from MythWeather: A primary function of
MythTV is to fulfill your need for a personal video recorder (PVR), but
MythTV also has a program called MythWeather that you can use to get
your current weather conditions and extended forecast. Access
MythWeather by choosing the Weather option from the MythTV main
menu; see Chapters 6 and 11 for more information.
ߜ Using StormSiren to alert you of storms by e-mail or text messages to
your cell phone or pager: This program automatically checks the National
Weather Service for information on storms in the county or counties that
you specify. If a severe weather alert exists, it e-mails you and sends instant
messages to your cell phone or pager. For more information on StormSiren,
see its homepage at .
Creating a sophisticated phone system
Sophisticated phone systems, like the kind large stores have that can direct
calls automatically, can now be used in the home! These systems usually cost
about $40,000 to install, but an enterprising businessman/programmer who
needed one and did not have the cash to buy one just programmed one
Figure 1-5:
Get up-to-
date
weather
information
automat-
ically on
your Linux
desktop.

modify, and even free to sell.
ߜ Access the cutting edge of home automation: Asterisk, for example, is
one of the top phone systems available for businesses today. And
MisterHouse offers features that aren’t available in any proprietary
home automation software and is exploring the frontiers of voice activa-
tion for X10 devices. Plus MythTV lets you set up a free and feature-full
TiVo-like system.
21
Chapter 1: Exploring the Possibilities of Home Automation
05_598236 ch01.qxp 6/27/06 7:42 PM Page 21
ߜ Explore lots of possibilities: Lots of home automation software exists,
but you can’t usually try out the proprietary software without paying
money — so that limits your exploration of it. With Linux, you can
explore and try whatever you want without feeling a financial pinch. You
are not locked into a single program.
ߜ Contribute to the growth of free software: You can contribute to
improving the home automation field by programming new features (if
you are a programmer), by helping newbies on the forums, by suggest-
ing new features, and more.
Linux home automation software published under popular licenses such as
the GNU General Public License has the source code available for everyone
to improve and add features to. This way, it can be advanced by professionals
and amateurs alike. And the new features, which are added by programmers
around the world, cause the software to grow, sometimes as effectively as if it
were designed by a business plan and paid programmers spent every day
working on it — maybe even more effectively. And its setup and maintenance
costs are a fraction of what similar proprietary software costs.
To some people, Linux is a hobby, but it can be a career as well. Money-
making opportunities are available for savvy entrepreneurs. Here are just a
few possibilities:

One great feature of Linux is that you can pick and choose the parts of it that
you want and mold it to work the way you want it. If you want to use it to
control some simple task, you might find that you can use a stripped-down or
lightweight version of Linux (such as Damn Small Linux), so that old clunker
computer in your basement has plenty of power to do what you need. In this
way, you can give new life to old computers that formerly seemed worthless.
It’s time to resurrect them from your computer graveyard and put them to
work on highly useful tasks.
Choosing a Linux distribution
The software I describe in this chapter works with many different distribu-
tions of Linux. If you haven’t already chosen a version of Linux to use, here
are some good choices:
06_598236 ch02.qxp 6/27/06 7:39 PM Page 23
ߜ Ubuntu Linux (www.ubuntu.com): Ubuntu is currently one of the most
popular Linux distributions. Like the other Linux distributions listed
here, Ubuntu is available as a free download and offers thousands of free
software applications and a big community of users you can consult for
support. Ubuntu offers new versions of the distribution every six
months, and it’s easy to maintain and upgrade.
ߜ Gentoo Linux (www.gentoo.org): Gentoo is a source-based distribu-
tion, which means that, rather than simply installing precompiled binary
code, you typically compile every aspect of the system from source
code. Your computer can take a long time to do that, but this process
can give you much more control over your Linux software environment
and makes it easy to always have the most current software packages.
ߜ Fedora Core (): Fedora Core is a widely
used, well-tested, and stable distribution sponsored by Red Hat, one of
the most prominent Linux software companies. Fedora Core offers an
interesting mixture of stable and cutting-edge software.
ߜ SUSE Linux (www.opensuse.org): SUSE Linux is a high-quality Linux

ߜ Automated digital video recording and streaming.
ߜ Motion detection.
ߜ Remote control.
ߜ Weather data measurement and thermostat control.
ߜ Smart telephone systems.
ߜ Webcams for home security and videoconferencing.
That’s a lot of ground to cover, but putting it all together isn’t hard if you
know what to choose. So here I give you recommendations on some of the
best software choices and tips to get you started quickly. In the rest of the
book, I show you in more detail how to set up, configure, and customize
everything to your liking.
About X10
X10 is a standard that uses the electrical wiring in your home to communi-
cate with and control lights, appliances, and other compatible devices. X10
signals are short, radio-frequency bursts that represent digital information
and are carried over your power lines. Because X10 uses your existing electri-
cal wiring, you don’t need to rewire your home to automate your devices —
you can simply plug X10 modules into your existing power outlets and then
plug your lamp, appliance, or other device into the X10 module.
X10 devices come in a variety of flavors. The most widely supported by Linux
currently are
ߜ CM11A: The CM11A is manufactured by X10 Ltd. (www.x10.com). The
company sells CM11A as part of its ActiveHome kits (but not the new
ActiveHome Pro kits). The CM11A is also sold as the IBM Home Director.
So software for the CM11A is compatible with ActiveHome and Home
Director devices and with the UK version of the CM11A, called the
25
Chapter 2: Filling Your Home Automation Toolkit with Linux Software
06_598236 ch02.qxp 6/27/06 7:39 PM Page 25
CM12U. The serial port in your computer connects via a serial cable to a

MisterHouse is a fun program that can do the following:
ߜ Dispatch commands to X10 devices as a result of your voice input. (Yes,
you can talk to your computer and have it open the drapes, water the
lawn, turn lights on or off, turn the stereo or TV on or off, run your VCR,
download your stock quotes, and lots more. You speak to it with words
that it understands, and it performs whatever function you set up as a
response.)
26
Part I: Bringing the Future Home
06_598236 ch02.qxp 6/27/06 7:39 PM Page 26
ߜ Respond to input from X10 sensors, such as motion sensors or tempera-
ture sensors.
ߜ Work as a timer (and calendar) to send X10 commands at the proper
time to turn X10 devices on and off.
ߜ Use free, text-to-speech software to make announcements.
ߜ Respond to your verbal commands by using IBM’s free ViaVoice voice-
recognition engine.
ߜ Read and write e-mail files and Web pages unattended.
ߜ Send and receive instant messages via AIM, MSN, or Jabber.
ߜ Read Web pages of TV schedules to program your VCR and show you
reminders about upcoming shows.
ߜ Control your RoboSapien, ESRA, and ER1 home robots, and lots more.
MisterHouse is written in Perl, which makes it fairly easy to customize if you
want to do so.
Project WiSH and x10Web
Project WiSH () implements a universal
device driver for the X10 protocol and currently supports CM11A, Firecracker,
and some other X10 devices. The advantage of this approach is that you can
use a single application with this device driver to talk to your X10 network
without worrying about the type of X10 transceivers that are attached.

C computer language. You can, among other things, use Heyu to store a
schedule of events and macros in the CM11A’s memory, which it can execute
even when not connected to the computer. In Chapter 13, you build a starter
X10 kit by using Heyu.
Figure 2-2:
Project
WiSH’s
x10Web GUI
is simple
and direct.
28
Part I: Bringing the Future Home
06_598236 ch02.qxp 6/27/06 7:39 PM Page 28
BlueLava
BlueLava (www.sgtwilko.f9.co.uk/bluelava) is a CGI script written in
Perl that lets you control your X10 devices via a Web page, as shown in Fig-
ure 2-3. The script acts as a frontend for several command-line-based pro-
grams, including Heyu, BottleRocket, Flipit, and Project WiSH.
CGI stands for Common Gateway Interface. CGI scripts are usually small pro-
grams written in a computer language such as Python, Perl, Tcl, C, or C++.
You upload a CGI script to a Web server where it is used by the HTML code in
Web pages to run other programs on the server that are too complicated to
be controlled directly by the HTML code. In other words, it acts as glue
between HTML pages and other programs on the server.
Software for X10 Firecracker
devices (CM17A)
The tiny Firecracker is a cool, inexpensive device that can turn your com-
puter into an X10 remote, and there are many good free software packages to
control it via Linux. Here are some of the best.
Figure 2-3:

a graphical user interface frontend for BottleRocket, shown in Figure 2-5. It
looks like the HR12A controller that’s part of the Firecracker kit from
www.x10.com. TK10 is written in Tcl/Tk.
Figure 2-4:
CGI-x10
provides a
simple Web
interface
to Bottle-
Rocket
software,
which
makes it
easy to
control a
Firecracker
device.
30
Part I: Bringing the Future Home
06_598236 ch02.qxp 6/27/06 7:39 PM Page 30
wmx10
wmx10 (www.cs.uml.edu/~jhawkins/wmx10) is a WindowMaker/
AfterStep applet. It’s a very small application that runs in a thumbnail-sized
window that runs on the desktop, and it allows you to control X10 modules
via BottleRocket. It’s a nice graphical interface for BottleRocket, which is a
command line program. (WindowMaker and AfterStep are window managers
which are commonly available with many Linux distributions.) wmx10 is writ-
ten in the C programming language.
Home networking
Your home computer network is important for home automation because if

GNU Zebra is written in the C programming language. For information on how
you can use GNU Zebra to transform your computer network into a high-
speed performer, see Chapter 5.
Quagga
Quagga (www.quagga.net/about.php) is an offshoot of GNU Zebra. Some
developers wanted to take GNU Zebra and improve it using their own devel-
opment team instead of working with the GNU Zebra’s development team. At
present, Quagga is virtually the same as GNU Zebra, although that might
change in the future.
Digital video recorder and media center
With the right software, you can turn one or more of your home computers
into a digital video recorder like TiVo. The free software package MythTV is a
good choice for this. In Chapter 6, we show you how to build your own per-
sonal video recorder by using MythTV.
MythTV
MythTV (www.mythtv.org) is a free Linux software package that allows you
to record and play back TV shows on multiple computers on your home net-
work. With MythTV, you can do the following:
ߜ Pause, fast forward, and rewind “live” TV.
ߜ Detect and skip commercials automatically.
ߜ Play DVDs.
ߜ Rip, categorize, and play audio files. (To rip an audio file is to copy data
from one format to another, such as from a CD audio file to an MP3 file.)
ߜ Read RSS news finds.
ߜ View weather information whenever you want.
ߜ And much more. . . .
MythTV also provides an electronic program guide for changing channels and
selecting the programs you want to record.
MythTV is written in the C++ programming language.
KnoppMyth

infrared remote controls. The software is mostly written in the C program-
ming language.
Smart telephone system
With free Linux software such as Asterisk, you can transform your home
phone into a smart telephone system that’s capable of caller ID, voice mail,
call forwarding, and many other fancy features. You can even put people on
hold and make them listen to music while waiting!
33
Chapter 2: Filling Your Home Automation Toolkit with Linux Software
06_598236 ch02.qxp 6/27/06 7:39 PM Page 33
Asterisk
Asterisk (www.asterisk.org) is a PBX in software with many features,
including voice mail, call conferencing, call queuing, support for three-way
calling, caller ID services, and much more. (A PBX is a Private Branch
eXchange, a private telephone switch that allows telephone extensions to
connect to each other and the world outside.) Asterisk is written in the C pro-
gramming language. For more information on using Asterisk as part of your
home automation systems, see Chapter 9.
Asterisk@Home
Asterisk@Home () is a soft-
ware project designed to enable home users to easily set up and operate an
Asterisk PBX with a Web-based graphical user interface. It sets you up with
FreePBX, a Web-based graphical user interface that lets you configure
Asterisk without editing configuration files.
Weather
You can use free Linux software to set up your own home weather station and
become your own friendly neighborhood meteorologist.
One-wire weather (Oww; ) is a Linux soft-
ware interface to the Dallas Semiconductor 1-Wire weather station. (1-Wire is
a low-cost computer bus system designed by Dallas Semiconductor.) With a

Doing the Tough Work with
Low-Level Software
Some of the software I discuss here, such as Heyu, is no-frills stuff that has no
graphics and runs from a command line in a terminal window. If this is Greek
to you, it isn’t as bad as it sounds. You’re probably used to running programs
that have windows and menus that you control via the computer mouse. A
terminal window is a program that emulates an old-fashioned, text-based
computer from the days before computer windows, menus, and mice. You
can typically bring up a terminal window by choosing it from a menu. If
you’re running Linux with the KDE desktop environment, for example, you
might bring up a terminal window by choosing KDE➪System➪Terminal
Program (Konsole). Then a window appears in which you can type com-
mands. The current location in the window where you can type in a com-
mand is called the command line. For example, if you’ve already installed
Heyu on your computer, at the command line in the terminal window you
might type
heyu on a1
This would run the program Heyu with the parameters on and a1, so that
Heyu would turn on the device at location a1.
To run some of the software I discuss here, you might need to compile it from
source code by issuing some commands from a terminal window. A computer
program’s source code is the set of instructions that a computer programmer
writes that direct the computer to do something. This set of instructions is
35
Chapter 2: Filling Your Home Automation Toolkit with Linux Software
06_598236 ch02.qxp 6/27/06 7:39 PM Page 35
transformed by a special program called a compiler into the numeric codes
that can directly control the computer hardware. These numeric codes are
called object code. So to compile the program’s source code into object code
and thus install the program onto your computer into a form in which it can


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status