Difference between revisions of "Smarter Door"

From ESE205 Wiki
Jump to navigation Jump to search
Line 68: Line 68:
 
[[File:Newmodel205.png|400px]] <br>
 
[[File:Newmodel205.png|400px]] <br>
 
*Door
 
*Door
**Raspberry Pi detects motion and takes a picture, which is sent to S3 bucket
+
**Raspberry Pi detects motion and takes a picture based on output of motion sensor, which is then sent to S3 bucket with a timestamp
 
**Light displays green or red depending on door owner's response to alert
 
**Light displays green or red depending on door owner's response to alert
 
*Server
 
*Server
Line 77: Line 77:
 
[[File:ESESmarterDoor Tables.png|center|500px|Tables]]
 
[[File:ESESmarterDoor Tables.png|center|500px|Tables]]
 
*S3
 
*S3
**Bucket holds pictures of who tried to enter
+
**Bucket holds a "list" of known users that the unknown user is tested against
 +
**Bucket holds pictures of who tried to enter with filename indicative of the time of occurence
 
*Web UI
 
*Web UI
 
**Allows the user to access the information from the database
 
**Allows the user to access the information from the database
 
*AWS recognition
 
*AWS recognition
**Determines if the person at the door is the owner of the door
+
**Detects a face in the taken image and compares various facial features to determine a confidence number of the face being known
 +
**Determines if the person at the door is the owner of the door by comparing the confidence number to a predetermined confidence threshold
 
*API
 
*API
 
**Communicates with the door owner using Twilio
 
**Communicates with the door owner using Twilio

Revision as of 19:39, 3 April 2019

Link to Log

Smarter_Door_Log

Team Members

  • Jonathan Strek
  • Katie Cardwell
  • Andrew Koltz
  • Ethan Shry (TA)
  • Professor Feher

Overview

We are building a door security system that sends the user a picture when an unknown person tries to open the door. The user will receive a text and be able to interact with the door by responding over text. Our security system includes a red light that illuminates when the user says the visitor is not welcome, or when the user has not authorized entry after a set period of time.

Goals

  • Photograph anyone who tries to open door
  • Recognize owner from an uploaded photo collection
  • Text owner if unrecognized face is seen
  • Respond to owner's text with security light
  • Design plastic housing to make unit presentable

The goal of this project is to build a facial recognition security system for a door. The system will increase security by taking a picture of anyone who tries to open the door. If the person is not recognized by the system, a text will be sent to the user informing him/her that someone has tried to open the door. If the user does not recognize the person in the picture, they can respond via text and a security light will go on. This light should discourage people from trying to open a random door, and it also indicates to law enforcement that someone unknown has tried to enter the door.

Gantt Chart

Gantt Chart

Challenges

  • Learning Python
  • Gaining familiarization with Twilio
  • Security of user interface
  • Building a 3D casing for raspberry pi detector
  • Ensuring motion detector only signals to camera to take a picture when there is truly someone in front of the door rather than when people walk by or there is motion in the background

Security Concerns

  • Who can upload a picture to be recognized
  • Who receives the text from the Raspberry Pi
  • Who can text the Raspberry Pi

Budget

Total: $90

Why this project?

Security in dorms or houses is always a concern, and we hope to alleviate such worries. The increase in dependence on online retailing means more strangers than ever are using your address to find your place of residence. With Smarter Door you will not have to worry about who is at the door. Dorms can also be safer as a red light outside of a dorm will be a sign that an RA or even WUPD should be called.

Design and Solutions

Setup
  • Download development environment (we used Visual Studio and Atom)
    • Download Python, Node, CSS, and HTML extensions
  • Download MySQL
  • Create AWS instance
  • Create AWS S3 bucket
    • Connect to raspberry pi
  • Create AWS database instance
    • Connect to MySQL
  • Purchase Twilio number that can send and receive messages
Modules

General Project Diagram: Newmodel205.png

  • Door
    • Raspberry Pi detects motion and takes a picture based on output of motion sensor, which is then sent to S3 bucket with a timestamp
    • Light displays green or red depending on door owner's response to alert
  • Server
    • Server alerts the door owner that there is someone at the door, sends picture to user, and receives reply
  • Database
    • Stores information and pictures of who tried to enter

Database:

Tables
  • S3
    • Bucket holds a "list" of known users that the unknown user is tested against
    • Bucket holds pictures of who tried to enter with filename indicative of the time of occurence
  • Web UI
    • Allows the user to access the information from the database
  • AWS recognition
    • Detects a face in the taken image and compares various facial features to determine a confidence number of the face being known
    • Determines if the person at the door is the owner of the door by comparing the confidence number to a predetermined confidence threshold
  • API
    • Communicates with the door owner using Twilio
Features

We used Visual Studio to code in HTML, CSS, Node, and Python to run our server, and our Raspberry Pi. The Amazon Web Service Lightsail server allowed us to communicate between the door, the facial recognition, and the end user. The Raspberry Pi controls the picture taking, and uploads the pictures to the facial recognition.

Learning Raspberry Pi

  • Made blinking LED

References