Difference between revisions of "NFC Lock"
Line 17: | Line 17: | ||
*Kai Banks | *Kai Banks | ||
*Nikki Wines | *Nikki Wines | ||
+ | *Nathan Schmetter (TA) | ||
*James Feher (Instructor) | *James Feher (Instructor) | ||
Revision as of 03:14, 6 February 2018
Contents
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
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