Difference between revisions of "Doorbot"
Brainsmoke (talk | contribs) (→Design) |
Brainsmoke (talk | contribs) (→Usage) |
||
Line 6: | Line 6: | ||
==Usage== | ==Usage== | ||
− | Entering the space: (normally) | + | === Entering the space: (normally) === |
# scan your fob | # scan your fob | ||
Line 13: | Line 13: | ||
− | Opening the door when in Open mode (like during social night?) | + | === Opening the door when in Open mode (like during social night?) === |
# press bell | # press bell | ||
− | Changing your pin: | + | === Changing your pin: === |
# scan your fob | # scan your fob | ||
Line 31: | Line 31: | ||
− | Resetting your pin when you have forgotten: | + | === Resetting your pin when you have forgotten: === |
# Ask a doorbot maintainer (brainsmoke for now) to trigger a pin reset | # Ask a doorbot maintainer (brainsmoke for now) to trigger a pin reset | ||
Line 41: | Line 41: | ||
− | Add a fob: | + | === Add a fob: === |
# Trick a doorbot maintainer into starting an addkey procedure | # Trick a doorbot maintainer into starting an addkey procedure |
Revision as of 21:42, 16 February 2014
Projects | |
---|---|
Participants | Brainsmoke |
Skills | |
Status | Active |
Niche | Mechanics |
Purpose | Infrastructure |
Contents
Usage
Entering the space: (normally)
- scan your fob
- enter your pin
- press the bell button
Opening the door when in Open mode (like during social night?)
- press bell
Changing your pin:
- scan your fob
- enter 999
- press bell
- enter your current pin
- press bell
- enter your new pin (min 4 characters)
- press bell
- repeat new pin
- press bell
Resetting your pin when you have forgotten:
- Ask a doorbot maintainer (brainsmoke for now) to trigger a pin reset
- scan your fob
- enter your new pin (min 4 characters)
- press bell
- repeat new pin
- press bell
Add a fob:
- Trick a doorbot maintainer into starting an addkey procedure
- scan your fob
- enter your new pin (min 4 characters)
- press bell
- repeat new pin
- press bell
Administration
doorbot shell (doorsh.py)
ssh doorbot@doorbot
Administration:
doorbot> list doorbot> enable <fobid> doorbot> disable <fobid> doorbot> delete <fobid> doorbot> addkey # add key using key reader + pinpad doorbot> addkey <fobid> <pin> # add key using doorbot shell only doorbot> resetpin # reset pin using reader + pinpad doorbot> resetpin <fobid> <pin> # reset pin using shell
doorctl.py
python doorctl.py initdb # import fob db using plain-text pin # rfid authorised pin python doorctl.py import-plain << EOF 5431553 1 12345 5431554 1 12345 5431555 1 12345 5431556 1 12345 EOF python doorctl.py export # export fob db python doorctl.py import # import fob db python doorctl.py rfidlisten # print fob IDs of fobs being scanned
Design
5V 2A _____|______ [door sensor] 5V ___12V____ | | | | | | | |-----[ Lock arduino ]--opto--[relay] [door lock] | Cubieboard | |__________| | |-----[ Auth arduino ] |____________| | | | [HID reader] [keypad] Earth ^----------------- with red||green led + beeper (for keypad)
Authentication arduino
source
https://github.com/techinc/doorbot/blob/master/doorauth/doorauth.ino
protocol
Serial, 9600 baud send: LED ON\n LED OFF\n LED BLINK\n BEEP\n (short beep) DENIED\n (distorted sound) GRANTED\n (double short beep) receive: RESET\n (arduino has reset) KEY [0-9]\n (keypad press) RFID [01]*\n (rfid scanned)
Lock arduino
https://github.com/techinc/doorbot/blob/master/doorauth/doorlock.ino
protocol
Serial, 9600 baud send: UNLOCK\n LOCK\n receive: OPEN\n (door has opened) CLOSED\n (door has closed)