Home automation plan progress

So, as mentioned before, I've embarked on building a custom home automation solution. Why? Because I can't find anything that will do all I want it to do. So, by having a custom solution that can talk GPIO, Serial and Ethernet... and possibly a few extra bits via GPIO (such as IR, RF, Zigbee and more), I can also hook in Hue and EasyHome and more...

I'm glad to report that I'm making good progress. I've got the bare bones working:
My Arduino can switch things on and off, dim things and follow instructions. It's the core brain in my set-up. It does some of the switching through some opto coupler relays, and I can later do more like IR and RF, and have some LEDs connected through PWM to do dimming.

But because it does not talk natively to the outside world well, I'm using a serial interface to a Raspberry Pi (via USB). And on the Pi, I'm running Apache and I've built a simple API that will allow me to call it via commands like http://pi/switch.php?relay=3&value=on, or http://pi/switch.php?light=bedroom&value=reading.

And then I've got a simple HTML5/CSS3 page (that could run from the Pi, but I've chosen to run it from AppEngine) that will allow me to switch bits on and off as needed.
The idea is that I'll be able to get my phone to notify home that I'm around the corner, nearly there (via Tasker on Android), which then turn off the noisy fish tank filter, open the gate, turn on the fountain (I wish!) and later the door as I approach, welcome me at the porch with lights (depending on ambient light), and as I enter the door switch on the "runway" light strips to welcome me home. If it's evening, perhaps also turn on a bit of music, switching amplifier sources and so on.

We'll see how far I get, but so farm, I'm really enjoying it.
Next challenge to resolve: I need my Arduino to remember state (for toggle and dimming/soft switching modes), and then need my API calls to the web server to return the state after calls. It is not as trivial as it sounds, as I also need to listen to the same serial port for instructions from the Arduino to do things like switch on Hue bulbs if the specific scene includes instructions for these bulbs. I might need to resort to using a second Serial interface on the Arduino.
The other challenge is to find good wall switches for my project. I ideally want something that can give me on/off/brighter/dimmer or scene a/b/c via a simple interface. OR, design it such that I never need to manually turn lights on/off... Any suggestions, let me know.


  1. Quick question Alfred, did you look into Ninja Blocks? They are doing some of these things, based on the BeagleBone (with the rPI in development too). They (appear to) have an interesting cloud based rules engine for triggering actions based on detected events from their hardware...


Post a Comment

Popular posts from this blog

Google tilt or barrel roll

100% web is feasible