home automation with perl and x10
Download
Skip this Video
Download Presentation
Home Automation with Perl and X10

Loading in 2 Seconds...

play fullscreen
1 / 26

Home Automation with Perl and X10 - PowerPoint PPT Presentation


  • 171 Views
  • Uploaded on

Home Automation with Perl and X10. Mike Schilli, Yahoo! 06/25/2007. What’s X10?. Sender sends signals over power lines Receiver switches electrical devices on/off Cheap Technology Sender $10 Receiver $10. What can you do with X10?. Examples include … Water your plants

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Home Automation with Perl and X10' - coralia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
home automation with perl and x10

Home Automation with Perl and X10

Mike Schilli, Yahoo!

06/25/2007

what s x10
What’s X10?
  • Sender sends signals over power lines
  • Receiver switches electrical devices on/off
  • Cheap Technology
    • Sender $10
    • Receiver $10
what can you do with x10
What can you do with X10?

Examples include …

  • Water your plants
  • Reboot your cable modem
  • Control any device via Gaim/Jabber
x10 cm11 control unit
X10 CM11 Control Unit
  • Serial plug connects to PC
  • Power plug injects X10 signals into power line
  • < $10 plus shipping on Ebay
  • Don’t have a serial port? Buy a PCI card (ttyS4/5)
  • Alternatively: CM17 (RF)
no serial port
No Serial Port?
  • PC: $10 PCI card
    • /dev/ttyS4
  • Mac: $30 Keyspan 19HS
    • /dev/ttyS0
receiver
Receiver
  • E.g. connected to your Cable Modem:
protocol
Protocol
  • One four-bit house code (A-P)
  • One or more four-bit unit code(s) (1-16)
  • One four-bit command
  • Example:

“House Code K”, “Unit 9”, “Turn on”

protocol11
Protocol
  • 1110 Starting sequence
  • Binary 1: Presence, Absence
  • Binary 0: Absence, Presence
  • Each signal sent twice
  • Overall data transfer: 20 bits/sec
setting up a serial port
Setting up a serial port
  • Init serial port:

use Device::SerialPort;

my $serial = Device::SerialPort->new(

“/dev/ttyS0”, undef);

$serial->baudrate(4800);

  • Send command:

use ControlX10::CM11;

ControlX10::CM11::send($serial,

$house_code . $unit_code);

ControlX10::CM11::send($serial,

$house_code . “J”); # J=ON K=OFF

receivers
Receivers
  • Lamp Module:
    • Triac Solid State
    • On/Off/Dimming
    • No Appliances or electronic devices
  • Appliance Module:
    • Relay switches On/Off
    • Maintains last state during power outages
example 1 lights on off with gaim15
Example 1: Lights on/off with Gaim
  • A Jabber listener performs X10::CM11 commands:
example 2 x10 console
Example 2: X10 Console
  • YUI components for ajaxed web console
  • Reboot routers, print servers, DSL modem
example 3 water your plants
Example 3: Water your Plants
  • Aquarium Pump in Water container
  • Switched on/off by X10
  • Host checks weather report (Weather::Com) to determine amount of water
  • Secured by external timer
x10 home
X10::Home

use X10::Home;

my $x10->X10::Home->new();

# Address services by name

$x10->send("bedroom_lights", "on");

# Also remembers status

x10 home20
X10::Home

#x10.conf sample file

module: ControlX10::CM11

device: "/dev/ttyS0“

receivers:

- name: office_lights

code: K10

desc: Office Back Lights

- name: water

code: K11

desc: Plant Sprinkler

problems with x10
Problems with X10
  • No security on the X10 level
  • No feedback with cheap units
  • Signals get lost
  • Power outages might affect outcome
  • Two senders: Collisions
  • Slow (1 sec/command)
precautions
Precautions
  • Use Fail Safe strategies
  • Limit potential damage
  • Consider additional autonomous devices like digital timers
slide23
Q&A

Questions?

references
References
  • X10 YUI Console http://www.linux-magazin.de/heft_abo/ausgaben/2007/04/heimschaltwarte
  • http://www.linux-magazine.com/issue/50/Perl_Building_a_Jabber_Bot.pdf
  • ftp://ftp.x10.com/pub/manuals
  • http://misterhouse.net
  • Moshe Bar, “Home Automation with Perl”, TPJ, 02/2003
references continued
References (continued)

http://forums.cabling-design.com/X10-and-Linux-article12453--49.htm

ad