SecuriDoor
Contents
Overview
Have you ever left the house and, hours later, fretted over whether you locked your door? It's a familiar feeling--and one that can be avoided. Our project can be used to solve this all-too-common problem. Through our website interface, a user can remotely lock their door and eliminate the worry associated with common forgetfulness. Using the website, a user will be able to command the physical aspects of our design to activate a servo which pushes the door's lock into place.
Find our weekly log here
Group Members
- Clayton Keating
- Savannah Rush
- Nathan Schmetter (TA)
Objective
We will achieve success with this project if we are able to effectively lock and unlock a door using a locking mechanism on the Raspberry Pi via a website. Specifically, the communication between the site and the locking mechanism is the focus of this success and must execute without error for success to be achieved. We must also transmit an image taken from a webcam on the Pi and display it on the website. Additionally, our project has the potential to include more features, such as motion sensors and alarms for further home security.
Our final project demonstration will consist of short and long range tests of the system to show off the site's realistic use.
Challenges
- Familiarization with Raspberry Pi
- Building a housing mechanism such that it can be attached to a door
- Ensuring that the app cannot lock you out of your own home
- Maximizing range of communication between locking mechanism and web application
- Ensuring security of the website
Gantt Chart
Budget
- MCM Electronics TowerPro SG-5 Standard Servo-$11.99
- MCM Electronics Raspberry Pi 3 Model B Board and Case Kit-$42.99
- Single Cylinder Bright Brass Residential Deadbolt-$10.48
- 2 in. x 4 in. x 8 ft. #2 Prime Cedar-Tone Ground Contact Pressure-Treated Lumber-$4.98
- Website Hosting and Domain (Essential Plan)-$5.95/month for total of $17.85
- 3D Printing Materials (Free -- Provided)
- Breadboard and Resistors (Free -- Provided)
Total Budget: $88.29
Design and Solutions
Design Components
CLAYTON: talk about the locking mechanism, case, etc
Server and Hosting
Coding Solutions
Security
Security is a major concern with our project. As our project currently stands, anyone could log on to the website and control the user's door. Obviously this would need to change if our system were brought to market. If we were to continue on this project, we would need to add layers of security to the website.
First and foremost, robust password protection needs to be instituted. To mimic a real-world product, each of our locking mechanisms would be given their own unique password, only known to the purchaser of the product. I would code these unique passwords into the .htaccess file that already exists in our file system, which would ensure that only the purchaser of the locking mechanism would be able to remotely control their lock and move past the site homepage.
However, password protection is not the only security concern. Since we are using FTP to send data from the Pi to the server, a hacker can easily gain anonymous access to the FTP server and view the data that is displayed on the site. A hacker could see if a user had recently locked or unlocked their door and could reasonably infer the current status of the lock, as well as view the picture taken in front of the door. Because this image is updated constantly, at all times a hacker could spy on a user's door and have continuous access to the image.
There are many potential solutions to help mitigate these security concerns. Many of these solutions are outside the scope of this project and certainly beyond the understanding of two non-computer science students. However, there exists one promising solution that could have been chosen for this project, had we had access to a different Wifi network and router, other than the WashU Wifi. Instead of FTP protocol to send data to the server, we would have instead utilized port forwarding. Port forwarding is a more secure option, as there are many defense features available to prevent hacking. Port forwarding would be a fine choice for a home router and network, but due to WashU IT, we were unable to institute this option.
Results
Final Locking Mechanism
CLAYTON
Final Website
Demo Poster
Comparison to Objectives
Our project achieves both of the major goals we set at the beginning of the semester: to successfully control a lock via a website and to display an image on the website that is taken on the Pi. However, some of the ancillary objectives were not met. Ideally, our Raspberry Pi/servo mechanism would have been encapsulated in a 3-D printed case which we designed. Unfortunately we did not achieve this in time for the demo.
Critical Decisions
CLAYTON
Potential Project Extensions
CLAYTON
Tutorial
Find our tutorial here.