****************** Entry Requirements *******************************
System Design Document: https://electronichamsters.files.wordpress.com/2014/08/system_design.pdf
Phase 1 of this project is to provide an over-all design and examples for home automation sensors. Below, you'll find my progress with video demos of each sensor. The basic architecture has been built.
I'll work on providing more example Arduino sensor nodes to fill up a home automation system.
Phase 2 is an experiment with physical computing. Once I have all the sensors set up, I'd like to build a doll-house size replica of my house, with servo controlled windows and doors, and LEDs. When a door opens up in the real house, the replica house's door also opens. Basically, I'd like to come up with a replica house analog for all the sensors I have in the real house.
Here's a video of the garage door monitor that's in this tutorial.
1) "Mailbox Sentinel" - a battery powered Arduino monitors your postal mailbox, and the raspberry pi plays the old AOL "you've got mail" sound clip when the mailbox is opened. It also emails you, and sets the mailbox status on the webpage, reports the time stamp of the last opening, and lets you know the Arduino battery voltage.
Mailbox Sentinel quick demo video
Mailbox Sentinel - Detailed Explanation
2) "Baby Room Sentinel" - same thing, except monitor the temperature in the baby room and alarms when it's too hot or cold. I have a 6 month old.
3) "Washer / Dryer Sentinel" - same idea, have the raspberry pi announce when laundry is done.
4) "Water Leak Sentinel" - email yourself when your house is flooded
5) "Home Intrusion....um...Sentinel" - basically just a twist on the mailbox sentinel, using a PIR sensor instead of a reed switch, and plays a loud alarm noise instead of the AOL sound clip.
6) "Runaway Dog Sentinel" - Emails / alarms when your dog wonders off the yard
7) Hydroponics, home HVAC control, security system, aquarium automation...
What problem does this project solve?
If you googled "Arduino Home Automation", there is no shortage of examples of Arduino being used in some kind of home automation. When I first started looking into using Arduino as sensor nodes to do home automation, none of the examples I found really fit my idea of home automation. Some of the Arduino examples didn't use wireless transceivers, only used ethernet shield. Or they used expensive wireless transceivers, or used transceivers that had very short range. Sometimes the examples couldn't easily be extended to do the breadth of home automation ideas I had, or couldn't easily interface with non-Arduino systems. Some of them required too much programming on the server side (hard programming), or locked you in on the Arduino side (easy programming). There's some cynicism that Arduino can only "kind of" do home automation and IoT, but not completely. From here, I begin to form a list of requirements:
Sensor nodes must:
1) be cheap to make, cost less than $20
2) be power efficient enough to run on batteries
3) have good wireless range
1) able to run on windows, mac, or Linux on low power SBC
2) provide encryption and authentication on the web interface
3) provide rules engine (if this, then that)
4) historize and chart data
5) be flexible, accommodate different types of inputs and outputs
I then came across the OpenHAB platform - an existing, sophisticated, well-supported open sourced home automation solution with a full web interface, data historization capability, rules engine, and more communication options than you can shake a stick at. Unfortunately, there weren't any good examples of how to make Arduino talk to OpenHAB. In the mean time, I still wrestled with getting a hardware design and a wireless solution that was cheap and energy efficient enough for battery use.
I think I've finally figured out how to make Arduino talk to OpenHAB in a way that is extensible. And...Read more »