ALWAYS
UNDER CONSTRUCTION
Updated: 01/08/04
X-HOME! has been in development over the last four
years and has grown substantially over the past year and a half. X-HOME!
was soley a custom, PC-based, multi-tasking system (written completely
in Visual Basic 5.0) running under Windows NT and Win98. Most recently,
I have replaced a significant portion of my custom HA system (Lynx-10 and
all custom boards and S/W) with the JDS
Stargate
and its companion, the JDS
IR Expander
Click one of the sections below
to jump to a particular section
I am now
using one of the Stargate's COM ports to control what is displayed on the
touch screen. Inputs from the Touch screen eventually get sent to Stargate
for processing. I have finally integrated a Basic
II Stamp Controller (BS-II, by Parallax Inc)) such that is acts as
a "Gateway" between the Stargate HA controller and the Touch screen.
Using simple ASCII messaging, I have Stargate sending predefined
ASCII messages to the Basic Stamp II, such as "MAINMENU". Once the STAMP
receives this message (1 of 100 or so messages possible), the Stamp sends
a bunch of ASCII commands/strings to the Touch Screen display via separate
serial interface. This commands sent by the Stamp are basically a bunch
of ASCII strings which tell the touchscreen to draw series of boxes, lines
and text on the display (such to draw the Main Menu). A sample of code
required to draw a filled box in the center of the display is:
BF200100400200,1
The display has a resolution of 600x300 pixels. In this example, the
"BF" stands executes the "Box Filled" command, the box's upper lefthand
corner is at 200 (x) and 100 (y), and the box's bottom righthand corner
is at 400 (x) and 200 (y). The box's dimensions are therefore 200 x 100.
Since the display is monochrome, the box can be filled either Black (0)
or White (1, as in this example).
Now that I have won a SECANT Cardio system (check out : http://hometoys.com/tips/tips07.htm#Entry
No. 2), I am integrating it with the Stargate X-10 system. Although
the Cardio system has built in X-10 feaures such as scheduling and macros,
I have decided to allow the "more-robust" Stargate to be my main X-10 controller
and therefore use the Cardio system as my dedicated Alarm system controller
(seeing that it has a nifty digital key made by Dallas
iButton which activates the alarm and also features direct interfaces
for up to 16 wired Passive Infrared (PIR) detectors). The Cardio and Stargate
systems will use a dedicated housecode (all 32+ commands) in order to send
information back and forth to each other (such as alarm Status, Zone Status,
etc...). For security reasons, the alarm can not be activated or deactivated
by Stargate via X-10. The Alarm can only be controlled by either one of
two Dallas digital keys or via the Touchscreen interface of the Cardio
System (located just inside the foyer where you enter the house).
My
Introduction to HA
I was first introduced to home automation one day while browsing through
a local Radio Shack. I had decided to purchased an X-10 timer/clock unit
and a couple of lamp modules to control my outdoor lights/lamps. After
getting home and setting up the tiny system, I grew more and more intrigued
with the possibilities I could dream a full blown x-10 system could do.
I then decided that the only way I am going to get all the functionality
I wanted was to develop my own hardware and software for such a system.
I had previously tinkered with several DSP ISA cards (digital and analog
inputs/outputs) and had developed some interesting serial communications
code using Visual Basic. It seemed as though I had the right ingredients
so,... I was ready to conquer the challenge!
Computer
Hardware
The X-HOME! PC was put together with mostly used and custom-built equipment.
Some of the parts had to either be purchased or built as is the case with
the I/O and Relay EISA Interface cards and the Telephone Interface circuitry.
The following is a semi-accurate list of equipment:
-
Pentium 133 MHz motherboard with 6 EISA/2 PCI slots (Full Tower case)
-
32 megabytes of EDO RAM
-
1 Gig IDE hard drive
-
8x CD-ROM
-
DITTO 2 GB Tape Backup
-
1.44 megabyte floppy drive
-
VGA card and 14" color VGA monitor (not really used!, only for TV/monitor
modulation)
-
IDE Hard disk/floppy/IO Controller (with 1 parallel {LPT1}, 1 game, 2 serial
ports {1&2}
-
Standard 2-Serial (COM1-2) and 2-parallel ports {LPT1&2})
-
8 Com Port Serial Card (COM3-10,
DigiBoard
ClassicBoard 8 /16554)
-
Custom Analog-to-Digital (8)/ Digital-to-Analog (8) EISA I/O card
-
Custom Serial Controlled Relay EISA Card (16 relay, 4PDT contacts ea.)
-
NE2000 compliant ethernet card
-
TV Coder - VGA-to-Television Converter (by Creative Labs)
-
Sportster Data/fax/voice modem (28.8 Kbps)
-
Soundblaster compatible 16-bit Sound card, CD-ROM interface
-
Generic UPS Backup
-
Marrick's
LynX-10 powerline carrier interface box (kit)
-
Custom Telephone interface to LPT2 (Touch tone decoder and phone hook/ring
status)
-
DBI 640x480 pixel Touch
Panel Display (EL) {The heart of the whole system!}
MANUFACTURER NO LONGER EXISTS! (1/04)
-
BIRD Programmable
IR Transmitter{used to control A/V System}
Computer
Software
The X-HOME! software is the heart of the X-HOME! system. Written
completely in Visual Basic 5.0, the software consists of 11 different modules
running simultaneously under Windows NT while implementing DDE for
communications between program modules. The software modules are
listed below:
-
X-HOME!
-
This is the software which initially starts up all other modules systematically.
This module can also be thought of as the "CORE" module in that it is the
main module which manages all messaging traffic within the system.
-
X-TONE!
-
This is the software which communicates with the Telephone Interface via
the LPT2 port on the computer. The LPT1 port is continuously polled
for data and any data is analyzed by the software for action. This
module communicates solely with the X-HOME! and X-LYNX! modules. It allows
the user to locally or remotely control any X-10 device (on/off/dim/brighten)
, allows for remote operation of alarm system and IR system. The interface
also allows for phone status logging such as #'s dialed, duration and onhook/offhook
status (all w/ time stamping)
-
X-LYNX!
-
This is the software which communicates with and controls the Marrick LynX-10
Coprocessor Interface. This module will either send or receive data
via the coprocessor which is connected to the TW-523 Powerline interface.
The timing nature of this module is pretty tricky at first but was eventually
mastered via software.
-
X-TOUCH!
-
This is the module which communicates with the DMS EL Touch Panel Display.
It allows for display of X-10 control screens and manages all user-touch
operations (which buttons pressed, button highlighting and all other Touch
screen graphics which are displayed. This module send ESCAPE delimited
messages to the touch panel and the touch panel deciphers the received
codes. Communications is sent/received at 9600 bps via the computer's serial
COM port.
-
X-IO!
-
This is the module which communicates with the custom A/D, D/A EISA plug-in
card. This module polls the 8 separate analog inputs (1 analog output)
and 8 separate digital input and output lines (expandable to 256). This
code allows for the periodic polling of the mutiplexed analog inputs and
digital inputs. Analog/Digital output commands are sent as required. All
data has 10 bit accuracy and are scalable via software.
-
X-IR!
-
This is the module which communicates with the Infrared Interface (HAS-8002STD
BIRD RS232 Controllable Learning IR Remote found at http://www.smarthome.com/8002.html).
This module is responsible for sending ASCII data (defining which pre-recorded
IR pattern) to the interface and is used to primarily to control various
Audio/Video system components.
-
X-RELAY!
-
This is the module which communicates with the custom Relay/Contact-Closure
EISA Plug-in card. This modules polls for contact closure status
and also controls the status of the 16 individual relays (4PDT). One use
of this system is the Audio/Video Switching System (AVSS) which consists
of 8 sets of stereo speakers, 4 separate amplifiers, 6 different video
sources (cable boxes, VCRs and 2 AUX inputs) and 6 video monitors/TVs.
-
X-VIDEO!
-
This is the module which communicates with the VGA monitor where then,
the display is routed to the TVs and monitors throughout the house.
This output signal is modulated on channel 4 (where cable is modulated
on channel 3, VCR output is modulated on channel 5 and AUX video inputs
are modulated on channel 6)
.
-
X-VOICE!
-
This is the module which allows the X-HOME! system to talk! This
modules communicates with the Sound card allowing for System control feedback,
Voice Response X-10 Controls, CD Control and other voice messaging needs.
Sound card output can be mapped to any of the 8 speaker systems throughout
the house
-
X-MODEM!
-
This is the module which communicates with the Modem/Fax/Voice mail card.
This module allows for Auto Telephone Dialing, Voice Mail, Fax/email retrieval
& sending and other automated modem duties such as paging me when alarm
system has sensed intrusion or alarm detections (sump pump, low fridge
temp, phone messages, power failure, etc...)
-
X-ALARM
-
This module also communicates with the custom analog/digital IO and Relay
plug-in cards. Both of these cards are also used to communicate with
the Wireless X-10 Alarm system. The status of all sensors can be
monitored and can trigger other macro X-10 events if required.
NOTE: I do not reccomend using X-10 for a home alarm
system !
Computer
External Interfaces
There are various external interfaces for X-HOME!.
They are as follows:
-
The
LynX-10, by Marrick Limited.
This unit performs as the X-10 to PC interface.
The LynX-10 input connects to a PC using a standard RS232 serial port while
its output connects to the power line via a TW523 Powerline Interface module
via standard RJ-11 phone cable. This was purchased as a kit, built and
modified slightly. This unit is very useful because you don't have
to constantly poll the device it to see if an X-10 command has been received.
The LynX-10 monitors the power line and when it detects an incoming X-10
command, it sends a 'text' message over the serial port to the PC.
To send an X-10 signal, you simply send a pre defined text string to the
coprocessor via the same serial port. The LynX-10 coprocessor then
interprets it and sends the appropriate signal to the TW-523 powerline
carrier device. This coprocessor also handles collision detection
(where two X-10 signals are modulated on the powerline at the same time),
incorporates an AC power detection signal, optional digital inputs/outputs
and much more. Contact Marrick
Limited for more information.
-
The
DBI Model T100 Touch Panel
MANUFACTURER NO LONGER EXISTS! (1/04)
The DDI Model T100 Touch Panel is a Electro-Luminescence
(EL) Touch-Screen with a display resolution of 640 pixels by 450 pixels.
The Touch panel resolution is a 62 x 25 grid. This panel is approximately
11" wide by 7" tall by 2-1/2" deep. It has a built in controller
which responses to ASCII text strings (escape characters delimited) and
displays up to two separate full screen pages. These two screen page-modes
allow for displaying a total of 12 different X-10 controlling screens.
-
Communication Ports
2 Parallel ports and 9 serial ports are in use at the same time with
the following functions:
Serial Ports
-
COM1: Lynx-10 Processor
-
COM2: Touch Panel
-
COM3: Mouse
-
COM4: Modem
-
COM5: IR Interface
-
COM6: DSP I/O Card
-
COM7: Relay/Driver Card
-
COM8: TV Coder Card
-
COM9: CD Changer Controller {PSR-4
by Winter)
-
COM10: ?
-
Parallel ports
-
LPT1: = Printer (for reports, graphs, etc...)
-
LPT2: = Touch Tone/Phone Interface
MUCH MORE TO COME ....
Operations
& Capabilities
-
Audio/Visual Controls
-
Intercom Controls
-
Lights in upper floor of house
-
Lights in lower floor of house
-
Outdoor Lights/Fountains/Sprinkler controls
-
Drapery Controls
-
Thermostat Controls
-
Alarm Controls
Aquarium Controls
-
Workshop Controls
-
Door Lock/Access Controls
-
Plant Watering System
-
Occupancy Sensors (10=RF, 8=Wired)
-
Outdoor Yard Perimeter Laser System (custom built)
-
?
I have also modified all my X-10 light switches to allow for local
dimming.
Click HERE
to see this X-10 mod link.
-
I have also modified some Appliance modules
which I use with fluorescent lights.
MORE TO COME!!!!!!!!!!!!
Pictures
& Diagrams
(These are just some quick sample pictures of
my Touch screen displays)
Controller/Touch
screen
Main Screen
House GUI/Layout
X-10 Event Scheduler
X-10 Event Log
Phone Book/Dialer
Analog Clock!
Earthmen
Productions
©1996-2004