loading

This Raspberry Pi, IoT Doorbell is basically a simple smart Door Bell, which takes a photo of whoever rings it, and emails it to the specified email address, and keeps all the photos in a folder. (along with going Ding-Dong). This is my first Instructable so I hope you enjoy :)

How I have set out setting this up is: OLD:

the camera is looking at the door bell. I couldn't have the camera above the box because my lead is not long enough

-----UPDATE!!----

I have Got a new setup where the Button Cable is routed through a small gap in a window next the frount door where the camera taped so it is looking out the window,

PS: The camera quality in my examples is bad because I have a cr*p camera.

Step 1: Parts/ Tools

Here is the list of parts with approximate prices and links, though you don't need to buy these exact parts

NOTE: :Project costs around $110, Though price can be made cheaper/ more expensive depending where you buy the parts, or using an RPi 1/2.

ALL PRICES ARE IN AUD,

Raspberry pi $55, I've linked Raspberry pi 3, though any should work, though you will need a Wifi adapter if you wish this project to be wireless. You can also use the Raspberry pi 1 B and save $20

Wi-Fi Adapter $10You don't need this if you're using ethernet or RPi 3.

Pi Case $14You don't need this but i recommend it so your pi doesn't get damaged.

Mini Breadboard $1.29 to do wiring on

Button $1.29 (waterproof, Normally Open)

Lengthy wire, to from pi to doorbell

1K resistor, $2.48required for button circuit (only one needed)

Bread Board Jumper Cables $5.19 - you only need 3 :)

Webcam $4 - $100

Box to hold button in $2-10

_____________

Tools:

Soldering Iron (Recommended)

Wire Stripers

Side Cutters/Sharp scissors

Computer

Internet

Step 2: Setting Up Hardware.

-------------------

IMPORTANT:

I made some mistakes:

It is 5v not 3v

It is 10K Resistor not 1K

------------

If you are using a non B+ Model

you will have to use GPIO 7 (or other) instead of 21!

-------------------

Hardware is pretty simple. Plug your Webcam into the Rasp-pi, along with your selected network interface. Then, using the images as a guide (the wiring diagrams + this pinout for rasp pi 1B), connect your button and resistors to the pi. With the breadboard image, the orange and blue wires are the wires running the the door bell (Project Box with button).

Step 3: Making the Door Bell

To Make the door Bell you will need to cut a 12mm (1/2") hole in the centre of the project box, and around a hole near the bottom for your wires. Im my case I have taped over the bottom hole(and wires) to stop water from coming in.

Step 4: Software & Programing

Now This is the harder part. First off SSH into your Pi (Raspbian Wheezy or Later).

--- Wondering how to SSH?

here you can find instructions by Antares72 for setting up SSH on Windows with the Pi

Or see here for instructions for Linux or Mac users.

________________________________________

For the "Advanced Users, I have put comments in the code explaining how it works

Follow these instructions (Once in the command line) (copy exactly

Remember to NOT copy the " $ " in these commands if you are copy and pasting.

First, make sure your in your home directory (or whatever directory you wish to install the program to ( PS: it is contained in one folder, so it won't go everywhere in your home directory)

$ cd ~

Then we want to download the dbell folder containing all the code:

$ git clone https://github.com/Happypig123123/dbell.git

Now we want to CD into the directory

$ cd dbell

$ mkdir photos


-------VERY IMPORTANT!!!!!! -------

# NOTE: If you do not use B+ Model, you will need to change the "Button" variable in bell.py from 21 to a # pin number that's available on your pi. TO do this do

# $ nano bell.py

# and change the Button = 21 line to something like Button = 7

# Pinouts are on the "Setting Up Hardware" Setting Up page


Now our setup is time to start editing the email code.


Step 5: Gmail Setup

Gmail?

For this program to work, you will have to make a GMAIL account (or use a spare one (thats Gmail) ) to send the emails to Your Email. Through out the next steps I will call this GMAIL account :

I made mine C*******Iot@Gmail.com

Step 6: 3.5.6) Email Script Customisation

Ok Now we setup the Gmail account we can now set up the Email Script. I would like to give credit to Gagandeep Singh, for his code is used in the IoTNotify script, And Sentdex, for his tutorial on python email tutorial, which allowed me to understand the process.

For the more advanced users who want to know how this works, Check out Sentdex's tutorial as I have not explained at all how this script works.

Now do this:

$ nano IOTNOTIFY2.py

and change the following values:

Do this for all of the Fields

to the Gmail account email address E.g: exampleIoT@gmail.com

Yeah, Ass-Word, Wops, Spelling Mistake...

to the email you want to be notified at (eg: your personal email that on your phone, so your phone goes "Buzz" When someone's at the door)

After you have changed all the values, press Ctr X, then Y to save the document

Step 7: 4) Running the Code

Do

$ python3 bell.py

And the script will repeat forever until you press Ctrl Z or Ctrl C

-----------

If there is any problems with the script, or i did something wrong, feel free to leave your feed back below (in comment form)

-----------

I hope you enjoyed this instructable :)

<p>I'm getting the following error when I run the python file:</p><p>Traceback (most recent call last):</p><p> File &quot;bell.py&quot;, line 6, in &lt;module&gt;</p><p> GPIO.setmode(GPIO.BCM)</p><p>AttributeError: module 'RPi.GPIO' has no attribute 'setmode'</p><p>I've tried everything. Please help, urgent!</p>
<p>Hi JamishA, I think the problem is on your side. What version of the raspberry pi do you have, and what version of raspbian is it running? And have you done any other projects using the GPIO pins on the pi? Then, I will be able to have more information on how to solve your issue. Thx, Angus.</p>
Hi JaimishA, I am currently away from my PC, so in around a day or so I should get back 2 you with the answer to your problem
<p>Nice IoT starter to get your feet wet. Thanks!</p>
<p>Awesome Raspberry Pi IoT Doorbell!</p>
<p>This is an awesome doorbell.</p>

About This Instructable

10,614views

92favorites

License:

More by AngusC5:Raspberry Pi IoT Doorbell 
Add instructable to: