SourceForge | About SourceForge | Partners | Contact SourceForge | Login linux.com partner  
VA Linux Systems

Welcome to the Linux Home Automation project


Linux Home Automation
Homepage
History
Design Philosophy
Status
Supported devices
LHA Documentation
Make a donation

My Linux HA pages
The Linux HA Forum
My Linux blog

Not Logged In
Login via SSL
New User via SSL

Search

Require All Words

 
 

Design Philosophy

Here is a list of the various ideas I'm working with:

                        +--------------------+
                        | GUI | Shell | cron |
                        +--------------------+  ^
                        |  CMDS  <=> scripts |  |
                        +--------------------+  |
                        | Network |  system  |  |
                        +--------------------+  |
                        |      Daemons       |  |
                        +--------------------+  |
                        |       Device       |  V
                        +--------------------+

Hey that looks just like the ISO model, hmmm what a coincidence :-) It also happens to be the Unix design philosophy. Create a tool, keep it simple so that it does one thing really well. BTW the drawing is incorrect, the Daemons are built on top of the Network/Systems layer. I will correct that at a future date.

What I had originally envisioned was to build simple daemons which would perform the I/O to the devices. They would convert simple ASCII commands to the proper format and handle the timing to the interface with the device. You could then connect to the daemon via a network socket (telnet me x10d for example) and type in commands and receive responses. Then the next step would be to build programs that would interface to the daemon so you could type simple easy to remember commands from the command line (something a little closer to english such as on TV as opposed to A1AON). This of course would permit the commands also to interact with other commands (through the use of pipes or filters such as expect). The next logical step would be the creation of GUI's to permit the Object Oriented view of things (you click on a TV to turn it on or off). We're not too far from that now. My problem is that I want to use the browser to be that interface. This would allow any user Windows, Mac, or Unix to bring up a display and make changes dynamically. I've started working on using Perl/Tk because I can write the code once and run it under Windows and under Unix (it may also be possible to run it on a MAC but I'm not setup for this).


	       System A                              System B
	                                      +--------------------+   
	                                      | GUI | Shell | cron |   
	                                      +--------------------+  ^
	                                      |  CMDS  <=> scripts |  |
	+--------------------+                +--------------------+  |
	| Network |  system  | <------------> | Network |  system  |  |
	+--------------------+                +--------------------+  |
	|      Daemons       |                |      Daemons       |  |
	+--------------------+                +--------------------+  |
	|       Device       |                |       Device       |  V
	+--------------------+                +--------------------+   

Further Home Automation software can be found at the admin's personnal home page: http://members.home.net/ncherry And the project admim may be contacted at: ncherry@users.sourceforge.net

Please check back soon for updates or visit SourceForge


All trademarks and copyrights on this page are properties of their respective owners. Forum comments are owned by the poster. The rest is copyright 1999-2005 VA Linux Systems, Inc.