Giter Club home page Giter Club logo

smartdoor's Introduction

SmartDoor

University Name: http://www.sjsu.edu/

Course: Cloud Services

Professor: Andrew Bond

Students:

Amrutha Singh Balaji Singh https://www.linkedin.com/in/amruthasinghb/

Poorva Agarwal https://www.linkedin.com/in/poorva-agarwal/

Snehal Yeole https://www.linkedin.com/in/snehal-yeole-35889188/

Anvitha Shubhaveer Jain https://www.linkedin.com/in/anvitha-jain-98170a10b/

Video Links:

SmartDoor Components Explanation: https://youtu.be/v5d7apayYfU

AWS Configurations and CI/CD: https://drive.google.com/file/d/10EHy1K4jAb1J2XXPhdj-1FTTfMtG60m6/view?usp=sharing

Project Introduction:

SmartDoor will overcome the home security issues without having to open the door, move a curtain or peak through a window, without making your presence known, just by notifying audibly and visually screening the visitors by recording all the motion events at your doorstep and pushing it to the Amazon Web Services cloud. Smart Home security is becoming the main concern nowadays. The main idea behind this project is to build a smart door security system that notifies the user about the presence of visitor. Whenever there is a visitor at the front door, user will be informed with alarming buzzer and the person’s image will be displayed on user’s request. We are using hardware and human assistance devices to accomplish our project. Raspberry pi is used alongwith the camera and motion sensors. The motion sensors will sense the motion of a person on the front door and trigger the camera to capture the image. The captured image will be recognized using AWS Rekognition service to detect the presence of human and to compare the visitor’s image with the family members images. Alexa device is used for human assistance. Whenever there is a visitor, user can request Alexa to display image of that visitor on the screen (we are using EC2 instance to display the image)

Feature List:

• The motion of a person is sensed using the motion sensors on Raspberry Pi

• Camera is triggered by the motion sensor that captures the image of the visitor

• The image is recognized using AWS Rekognition service and uploaded to AWS S3 bucket

• AWS IOT is configured for communication between the devices

• Polly is used on Raspberry Pi to notify user about the visitor presence

• AWS SNS service is used to send the text notification to the user

• AWS Lambda is used to invoke the Alexa skill

• Alexa device is used for human interaction

Components Used:

  1. Raspberry Pi: This is a device that can communicate over the network. We are mounting camera, motion sensor and speaker on the pi to communicate the presence of visitor over the network.

  2. Motion Sensor: Visitor presence will be notified by using motion sensor. Whenever there will be a motion for some time at the front door, motion sensor will be activated.

  3. Camera: Motion sensor will trigger camera and image of the front door will be captured. We will do the image recognition of the image captured, in order to check for the presence of human. Image recognition will also compare the image of the visitor with known members of the house.

  4. Alexa: This is a smart device which will be used to assist user. Alexa will help user to identify the visitor and dispaly its image on the screen.

Sample Demo Screenshots:

1

2

3

sample

Pre-requisites Set Up

AWS resources:

EC2: This service is used to display the image of visitor on screen

AutoScaling Group: This service is used for EC2 instance scaling and management.

Elastic Load Balancer: This service is used for dynamic traffic routing

SNS: It sends the text notification to the user (SMS and Email Notifications).

CloudWatch: Used for monitoring the logs

Route53: This service is used to host a domain to make application publically available

S3: Used for storing the images

S3 Cross Region Replication: This service is used for Disaster Recovery in case of region outage

CloudFront: It reduces the latency and increases throughput

Lifecycle Rules: This service is used for automatic data storage tiering to different storage layers such as S3, S3-IA and Amazon Glacier

Versioning: This feature is enabled on S3 bucket.

CloudWatch alarms: alarms are raised whenever particular instances occurs such as spin up of EC2 instances, termination of EC2 instances etc.

CloudTrail: Used for logging the application events such as API calls.

AWS Lambda: This service is used for human recognition and to invoke the Alexa skill.

AWS IOT Core: This service is used to register the thing (Raspberry Pi) using certificates.

AWS Rekognition: This service is used for human recognition and comparision between the faces.

Polly: This is a text to speech service that informs the user about visitor's presence with buzzer.

Alexa Skill: Alexa skill is used to invoke the alexa device for human assistance.

Dynamodb: AWS Dynamodb is used to store and retrieve the information about family members.

VPC: Virtual Private Cloud is used for isolation of the network.

IAM: IAM user and role is used to grant permissions to access AWS resources to authorized users.

List of required softwares:

• Python Boto3

• Raspbian OS

• pip

• AWS CLI

Hardware:

• Raspberry Pi

• PIR Motion Sensor

• Camera

• Amazon Alexa

Set up the project locally:

• First configure two Raspberry Pi's. One for sensing the motion and other one for lighting the LED's

• Set up the python scripts for camera and motion sensor

• create the Alexa skill on amazon developer account

• Configure Alexa device

Architecture Diagram:

doorwatch_modified_architecture

CI/CD diagram:

blank diagram 12

smartdoor's People

Contributors

amruthasingh avatar yeolesnehal avatar anvitha-jain avatar poorvaa24 avatar

Watchers

James Cloos avatar

Forkers

yeolesne

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.