IoT WiFi DIY Motion Detector With E-mail Notification Using PIR Sensor and ESP8266

by sibuntu in Circuits > Arduino

23523 Views, 69 Favorites, 0 Comments

IoT WiFi DIY Motion Detector With E-mail Notification Using PIR Sensor and ESP8266

20151007_204941.jpg

In this project I am using the ESP8266 WiFi module and PIR sensor motion detector to get e-mail alerts if someone enters the room while I am away. I am using GadgetKeeper Cloud Platform to bing e-mail notifications with PIR Sensor. I have choose GadgetKeeper Cloud Platform because it's FREE and easy to use. The whole project costed me around $7 and was pretty easy to build.

Parts

esp.jpg
images (1).jpg
PowerMBV21.jpg
images (2).jpg
download (2).jpg
download (3).jpg

1× esp8266-07

1× PIR Sensor

1x Bread Board Power Supply

1x 12V AC-DC Power Adaptor

2x 400pin Breadboard

Wires

Prepare the Hardware

20151007_204949.jpg
20151007_220533.jpg
20151007_220538.jpg
20151007_220555_001.jpg
20151007_220558.jpg
20151007_220610.jpg

ESP8266 Wiring

PIN name | Connection

Reset | via push button to gnd

GPIO12 | PIR sensor data pin

VCC | 3V3

TXD | CP2102 TXD Pin

RXD | CP2102 RXD Pin

GPIO0 | GND

GND | GND

CP2102 Wiring

PIN name | Connection

TDX | ESP8266 TXD Pin

RXD | ESP8266 RXD Pin

GND | GND

PIR sensor

PIN name | Connection

VCC | 5V

GND | GND

OUT | ESP8266 GPIO12 Pin

NOTE: to upload code to ESP8266 first connect GPIO0 pin to ground, reset esp and then upload code. After uploading code GPIO0 can be disconnected again.

Prepare Arduino IDE

arduino ide.png

Prepare Arduino IDE

ide.png

Next, use the Board manager to install the ESP8266 package.

Add Required Additional Arduino Libraries

The required libraries can be downloaded from following link:

Time.h

All other required libraries are available as standard libraries with the IDE.

Installing Additional Arduino Libraries guidelines can be found on official Arduino site.

Configure GadgetKeeper

GadgetKeeper Console - Mozilla Firefox_035.png
GadgetKeeper Console - Mozilla Firefox_042.png

After successfully creating account on GadgetKeeper, go to console and create the "Alarm" thing first.

After successfully creating Alarm thing write down your Thing ID.

if you need detailed "point and click" UI instructions how to create thing see "Create, Read, and Write Property" on GadgetKeeper Documentation.

Configure GadgetKeeper

GadgetKeeper Console - Mozilla Firefox_050.png
GadgetKeeper Console - Mozilla Firefox_051.png
GadgetKeeper Console - Mozilla Firefox_052.png

Create Motion detected event for Alarm thing in GadgetKeeper Console.

  1. In the "Thing: Alarm" tab, open "Events"
  2. Click "New" to open "Create Event" dialog
  3. Set name to "Motion detected"
  4. Select "boolean" as the data type for this event
  5. Save event

if you need detailed "point and click" UI instructions how to create even see "Create Event And Trigger" on GadgetKeeper Documentation.

Configure GadgetKeeper

GadgetKeeper Console - Mozilla Firefox_053.png
GadgetKeeper Console - Mozilla Firefox_059.png

Create Mail notification trigger for Alarm thing in GadgetKeeper Console.

  1. Open "Triggers" in the "Thing: Alarm" tab
  2. Click "New" to open "Create Script Trigger" dialog
  3. Set name to "Mail notification"
  4. Select "Motion detected" as the event used for the trigger
  5. Save trigger by clicking "Save"

if you need detailed "point and click" UI instructions how to create even see "Create Event And Trigger" on GadgetKeeper Documentation.

Configure GadgetKeeper

GadgetKeeper Console - Mozilla Firefox_060.png

Add script to Mail notification trigger for Alarm thing in GadgetKeeper Console.

  1. Open "Triggers" again in the "Thing: Alarm" tab
  2. Select "Mail notification"
  3. Click "Edit Script" button to open "Edit Script Trigger" dialog
  4. Insert the following script in the text area (email name may be edited):

function onEvent(event){
if(event.value == true){

smtp.send("user@gmail.com", "Motion detected!")

}

}

5. Save the trigger script by clicking "Save"

if you need detailed "point and click" UI instructions how to create even see "Create Event And Trigger" on GadgetKeeper Documentation.

Arduino Sketch

This is the arduino sketch for this cheap homemade IoT device.

esp_pir_snesor

Information about uploading Arduino Sketch can be found here.