Raspberry Pi Python script to email, tweet, or send an SMS if a garage door is left open.
Here is a heavily condensed quick start guide. New users are strongly encouraged to read the full documentation at http://www.richlynch.com/code/pi_garage_alert.
-
Equipment required
- Raspberry Pi model A or B
- 2GB or larger SD card for the RPi filesystem
- Magnetic sensor (e.g. http://www.smarthome.com/7455/Seco-Larm-SM-226L-Garage-Door-Contacts-for-Closed-Circuits/p.aspx)
- USB wifi adapter (if not using Ethernet)
- USB power supply for RPi
-
Connect one wire of the magnetic sensor to a GPIO pin on the RPi and the other to a ground pin on the RPi. It is a good idea to put a 1kohm resistor in series with the sensor to protect the RPi from damage if anything is misconfigured.
-
Raspberry Pi initial setup
- Follow the guide at http://elinux.org/RPi_Easy_SD_Card_Setup to write the Raspbian image to the SD card.
- Boot the RPi and at raspi-config, expand the filesystem, set the "pi" account password, set the hostname, and enable SSH.
- Reboot the Raspberry Pi
-
Edit
/etc/wpa_supplicant/wpa_supplicant.conf
and configure the RPi to connect to your wifi network. -
Regenerate the ssh keys for security.
-
Update the packages with
sudo apt-get update && sudo apt-get upgrade
, then install the dependencies:sudo apt-get install python-setuptools python-dev libffi-dev sudo easy_install pip sudo pip install sleekxmpp sudo pip install tweepy sudo pip install twilio sudo pip install requests sudo pip install requests[security]
-
Optional email configuration
- Configure postfix to send mail using Google SMTP, or your ISP's SMTP server
-
Optional twitter configuration 2. On https://dev.twitter.com/apps/new, create a new application
-
Optional twillio (SMS) configuration 3. Sign up for a Twilio account at http://www.twilio.com.
-
Copy
bin/pi_garage_alert.py
to/usr/local/sbin
-
Copy
etc/pi_garage_alert_config.py
to/usr/local/etc
. Edit this file and specify the garage doors you have and alerts you'd like. -
Copy
init.d/pi_garage_alert
to/etc/init.d
-
Configure and start the service with
sudo update-rc.d pi_garage_alert defaults sudo service pi_garage_alert start
-
At this point, the Pi Garage Alert software should be running. You can view its log in
/var/log/pi_garage_alert.log
The script will work with any sensor that can act like a switch. Some alternate uses include:
- Basement or washing machine leak sensors
- Window sensors