So, I've been playing around with an Arduino (or two of them). I started out with an Arduino Nano, and implemented a fully functional "alarm" system. (I called it the "poor man's alarm"). Simply, it used an ethernet shield, and when a pin input went high (or low, depending on how it's configured), it would send a notification to a webserver. That CGI would then post an SMS message via Google Voice (if you had "enabled" the alarm via the CGI).
The hard part was installing all of the cabling to the doors for it. I ran cat5e to all of the doors, and implemented magnetic reed switches. I also had code to detect a garage door state using two of those switches, so I know when the door is opening, open, closing, or closed. (Binary logic, here). Nice and simple!
If anyone wants to see the code, let me know! (My e-mail username is joe, and my e-mail domain is joe-lewis.com.)