Giter Club home page Giter Club logo

doormatic's Introduction

doormatic

Description

This project was created a few years ago with the purpose of managing the main door of a tiny private club with some friends. For this, I created a LAMP service initially running inside an Arduino Yún with connected to a simple relay to a 12V doorlock and a client (HTTP(s) client with a POST) for Android. Currently this code has suffered many transformations to adapt to be run inside a Raspberry Pi 2 plus a physical push button has been aded inside the club for door opening without any other security requirement but physical reach.

Doormatic Server info

The service has the ability to manage devices and users plus a security user deactivation switch through a token in case of device loss.

Connectivity

This service was meant to be a WiFi WPA2-Enterprise accesed service plus a «security account-lock» reachable through the Internet.

User management

Users require to be created through service's main panel with the following fields:

  • Login Name
  • Password
  • Email address (where account-lock link can be sent) **INFO: Users can currently be created yet can't be deleted through the panel but disabled.

Device management

Devices are managed with a name/description and their MAC address associated to an existing user.

Security

Connectivity through LAN or WLAN

Use of WiFi with WPA2-Enterprise so you can lock-out specific users through this layer

Device's MAC Address

When a device requests openning, the service will send a 0.5-sec-timeout ICMP Echo request to the device and read ARP table to get that device's MAC address to check if in the list. Login credentials won't be check if this step failed.

Login credentials / User + Password

The service requires a username and password for authentication. It was planned to use an automated 2FA, yet never developed.

User-autolock

The service has the ability to lock a user through a "panic token" which can be sent to user through email so they can just tap/click on it and lock their account from anywhere if connectivity permits.

Doormatic Client info

Web client

Just target to your server's url (ex.: https://raspberrypi.local/door/)

Android client

Currently there's an Android client at Google Play Store https://play.google.com/store/apps/details?id=es.doormatic

iOS client

A friend created an iOS version for this but it's not uploaded to the App Store yet.

doormatic's People

Contributors

droberin avatar

Stargazers

 avatar  avatar  avatar

Watchers

 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.