Technical Details |
||||
|
The Hardware
The Software
The software, dubbed EverSequence , let's you design light sequences much like you do in the online version on this site, except that it is much more robust, with a lot of features like cut-and-paste, the ability to label each realy, group select, etc., that I was too lazy to implement in the web version. It supports configurable plug-ins for different interface cards (just the EECI and Pencom cards, so far), and also provides support for looping, pausing, and controling X10 compatible devices..again, none of which is available online. EverSequence is in it's fourth revision now (basically, I've revised it every Christmas, four years is a row). Last year, the most significant change was that I added the ability for it to opperate in "Slave Mode". In Slave Mode, lights sequence requests can be queued up for processing by sequencer. This is how I interfaced the requests submitted via the web interface without having to do a whole lot of new work. Most of the work went into creating a DHTML interface for designing simple sequences - most of the stuff for actually controling the relays stayed the same (with the exception of a lot of cleanup and refactoring which I wind up doing every year :-). This year, I finished up some major refactoring I started last year to improve the scaleability and to make sequences "time accurate". That basically means if a span is set to start at +59.5 seconds into the sequence, it will..regardless of how many spans are in the sequence. Before, the more spans, the slower the sequence got. This would have been a real problem when trying to synchronize with sound - which is another big improvement I added this year. Anyway, that's pretty much done now, so it scales a lot better AND the new support for sound works - and not just short sound bites, like I orginially planned, but entire mp3's. So it's no problem to set sequences up for stuff like Trans Siberian Orchestra! This year, I also added a little timer utility to load a given sequence at a particular time or to repeat a sequence ever x seconds between such-and-such times. Also, earlier this year, I started switching my home light automation stuff from X10 over to Insteon. As part of that, I bought the SmartLinc, which is a nice little Ethernet-attached controler with an embedded web server, so from any browser, including the iPhone, I can turn various lights and appliances on and off. Anyway, since I'm basically switching over to that, I went ahead and knocked out a plugin for controling Insteon devices via the SmartLinc. That should let me do some nice fades, etc., if I get some extra Insteon modules quick enough. I'm at well over 15000 lines of code on this sucker now and I think I've had about enough of it. Probabaly just a few more bug fixes from hear on out is all I really have the enregy for :-)
|
||||