IoT_lover
Published © GPL3+

Arduino - Detect Someone Taking Your Stuff and send Gmail

When your stuff is being taken away by a thief, Arduino makes an alert and sends a notification to you via Gmail.

EasyShowcase (no instructions)2 hours5,554

Things used in this project

Hardware components

Arduino UNO & Genuino UNO
Arduino UNO & Genuino UNO
×1
PHPoC WiFi Shield for Arduino
PHPoC WiFi Shield for Arduino
×1
SparkFun Force sensor
×1
Grove - Relay
Seeed Grove - Relay
×1
Warning Lights & Electric Horns
×1
Resistor 3.3k ohm
×1

Story

Read more

Schematics

Wiring

1. Stack PHPoC Shield on Arduino
2. Connect Force sensor and relay to Arduino as bellow image
Arduino wiring jutlmecazu

Real Wiring

Arduino wiring real 9dxjinknrg

Code

Arduino Code

Arduino
#include "SPI.h"
#include "Phpoc.h"

PhpocEmail email;
PhpocDateTime datetime;

const int THRESHOLD = 50;
boolean objPresent = false;
long adcValue = 0;

boolean sendGmail();

void setup() {
    Serial.begin(9600);
    while(!Serial)
    ;
    pinMode(A0, INPUT); // to read value from sensor
	pinMode(5, OUTPUT); // to control relay
    
    Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
    datetime.date("Y-M-d H:i:s");
    
}

void loop() {
    // read 30 time and get average value to eliminate noises
    adcValue = 0;
    
    for(int i = 0; i < 30; i++)
    {
        adcValue += analogRead(A0);
        delay(10);
    }
    
    adcValue /= 30;
    
    if(adcValue < THRESHOLD)
    {
        
        if(objPresent)
        {
            //Alert
             digitalWrite(5, HIGH);
            // send notification
            while(!sendGmail())
               ;
            
            objPresent = false;
        }
    }
    else
    {
        objPresent = true;
        digitalWrite(5, LOW);
    }
}

boolean sendGmail(){
    // setup outgoing relay server - gmail.com
    email.setOutgoingServer("smtp.gmail.com", 587);
    email.setOutgoingLogin("your_account", "your_password");
    
    // setup From/To/Subject
    email.setFrom("your_account@gmail.com", "Arduino");
    email.setTo("receiver_account@gmail.com", "Boss");
    
    email.setSubject("Alert: Your treasure is being taken away");
    
    // write email message
    email.beginMessage();
    email.println("Location: Planet Earth.");
    email.println("");
    email.print("Time: ");
    email.println(datetime.date());
    email.println("");
    email.println("Your treasure is being taken away.");
    email.endMessage();
    
    // send email
    if(email.send() > 0)
    {
        Serial.println("Email send ok");
        return true;
    }
    else
    {
        Serial.println("Email send failed");
        return false;
    }
}

Credits

IoT_lover

IoT_lover

1 project • 57 followers
Contact

Comments

Add projectSign up / Login