My VB Monitor program
|Back to main X10 projects page|
| I wrote a Visual Basic program that integrates several systems into one program. I monitor my X10 home automation modules, my motion sensors, my Dallas one
wire sensors network and my video cameras. I can do Video capture of still images and capture live video using the FG Engineering 8 Camera multiplexer camera switcher. The program
monitors all these systems and then can make decisions to switch on and off X10 modules, capture video or still frames, etc, the list of things that can be done is almost endless.
I do things like monitor humidity levels under my house and then turn on and off a dehumidifier. I also monitor several temperatures in a new greenhouse I built. I will be doing all sorts of automation in the green house this fall, like turning on exhaust fans, water pumps, monitoring a solar collector and battery systems, etc. I have a couple long range motion sensors outside my house that trigger X10 powerflash units. The X10 traffic is picked up by my program and then lights can be turned on if it is night, a chime goes off to let me know a motion sensor was triggered and video snap shots are taken and saved on my hard drive. I have lots of small automated things going on and way more ideas to be added onto my VB program.
There are four tab pages to the VB program currently, X10, Video, Graphs and One wire. I have screen shots below of all four tab pages.
|Here's a shot of the X10 tab. The red and green images are buttons where I can turn on and off X10 modules manually. The area on the right is the X10 traffic monitor. Anything that happens on the X10 network is reported here. I read the traffic as it happens and then the program responds with whatever I need it to do. If a module is turned on by my program, the button will go from red to green and reflect the current on/off status of that module. I am currently not running Active Home Pro, my program has taken over the X10 duties that AHP used to run.|
|Here's a shot of the video monitor tab. Lots of stuff going on here on this page. At the top is the video source selection box. If I had more than one video
source available, I could select that source in this box. Below that is the live video window of the current camera. The live video window is where the current camera image
is displayed. You can record live video of whatever is showing in the live video window.
The program automatically starts scanning each camera when the program is started, but you can click on any camera number by using the radio buttons and look at a particular camera. The program stops scanning while you are looking at a particular camera. The green light next to the scan camera button turns red when scanning is turned off. The red dot next to the radio button is the scan indicator. It moves up and down to show what camera is being scanned. If you stop scanning, you can resume scanning by pressing the Scan Cameras button. The current camera number being scanned also appears in a text box up above the still shot window.
To the right of the live video window is the snap shot image window. This image appears when you click the Save photo image button, or you can just click on the still image window and whatever is showing in the live video window will appear in the still window. My motion sensors also trigger the still image capture event. The live video window is captured, the still image appears in the still image window and then the still image is saved to my hard drive. In the still shot above, the UPS truck pulled into my driveway. The motion sensor went off, the program started a X10 noise chime to alert me and then it took still shots of the UPS truck.
At the bottom there are 8 small image windows. These are the last scanned image for each camera. The small images are replaced every time a camera is scanned. If I had 8 cameras,
there would be the last scanned image of each camera. I have several more cameras, but I am only monitoring two cameras at the current time.
|Here's a shot of the Dallas one wire tab. Dallas one wire is a bunch of different types of sensors that run on a 2 or 3 wire network. Don't ask me why they call
them one wire, you need at least two wires. Usually, cat 5 cable is used to connect all the sensors. You can run them in series and up to a hundred or so sensors can all be run on
a network. Each sensor has a digital id number on a chip and that is how it is identified on the network. There are many kinds of sensors available for weather and other types of
measuring. At your PC, you need a one wire hub that plugs into a USB port or a serial port. This hub supplies power to the network and this is where the sensor readings are taken.
I am reading several sensors like temperature and humidity and then turning on and off X10 modules based on the data. I have a bunch of ideas in mind now that I have tapped into
my Dallas one wire network. There's so many things you can do once you can read digital sensors. See the links below for more one wire info.
|Just one of the several graphs my program generates based on the one wire sensors. This is a graph of the outdoor sensors I use for weather data. I use Visual Basic and GDI+ to create bitmap images of the graph data. I ftp upload these graphs every 15 minutes to my web site. I have a Weather Underground weather station site where people can see the current local weather. There are several private weather stations like mine in my area that report local weather readings.|
|My 8 camera Multiplexer and how it switches|
| Here is a picture of my customized 8 camera multiplexer. The FG Engineering multiplexer is basically just a fancy camera switch. There is also small circuit
board that is bolted into a dummy PCI slot on the PC and that is where the actual switching hardware is located. Normally, the mux comes with all the RCA jacks free hanging, each
on it's own wire. I wanted to make it a bit more bullet proof and so I removed all the free hanging female RCA jacks and then installed the jacks inside a nice die cast aluminum
box. On the other end of the two large wires are parallel port connectors. One connector goes to the PC's parallel printer port and the other connector goes to the multiplexer circuit
board. Any one of the 8 camera inputs can be switched to the outputs by my VB program or I can switch the mux manually. All you do is send a 0-7 command to the parallel port to switch
to a particular camera. There's a cover that screws on and closes the box up.
Here's a link to the FG Engineering web site where you can see info on this multiplexer - FG Engineering's multiplexer
|The multiplexer or mux as they are called, is bolted into the PC in a PCI slot. The mux is not using the PCI slot connections, it just needs a mounting place. The
mux has a circuit board where the video switching happens. There are two large cables leaving the RCA mux box I made. One cable goes to your PC's parallel printer port and the other
one is plugged into the mux board. The mux is switched by sending the command 0 through 7 to the parallel port. Sending a number 5 to the parallel port switches camera 5 input to
the camera output. Pretty simple stuff and very handy to have camera switching that is super fast. All your cameras stay on full time, you are just switching input to output to view
The mux came with one RCA output and so I added two more to my RCA box. This lets me send the current camera output to my video capture card and the AHP USB adapter. You can view the output of the mux on multiple programs at the same time if needed.
MEMBER OF PROJECT HONEY POT
Spam Harvester Protection Network
provided by Unspam