Difference between revisions of "NFC Lock"

From ESE205 Wiki
Jump to navigation Jump to search
Line 1: Line 1:
== Overview ==
+
==Proposal==
 +
=== Overview ===
 
This is a NFC-enabled smart lock that interfaces with existing standard deadbolt assemblies. It allows a user to unlock their door(s) with their smartphone/smartwatch without needing to carry around annoying physical keys.  
 
This is a NFC-enabled smart lock that interfaces with existing standard deadbolt assemblies. It allows a user to unlock their door(s) with their smartphone/smartwatch without needing to carry around annoying physical keys.  
  
Line 16: Line 17:
 
[[https://classes.engineering.wustl.edu/ese205/core/index.php?title=NFC_Lock_Log to weekly log]]
 
[[https://classes.engineering.wustl.edu/ese205/core/index.php?title=NFC_Lock_Log to weekly log]]
  
==Members==
+
===Members===
 
*Kai Banks
 
*Kai Banks
 
*Nikki Wines
 
*Nikki Wines
Line 22: Line 23:
 
*James Feher (Instructor)
 
*James Feher (Instructor)
  
==Primary Goals==
+
===Primary Goals===
 
*Use NFC-enabled device to unlock your deadbolt (assuming the device is registered & authorized)
 
*Use NFC-enabled device to unlock your deadbolt (assuming the device is registered & authorized)
 
*Secure, relatively hack-proof system
 
*Secure, relatively hack-proof system
Line 28: Line 29:
 
*Web-enable product so that it can be monitored & manipulated from web app and native iOS app
 
*Web-enable product so that it can be monitored & manipulated from web app and native iOS app
  
==Secondary Goals==
+
===Secondary Goals===
 
*Replace AA battery pack with rechargeable pack for convenience
 
*Replace AA battery pack with rechargeable pack for convenience
 
*Implement backup authentication method in case wifi or power goes out
 
*Implement backup authentication method in case wifi or power goes out
  
==Design==
+
===Design===
  
 
The NFC Lock will be compatible with any door with a standard lock hole. The outward-facing side will consist of a standard doorknob and small NFC-enabled area. The inward-facing side will feature a standard doorknob and will house the Arduino and power supply (or will connect to a wall outlet for prototyping purposes, if power turns out to be an issue). The inward-facing side, which will look like a plastic block several inches in height and width, will also house the servo motor that attaches to and manipulates the deadbolt.  
 
The NFC Lock will be compatible with any door with a standard lock hole. The outward-facing side will consist of a standard doorknob and small NFC-enabled area. The inward-facing side will feature a standard doorknob and will house the Arduino and power supply (or will connect to a wall outlet for prototyping purposes, if power turns out to be an issue). The inward-facing side, which will look like a plastic block several inches in height and width, will also house the servo motor that attaches to and manipulates the deadbolt.  
Line 38: Line 39:
 
Technology-wise: the Arduino will constantly emit a low-power NFC signal from the outside of the door. When a phone comes into proximity with the signal, the native NFC Lock app will be launched automatically (or manually, if this proves difficult) and will submit a webhook request to the Particle API. This encrypted request will contain the phone's unique information. The Photon will interpret the request and check the enclosed credentials against an encrypted list of authorized credentials. If the credentials are not found in the list, the door will not open; if they are, the Arduino board will send power to the servo, opening the deadbolt for ten-ish seconds and allowing the authorized user in.
 
Technology-wise: the Arduino will constantly emit a low-power NFC signal from the outside of the door. When a phone comes into proximity with the signal, the native NFC Lock app will be launched automatically (or manually, if this proves difficult) and will submit a webhook request to the Particle API. This encrypted request will contain the phone's unique information. The Photon will interpret the request and check the enclosed credentials against an encrypted list of authorized credentials. If the credentials are not found in the list, the door will not open; if they are, the Arduino board will send power to the servo, opening the deadbolt for ten-ish seconds and allowing the authorized user in.
  
==Challenges==
+
===Challenges===
  
 
*First and foremost, security. All web requests MUST be encrypted & sent through HTTPS (as they may contain sensitive information, like phone UIDs and serials)
 
*First and foremost, security. All web requests MUST be encrypted & sent through HTTPS (as they may contain sensitive information, like phone UIDs and serials)
Line 55: Line 56:
 
TOTAL: <$80
 
TOTAL: <$80
  
==Gantt Chart(s)==
+
===Gantt Chart(s)===
 
Timeline:  
 
Timeline:  
  

Revision as of 23:34, 30 April 2018

Proposal

Overview

This is a NFC-enabled smart lock that interfaces with existing standard deadbolt assemblies. It allows a user to unlock their door(s) with their smartphone/smartwatch without needing to carry around annoying physical keys.

The team of two will design and assemble an electronic, Arduino-powered drop-in deadbolt assembly that can be unlocked with registered NFC-enabled devices such as the Apple Watch, newer iPhones, or most Android phones. The lock will be operated by a Particle Photon chip running on an Arduino Uno board; the Photon will be web-enabled and NFC-enabled, allowing it to check NFC credentials and be operated remotely from a web app or mobile app. A small battery pack (x6 AA's) will provide power to the Arduino and servo.

A detailed user story indicating the flow of events that allow the lock to function:

  • John Doe downloads the native iOS app for the smart lock
  • John Doe signs in to his Lock account on the native app, linking his phone's credentials to his account
  • John approaches the door with the phone, and the phone recognizes the NFC signal coming from the Photon
  • The phone sends an encrypted HTTPS web request to the Photon's webhook API along with its unique credentials (UID or Serial No.)
  • The Photon accepts the request, checks the data against its list of registered devices, and decides whether or not to open the deadbolt
  • If the credentials are approved, the Photon will apply an electronic signal to the deadbolt servo, opening the door

[to tutorial]
[to weekly log]

Members

  • Kai Banks
  • Nikki Wines
  • Nathan Schmetter (TA)
  • James Feher (Instructor)

Primary Goals

  • Use NFC-enabled device to unlock your deadbolt (assuming the device is registered & authorized)
  • Secure, relatively hack-proof system
  • Polished finished product (custom-designed 3d-printed enclosure, etc.)
  • Web-enable product so that it can be monitored & manipulated from web app and native iOS app

Secondary Goals

  • Replace AA battery pack with rechargeable pack for convenience
  • Implement backup authentication method in case wifi or power goes out

Design

The NFC Lock will be compatible with any door with a standard lock hole. The outward-facing side will consist of a standard doorknob and small NFC-enabled area. The inward-facing side will feature a standard doorknob and will house the Arduino and power supply (or will connect to a wall outlet for prototyping purposes, if power turns out to be an issue). The inward-facing side, which will look like a plastic block several inches in height and width, will also house the servo motor that attaches to and manipulates the deadbolt.

Technology-wise: the Arduino will constantly emit a low-power NFC signal from the outside of the door. When a phone comes into proximity with the signal, the native NFC Lock app will be launched automatically (or manually, if this proves difficult) and will submit a webhook request to the Particle API. This encrypted request will contain the phone's unique information. The Photon will interpret the request and check the enclosed credentials against an encrypted list of authorized credentials. If the credentials are not found in the list, the door will not open; if they are, the Arduino board will send power to the servo, opening the deadbolt for ten-ish seconds and allowing the authorized user in.

Challenges

  • First and foremost, security. All web requests MUST be encrypted & sent through HTTPS (as they may contain sensitive information, like phone UIDs and serials)
  • Not biting off more than we can chew (see Goals section)
  • Keeping budget under $150 for a pretty high-tech product
  • Not using an unnecessarily large amount of battery during normal operation (minor)

Materials Needed

  • Particle Photon (Arduino Uno with a Particle shield) - [link] - have (normally $20)
  • Deadbolt, knobs, assembly - have (not included in price because product relies on there already being a deadbolt present)
  • 3D-Printed Enclosure - free
  • Servo Motor to control Deadbolt - [link] - $18
  • NFC Reader - [link] - $40
  • Demo door assembly - $15

TOTAL: <$80

Gantt Chart(s)

Timeline:

Timeline

Deliverables:

Deliverables


Presentation

https://docs.google.com/presentation/d/1ej8nuioGWAw0O2snbOi5PWHJxmwcCf7YSk5oJqqlu6M/edit?ts=5a7a742f#slide=id.g33087838b4_0_170

Poster

Poster