I’m done with school now, degree and all, and still have a couple of weeks before I’m officially on the job. In the meantime I’ve been fooling around with some home automation hardware, specifically the veralite from micasaverde. While I haven’t spent too much time with the veralite yet my first impression is that it is still a little undercooked. Developer documentation is rough to non-existant, serial support is sketchy, and the Android app seems hit or miss. That said, I do like the box and there seems to be a ton of progress being made on the backend. In an effort to learn the Lua language used for plugin development, and to keep myself busy, I’ve taken on another hardware and software project. Pictured below is the first prototype of this project.
My original goal was to be able to control multiple garage doors through the vera interface. Existing plugins relied on using a relay to switch an existing garage door opener. This setup could be repeated for multiple doors but it would become increasingly impractical and be nowhere near as fun as a custom solution. In the orignal configuration the code is set by a DIP switch. The pins of the control IC are either connected directly to the 9V supply or left floating to select one of 1024 possible combinations. I removed this switch and implemented the simple circuit below to either pull the pins up to 9V through the pull-up resistor or short it to ground via the BJT. As of this version I’ve wired up two transistors giving me a total of four possible codes. The premise works but the circuit needs some minor tweaks to grow it to full scale.
The second half of this prototype involved some simple code which I implemented on an Arduino. Unfortunately the Uno’s USB-Serial setup didn’t seem to work with the vera so I ended up using my Bright Light Controller (which has since been completed but not written up) as the backbone between the vera and controller. With a simple serial command (!0,!1,!2,…) I was able to transmit any desired garage door code. My next step from here will be to go ahead and create a board layout to accommodate all possible combinations and implement a more robust communication protocol between the vera and arduino.