These are the details of the SeCADA project
SeCADA is the Supervisory Control And Data Aquisition project
(for Home Automation and Security)
Chris Bergeron


Click here for the current status of Chris Bergeron's home




Last updated on: Tue, November 2, 1999
To date the project consists of:

Pentium 133 running Linux (what else?)
APC 400 Uninterruptible Power Supply (UPS) for battery backup
1.2 Gig hard disk storage (for event recording)
16 bit soundcard
magnetic reed switches (for door / windows)
joystick buttons (used with jslaunch)
telephone recording control (for monitoring phone use)
X-10 Home interface
X-10 light modules (for lights)
X-10 remote control
X-10 RF interface (for remote control)
Parallax Inc. Basic Stamp Microcontroller

The SeCADA project is my home automation and security project. It provides me with internet access to my home lighting, and limited control of some home appliances. I can check on the status of the doors and windows, as well as CALLER ID data. In a nutshell the "secada" computer records data that occurs at home, and waits for commands to execute. I currently have control over:

2 Lights (dimming and brightness included)
My Answering machine
Heating A/C
Dishwasher (status)

The sensors I can read (via the parallel port) are:
2 Doors sensors
2 Window sensors
Doorbell switch
Panic switch
Telephone in use sensor (Radio Shack telephone recording control)
Temperature sensor (Dallas Semiconductor DS1620 connected to serial port)

I use magnetic reed switches on the doors/windows. They are connected to a homemade parallel port circuit that returns 0 or 1 on a designated pin on the port. Using homemade software (called xport; I'll publish the source after I clean it up) I can both activate a switch or read the status of existing switches.

The system currently monitors all sensors and inputs changes into a database. As it stands the system dims my bedroom light based on the amount of light/dark coming in from outside. If the house is occupied, the CDS photocell registers an analog signal based on the amount of light hitting it. The software was calibrated from both extremes of light and dark (dark sample was taken at midnight, and light sample was taken at noon). A Dallas Semiconductor DS1620 Digital thermostat feeds the temperature into a Parallax Basic Stamp microprocessor. The Basic Stamp sends the data to the serial port of the secada computer. Using a perl script, I parse the temperature and input it into the database. The database is then uploaded periodically to my web server, where the results are parsed and put on the web.

I just recently added a line to display what .mp3 song I'm currently listening to at home.

Using software called jslaunch I have 1 touch access to my dialup connection, I can shutdown the computer, I can stop X Windows and I can trigger an alarm.

The parallel port provides me with 5 input sources and 8 outputs. The inputs are the magnetic reed switches connected to the GND wire of the parallel port and 5 control lines (BUSY, ACK, etc). If the switch is closed (the pin is connected to GND) the port will read a 0 and if not will read a 1 (unless inverted). The modem provides the CALLER ID data, in addition to dialing into the web server to post the data.
The software replaces the traditional "riiiiiiinnng..." of the telephone, for a pleasant "Incoming telephone call..." voice. Upon successful entry of a passcode, the system responds with: "Welcome..." The sound files are of the Microsoft WAVE file type for easy updating / modifying.
On my home network, I have access to the secada computer via an X-Windows application (called xport; mentioned earlier). I export the display of the secada computer to my workstation and I can activate switches and see the current status of all the devices from whatever computer I'm currently working at (this includes my office - I tunnel the X session thru encrypted ssh to my office computer).


The parallel outputs are used to manipulate / control real-world devices. Each output that goes "high" (+5v) is used with a transistor / relay circuit (see circuit below). In my original design, I had modified an X-10 home automation controller base(see picture below) to accept the parallel input to control the X-10 devices. The circuit / interface closes the contacts on the switches, which emulates the buttons being pressed. However, this has been replaced with an X-10 CM11A serial port interface. This unit plugs into the serial port of the secada computer and into the wall outlet. Using heyu for linux, I can turn lights on or off by issuing commands on the command line or from a script.
The X-10 remote control allows me to control light dimming features from the comfort of my bed or couch. In addition, the remote that I bought is a learning remote, and it's preprogrammed for most of my audio / video equipment. Finally, I was able to concatenate all my remotes into one. All house lighting is able to be controlled from the software, or the remote control. One of the benefits of this is that the software can be programmed to "simulate" activity in my home during any absences. Christmas lighting is software controlled for the months of November / December at dusk.



The parallel interface circuit is on the left. A 2N3904 Transistor is used and all 8 outputs are the same. It connects to pins 2-9 on the port.

This is a photograph of the interface board.
This is a snapshot of xport
By editing the "config.h" file I can configure xport. For purposes of this demo, I selected Activate Pin x and Status Pin. Each represents the respective pins on the parallel port and the current status of them. The "Activate" series are buttons that I can toggle. The "status" series are toggled based on the actual status of the pin. There's an updatedelay variable that controls how often the program reads the port.

This is the block diagram of the system.

This was my original notebook entry for the system (not current)




If you have any ideas or contributions to the project, please feel free to email me at christopher@bergeron.com
or sign my guestbook!

Member of the:

Prev 5 | Prev | List | Next | Next 5
These are some great websites that have linked to this project:
The Original Home Automation Index
One of the web's first summary sites of internet connected machines
My site when I was at FSU (Go Noles!)
A CS.FSU site linking back to me from 1997:)
Google