Introduction: Home Security Email Alert System Using Raspberry Pi

In this tutorial we will look at how to setup up your raspberry pi to take picture of the intruder who enters your home and send an email to you whenever you are not at your home.

Step 1: What You’ll Need

Picture of What You’ll Need
  1. Raspberry Pi running Raspbian
  2. USB Camera
  3. PIR Sensor
  4. USB Wi-Fi Module for internet access ( optional, if you connect your Ethernet cable for internet, USB Wi-Fi Module is not needed )
  5. Power Adapter to power the Rsapberry Pi

Step 2: Setting Up Your Raspberry Pi With Raspbian

First you need to install Raspbian on your micro sd card that you will be using in your Raspberry Pi.

You can download the latest image of Raspbian from Raspberry Pi website at:

http://www.raspberrypi.org/downloads/

You will need to use an image writing tool to install the image on your SD card. You can find the steps to do that at:

http://www.raspberrypi.org/documentation/installat...

Step 3: Install OpenCV and Required Libraries

There are lots of methods to do this. But I would prefer using the simplest method that is available in OpenCV website at http://docs.opencv.org/doc/tutorials/introduction/...

Open the terminal of your raspberry pi and execute the following commands...

Install compiler

$ sudo apt-get install build-essential

Install required packages

$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev

Install optional packages

$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

Now download OpenCV to wherever you want to compile the source.

$ mkdir xxx

$ cd xxx

$ git clone https://github.com/Itseez/opencv.git

Create and build directory and onfigure OpenCV with cmake. Don't forget the .. part at the end of

$ cd OpenCV-2.4.*

$ mkdir build

$ cd build

$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..

Now compile it

$ make

And finally install OpenCV

$ sudo make install

Step 4: Python Code

Use the attached Python code after editing the following lines

gmail_user = "xxxx@gmail.com" #Sender email address

Enter your email address in the above line using which the Photo captured will be sent

gmail_pwd = "xxxx" #Sender email password

Enter the password of the sender email address

to = "xxxx@gmail.com" #Receiver email address

Enter the email address to which the email with the picture captured will be sent...

Step 5: Make Necessary Connections and Test the Setup

Picture of Make Necessary Connections and Test the Setup

Now connect the USB camera and PIR sensor to the Raspberry Pi.

Using three female-to-female jumper cables, you'll need to connect each of the PIR sensor's connectors to the appropriate pins on the Raspberry Pi.

Connect the top one labelled VCC on the PIR sensor to the 5V pin on the Raspberry Pi, connect the middle one labelled OUT to GPIO pin 4, and connect the bottom one labelled GND to a ground pin also marked GND.

Now you run the python code with sudo to check the setup. Whenever there is a movement it detected by the PIR sensor, an image is captured and email is set the to email address you entered as the receivers email address.

Step 6: How the Final Setup Looks and Output

Picture of How the Final Setup Looks and Output

Now, if you put the setup infront of your home door and run your python code and leave your home. If someone opens the door, you will get an email alert.

Step 7: Adding Wi-Fi Support to Raspberry Pi

Clear steps to setup Wi-Fi on Raspberry Wi-Fi is given at the official guide at

http://www.raspberrypi.org/documentation/configura...

Step 8: Raspberry Pi Auto Login and Auto Start and Run the Python Code

To auto run the python code at start up just by powering up the raspberry pi use the following steps.

Auto Login:

In Terminal:

sudo nano /etc/inittab

Scroll down to:

1:2345:respawn:/sbin/getty 115200 tty1

and change to

#1:2345:respawn:/sbin/getty 115200 tty1

Under that line add:

1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1

Ctrl+X to exit, Y to save followed by enter twice

Auto run the python code

sudo nano /etc/rc.local

Scroll to the bottom and add the following above exit 0:

sudo python /directory/pythonfile.py

Press Ctrl+X to exit, Y to save followed by Enter twice.

If you face any issues in the steps, look at http://elinux.org/RPi_Debian_Auto_Login

Now reboot the system and you will see that the python code has started running automatically and will send you an email if it detects a movement using the PIR sensor.

Now you can turn on the setup whenever you leave your home locked to make sure you get an email alert whenever someone enters your home when you are not there...

Comments

MohamadH3 (author)2015-08-05

hello..i'm following your step and stuck in installing OpenCV

$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

i got some error...and proceed by ignoring the error...then all the next step i cant complete it.

beziered (author)MohamadH32017-09-17

I have the same trouble.

papashok (author)2016-07-25

Wonderful project but code was not working for me and giving lot of errors and also e-mails are not instant and many times 15 min late So i write code and integrated with pushbullet.com

So Its python script For raspberry pi with pir sensor and raspi-cam or usb
cam
Working

..................................................

Whenever motion is detected by PIR sensor Its get the usb camera to
take photos ( about 5 photos by default ) And Send the photos to
pusbullet app with instant alert on smart phone

Any one need help in setting up and running script

contact

papashok64@gmail.com

https://www.fiverr.com/papashok/help-you-with-rasp...

harmeet03 (author)papashok2017-06-12

heyy hiii papashok

i am trying to integrate the code with pushbullet app , but i am not able to do so,

giving lot of errors??

can your share your code at harmeetmonty11@gmail.com

SuthaA1 (author)2016-08-03

Project Working..I use raspberry pi 3 model B ...try to use new version of opencv

how to add multiple email receiver

adi_rahardjo (author)SuthaA12016-12-25

Sutha1 : please share your code to me, i need this

AnupO1 (author)SuthaA12016-09-07

can u share me the source code???

OmkarP26 (author)2016-09-22

after entering make, getting error

make: *** No targets sepecified and no makefile found. stop

LeoK22 made it! (author)2016-02-26

A similar project, that is already completed and integrated to a real apartment is described here. It uses Raspberry Pi Model B and offers motion sensing, video logging and server back up.

balaji_esakki (author)2016-02-18

can anyone help me with the algorithm for the above provided python codes???
thank you

C1115 (author)2016-01-31

Hello

I am trying to do complete this with a Pi Cam instead of a USB camera, but I don't really know where to start. Are there any hints, tips or tutorials available?

C1115 (author)2016-01-31

Hello

I am trying to do complete this with a Pi Cam instead of a USB camera, but I don't really know where to start. Are there any hints, tips or tutorials available?

sharon c jhon (author)2016-01-14

Is it possible to connect raspberry pie camera module instead of USB camera

Yes it is possible

HariM7 (author)2015-12-21

can i chaange with raspberry camera module ? must change the python source code ? please help me. i'm newbie. thanks

HåkanG (author)2015-09-22

Any chance of connecting it to a 3G Dongle like this one?

http://www.4gltemall.com/3g-42mbps-usb-modem-huawe...

What extra code would be needed and where would I place it? :)

AWESOME WORK! EASY EASY EASY!

pengocha (author)2015-09-14

Got it working, followed these steps to install OpenCV, took my pi b about 28 hours...

http://www.pyimagesearch.com/2015/02/23/install-op...

Is there a way to break out of the pir loop at any given point?

gamal.a.othman (author)2015-06-10

when i write this part
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..
it tell me that this is undefined part

gamal.a.othman (author)2015-06-10

can i try your code without connecting the parts to raspberry pi ??

seamster (author)2015-04-04

Very nicely done!

About This Instructable

40,144views

90favorites

License:

More by jayakarthigeyan:Home Security Email Alert System using Raspberry Pi
Add instructable to: