[EDIT] I created a forum to collaborate on gateway code.
A few years ago, I became a dog owner for the first time. I didn't like leaving Cody in the kennel alone all day. I had a webcam on him, but I couldn't watch it all day long. What if he was in some kind of distress? What if there was a emergency at the house, like a fire?
I wanted some way of getting an immediate email notification when he barks, or when something bad happens. So reading lead to tinkering, and tinkering eventually lead to making this full blown home automation system based on open source hardware (Arduino) and open source software (OpenHAB). I know I know, yet another "Arduino Home Automation" project, right? But I promise I'm not going to turn on a light from a smart phone. I'm more focused on extensive networked sensors, timely alerts, and aesthetically appealing presentation of events.
Here's the basic idea. With Arduino, it's really easy to connect boatloads of cheap sensors. Using this setup, that boatload of cheap sensors can now be on the internets. They can email you when things get too hot, too cold, too smokie, too gassy, or too bright. And your dog can email you by barking. You can also view the status of sensors on your smart phone. These sensor nodes are wireless, so you're not constrained by the location of ethernet ports.
Here's how it's put together.
This Instructable will be a tutorial for how to build a variety of long range wireless sensors, and how to integrate these sensors into a sophisticated open source home automation server. Aside from looking at a mobile app to see what's happening, you'll also receive timely email and audio notifications. This is a long Instructable, but you can jump to the sensor you're interested in building.
These elements are the focus of the design:
So, here's the list of sensors in this Instructable. I want to provide a home with the full range of human senses. Your home should be smart and sensitive.
Dog Bark (Any Loud Noise) Sensor
Get email notifications of loud noise. I use it to get an email if my dog barks in the kennel, so that I can open up my kennel webcam and see why he barked. There is also a counter to try to quantify how much he has been barking.
Get an audio reminder when washer/dryer cycle completes - something like a "Washer Complete" announcement in the living room. No more forgetting laundry in the washer or wondering if it's done yet. Use the smart phone app to check if the cycle is complete or if the load has been picked up.
Detect whether the light got left on or not. Displays the status of light on the smart phone app.
Area Intrusion Monitor
A PIR sensor monitors a room and sets off audio alarm / email notification when it senses a moving body.
Get notified if your dog runs away, track he's GPS location on google maps, and also map where he poops.
Although this should not be the primary fire alarm, it can be used to send an email notification to you when the sensor senses smoke, fire, or LP gas commonly used in gas-powered stoves.
Temperature / Humidity Sensor
Temperature and humidity is reported to the mobile app. Optionally, you can enable email notifications when temperature dips below/above some preset value. Helpful for detecting furnace or air conditioner failures. You can also view a historical chart of temperature data using OpenHAB.
Water Leak Sensor
Get an email notification and audio alarm when a water leak is detected.
Just kidding, I got nothing for taste. I just like that picture. A couple more sensors that don't fit in neat categories.
Security - Door / Window / Drawer / Mailbox sensor
A battery powered reed-switch sensor that can set off an audible alarm, or send an email notification to your smart phone. Can be used to monitor doors, windows, mailboxes, or drawers. It also logs the time the event happened, as well as the remaining battery capacity on the sensor.
Garage Door Monitor
This is handy if you can't see your garage door from the house. Use a smart phone to check whether your garage door is opened or closed. You can also set it to play an audio reminder at, say 10PM, if the garage door is still opened.
With these sensors, everything from your dog to your washer & dryer can be part of the Internet of Things in a practical and useful way.
If there is any other home sensing thing you'd like an example of, add a comment and I'll try to get a sensor for it or use an existing sensor to fill the need. I'm trying to make a collection of sensors for most situations. It's only in the aggregate that this system makes sense - a bunch of one-off sensors don't really create a coherent home automation project.
Thanks for visiting my Instructable!
I'll start off with some videos explaining how this system works and how it can be used. If this is still interesting, the rest of the steps detail how to build it. You'll see these videos repeated on the steps for the individual sensors. The home automation and "IoT" space is so fragmented right now that there's a lot of cynicism about whether or not the smart home can work or is actually useful. Besides showing you how the system works, the videos help lend some credibility to the project.
1. Detailed Video Explaination
2. Wireless Laundry Room Sensor
3. Wireless Garage Door Monitor
4. Wireless Uber Sensor
5. Security - Wireless Door Sensor or Mailbox Sensor
There are a lot of "Arduino Home Automation" projects out there. My project is unique for the following reasons:
The heat map below shows the range of the RFM69HW wireless transceiver used in this project. I produced the map using a GPS module connected to an Arduino with a RFM69HW transmitting the coordinate. I walked around outside with this GPS Arduino while another Arduino sitting inside my house received the GPS coordinate every few seconds. I then mapped the GPS points. I'm able to send data 7 houses away, through many walls. Zigbee, bluetooth, Z-wave, and wifi can't do this for just $4. The 915MHz frequency used by the RFM69 has better range and wall penetration than 2.4GHz wireless modules. This is one of the reasons I'm using it instead of the nRF24L01+ transceiver that is popular in the Arduino community.
This is an example page from the OpenHAB user interface.
This project doesn't require hugely expensive equipment. The technical challenges are surmountable. And the results are pretty cool.