Project tutorial
Arduino, Monitoring Door-Opening via Gmail

Arduino, Monitoring Door-Opening via Gmail © GPL3+

When the door is opened, Arduino sends a notification via Gmail. Magnetic Sensor is used to detect the door open. It can be used with IPv6.

  • 43,479 views
  • 42 comments
  • 142 respects

Components and supplies

About this project

If you are a beginner, you can learn about wifi and sensor in Arduino - Wifi and Arduino - Door Sensor tutorials.

In this tutorial, I am going to show you how to detect the door-opening event and send a notification via Gmail using Arduino Uno. I made this tutorial for beginners! It is really easy!

Let's get started!

Detecting Door-Opening Event

Magnetic sensor I used includes two parts: sensor and magnet. When two parts are in proximity, the output pin of the sensor is HIGH, otherwise the output pin is LOW. Taking advantage of this feature, I installed one part of the sensor on the door leaf and the other on the door frame. By checking state of the output pin, we can detect when door is opened and then make an alert or send a notification.

Handling Event

In this project, when an event occurs, a notification is sent via Gmail.

Library

The below code uses two library: PHPoC and Button libraries

The Best Arduino Starter Kit for Beginner

If you are looking for an Arduino kit, see The Best Arduino Kit for Beginners

Function References

Code

Source CodeArduino
#include <Phpoc.h>
#include <ezButton.h>

PhpocEmail email;
ezButton button(A0);  // create Button object that attach to pin A0;

void setup() {
  Serial.begin(9600);

  Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);

  //Phpoc.beginIP6(); uncomment this line if you are going to use IPv6

  button.setDebounceTime(100); // set debounce time to 100 milliseconds
}

void loop() {
  button.loop(); // MUST call the loop() function first

  if(button.isPressed()) {    // if door is opened...
    email.setOutgoingServer("smtp.gmail.com", 587);
    email.setOutgoingLogin("Google ID", "Google Password");
 
    email.setFrom("Gmail address ", "Sender Name");
    email.setTo("Receiver email address", "Receiver Name");
    
    email.setSubject("Door is opened. [#905]");  // Mail Subject
    
    // Mail Contents
    email.beginMessage();
    email.println("#905");
    email.println("");
    email.println("Door is opened.");
    email.endMessage();                
 
    if (email.send() > 0)  // Send Email
      Serial.println("Your Mail has been sent successfully");
    else
      Serial.println("Your Mail is not sent");
  } else if (button.isReleased()) { // if door is closed...
        // Write codes in the same way
  }
}
PHPoC library for Arduino
This library communicates with PHPoC Shield to connect to the Internet. It's also contains Gmail library. How to install library: http://www.phpoc.com/support/manual/phpoc_shield_for_arduino/

Schematics

Things we need
Components p4vl4dkluu
Assembly
1. Stack PHPoC Shield on Arduino
2. Connect LAN cable or USB wifi Dongle to the shield for Ethernet
3. Pin wiring between Arduino and Sensor.
----5V--------red pin
----A0-------black pin
Assembly qgnyr78p8r

Comments

Similar projects you might like

Security Access Using RFID Reader

by Aritro Mukherjee

  • 349,280 views
  • 62 comments
  • 394 respects

Motion Following Motorized Camera Base

Project tutorial by Lindsay Fox

  • 128,828 views
  • 76 comments
  • 345 respects

Water Quality Monitoring System

Project tutorial by Hao Jie Chan

  • 75,445 views
  • 70 comments
  • 126 respects

Arduino - Detect Someone Taking Your Stuff and send Gmail

Project showcase by IoT_lover

  • 16,595 views
  • 36 comments
  • 51 respects

Gmail & Arduino UNO & IPv6

by phpoc_man

  • 3,121 views
  • 0 comments
  • 17 respects

Plant Monitoring System

Project showcase by Ryan Gill

  • 57,191 views
  • 36 comments
  • 186 respects
Add projectSign up / Login