1 / 26

Home Automation with Perl and X10

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

Download Presentation

Home Automation with Perl and X10

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Home Automation with Perl and X10 Mike Schilli, Yahoo! 06/25/2007

  2. What’s X10? • Sender sends signals over power lines • Receiver switches electrical devices on/off • Cheap Technology • Sender $10 • Receiver $10

  3. What can you do with X10? Examples include … • Water your plants • Reboot your cable modem • Control any device via Gaim/Jabber

  4. X10 Signal Flow

  5. 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)

  6. No Serial Port? • PC: $10 PCI card • /dev/ttyS4 • Mac: $30 Keyspan 19HS • /dev/ttyS0

  7. Receiver • E.g. connected to your Cable Modem:

  8. 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”

  9. How X10 transmits

  10. How X10 transmits

  11. Protocol • 1110 Starting sequence • Binary 1: Presence, Absence • Binary 0: Absence, Presence • Each signal sent twice • Overall data transfer: 20 bits/sec

  12. 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

  13. 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

  14. Example 1: Lights on/off with Gaim • Net::Jabber

  15. Example 1: Lights on/off with Gaim • A Jabber listener performs X10::CM11 commands:

  16. Example 2: X10 Console • YUI components for ajaxed web console • Reboot routers, print servers, DSL modem

  17. 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

  18. Video Demo

  19. X10::Home use X10::Home; my $x10->X10::Home->new(); # Address services by name $x10->send("bedroom_lights", "on"); # Also remembers status

  20. 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

  21. 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)

  22. Precautions • Use Fail Safe strategies • Limit potential damage • Consider additional autonomous devices like digital timers

  23. Q&A Questions?

  24. Thanks! Contact: m@perlmeister.com

  25. 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

  26. References (continued) http://forums.cabling-design.com/X10-and-Linux-article12453--49.htm

More Related