Code Monkey home page Code Monkey logo

spacelock's Introduction

spaceLock

The goal of this project is to use the new Apple Watch to interact and open doors in the physical space. This project includes the iOS app and WatchKit extension, and a RFduino application and solenoid circuit. Using the combination of these, you can turn any door into a “smart” door, and a seamless physical to digital connection.

This project is a product of spaceLab, space150’s research and development division.

Directory Structure

  • arduino contains the physical lock arduino sketch and library dependencies. The lock itself is running on a RFDuino, other platforms will be supported in the future.

  • docs contains an EAGL schematic for a reference implementation of the RFDuino integrated with a solenoid lock. Works with a 12VDC solenoid up to 1 amp.

  • ios contains the iOS iPhone application with WatchKit extension.

Security & Known Issues

This project is more of a "proof of concept" in its current state. A few key items need to be addressed to ensure a secure implementation:

  • The AES encryption keys are stored in a plist file within the application bundle. This will in the future be changed so that the keys only reside on a secure server. Once downloaded the application will instead store them in the system Keychain.
  • The arduino lock currently has no way of updating its internal clock to match wall-clock time. This prevents us from verifying the timestamp of the encrypted commands. An addition of a Wifi module and NTP client will be added in the future so that the unlock/lock commands are time-sensitive, this will prevent replay attacks.
  • There are probably many more security issues, if you do find one or have a suggestion, feel free to send a pull request or email to [email protected].

spacelock's People

Contributors

sroske avatar

Stargazers

 avatar

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.