[Patrick] wanted to have centralized sensing and control over various parts of his house. His Raspberry Pi Home Automation System integrates a bunch of functionality in one rack mount package, salvaged from an old network switch.
The automation system is based on a Raspberry Pi running Arch Linux, which talks to an ATmega over SPI. We’ve seen this setup used many times before to add additional ports to the Raspberry Pi, but what makes [Patrick]’s build unique is the amount of control he’s built into the system.
The box controls outdoor lighting at sunset and sunrise, generates wakeup calls, controls IR cameras, and plays sounds based on events. It’s capable of monitoring sump pump water level, the state of a house alarm, and more. A custom REST API is used to interact with the device. This allows for programs on any platform to interface with his home, and acts as an API for his house.
[Patrick] provides a lot of details in his build log, which should be helpful to anyone looking to roll their own home automation system. The source is also provided.
19 thoughts on “Rack Mount Home Automation With A RPi”
How cute :-)
But not as cute as you :D
Why all the hate for GPL, Patrick?
It’s just that I like to give out my code for free. With no strings attached. But when I use GPL code, I cannot do that anymore. That is the reason why I often just write my own lib/software instead of using other people’s code (like my JSON library on that same site)
That is exactly the reason why LGPL should be used for libraries…
Railing against something is one thing, but then using it is yet another.
I’m doing something very similar, except I’m using a Beaglebone.
It doesn’t look like his website can handle the load HackADay sent it…
Document this please. I won a beaglebone and am starting to learn python and know the basics of linux. It is great to see more and more support and tutorials for this great board.
I plan on it. I’ve got a lot of work left on it.
It does EVEN more! It looks like it runs his website too!
I hope I’m not DoSing his toilet flush by trying to load the page.
page server is in a bit of trouble,,,
Yeah, the server is in trouble. I am currently changing server…. sorry about that.
Raspi… *yawn. Its like the new arduino around here ;)
Common, who doesn’t like pie ???
I do agree that the raspberry might sound lame, but my original intention was to use a real motherboard and build this with a full computer. But then I realized I didn’t need that much power. And the rPi is much smaller.
Don’t think of the rPi as a better replacement for an arduino, think of it as a better replacement for a full fledged computer. I am a person who will use either a full computer (rPi counts) or I will make my own circuit from scratch (no arduino).
I also have a NGW100 that I could have used for this. but the rPi is way cheaper to replace if I break it.
Nice work! I’ve been thinking of building out something similar ever since I got my pi, just have not gotten around to doing it. I was going to take a different route for communicating with an ATMega, my thought was to get an ethernet shield and arduino and spin up a webserver with either a REST or XML POST API, that way endpoints could be reached by a browser very quickly for system debugging. It would also give me an excuse to use up the spool of ethernet I have sitting at home :).
Awesome, love the asterisk integration.
This could benefit from some DEVSTATE functions to update BLF lights on a phone based on the status of real world devices.
Actually I’m working on adding BLF support in my SIP module. The device will monitor the state of my FXO. Next christmas, I will make my christmas tree blink when the FXO is seized. But you just gave me an idea… I could do the reverse:. Have my device send NOTIFY so that a phone would subscribe to to different states of the device. So I could have a BLF that shows wheter the alarm system is on/off, or other things like that.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)