Keycode Access

From Noisebridge
(Difference between revisions)
Jump to: navigation, search
(outlining stuff)
 
(Todo)
(33 intermediate revisions by 16 users not shown)
Line 1: Line 1:
==Contact & Info==
+
This page documents the current implementation of the entry keypad, and proposed additions. If you would like to help out, you might want to make this page more accurate, or implement some of the wishlist. This system is a delicate balance of different people's needs and concerns, so changing the basic way that it operates would be poor form. To build an alternative way to access Noiseridge, consider building software that accesses the [[API]].
Feel free to add yourself here if you plan to work on the project. There will be some email-based discussion and record keeping for this project, and that info will be added here if you just want to lurk and complain.
+
  
===Team===
+
= Meta =
*[[User:Hurtstotouchfire|Hurtstotouchfire]]
+
  
==Keycode System Features==
+
==Team==
*Numberpad on front door
+
*Database of codes... on pony? With notes? Probably we need a basic schema for what info we do and don't want to log.
+
**Door usage logged by keycode
+
**keycodes not formally associated with individuals
+
***how to distribute without leaving electronic records associating code with individual?
+
**member keycodes differentiable in some way
+
*Method of keycode generation?
+
*Method of keycode disabling?
+
**presumably not a feature needed immediately.
+
  
==General Access Proposals==
+
Please add yourself here if you're a stakeholder on this project.
Right now this is an outline to determine what we do and don't want an access control system to do. Just trying to keep up the excellence. Please comment if you would like to '''do''' or '''block'''. Extensive discussion should go on the mailing list.
+
  
*Numberpad entry of some sort on front door with viral distribution of codes and the ability to kill codes that co-occur with problems in the space.
+
*[[User:Hurtstotouchfire]]
*<strike>Remove buzzer entirely</strike>
+
*[[User:Flamsmark | Tom]]
**At present, this is broadly opposed. Reconsider when keycode access is in place.
+
*[[User:Jake]]
*Periscope for checking who is at door
+
*[[User:SuperQ]]
**Jake is implementing this.
+
*Terry
*<strike>Members only hours</strike>
+
*[[User:Dj ryan]]  (software)
**Rachel or [[User:Hurtstotouchfire|Hurtstotouchfire]] would block
+
*[[User:Davidme]]
  
==Hardware==
+
= Implementation Status =
 +
 
 +
== Overview ==
 +
 
 +
A script on [[Minotaur]] called <tt>[https://github.com/noisebridge/noisebridge-baron baron]</tt> manages the payphone keypad stationed outside Noisebridge's gate. The payphone is connected to Minotaur by a long blue CAT5 cable which runs up the stairwell and across the ceiling.  This cable carries two-way serial data and 12VDC to power the arduino in the payphone.  When a use enters a valid code followed by <tt>#</tt>, <tt>baron</tt> uses the Noisebridge [[API]] to open the [[gate]], while the payphone LED flashes blue, and a "happy" sound is heard. If an incorrect code is entered, or enough time passes between button presses, the payphone LED flashes red, and a "sad" sound is heard. If the gate API throws an error, the light turns red and a sad noise is played three times.
 +
 
 +
== Minotaur ==
 +
 
 +
* The keypad hardware hooked up to Minotaur at /dev/ttyS3 https://www.noisebridge.net/pipermail/noisebridge-discuss/2012-February/028485.html
 +
* The hardware above actually runs on 12V (not 5V) and the Arduino code in the above post is outdated.
 +
* Updated Arduino code for the doorkeypad hardware can be found here: http://spaz.org/~jake/r/mccad/arduino/doorkeypad3/doorkeypad3.pde
 +
* <tt>/usr/local/share/baron/noisebridge-baron/baron.py</tt> - baron script, takes arguments --port=/dev/whatever and --codefile=/var/blablabla/codes
 +
* <tt>/etc/init/baron.conf</tt> - jesse's init script
 +
* <tt>/usr/local/share/baron/codes.txt</tt> - codes file, any line starting with a 4-7 digit number (ignoring whitespace) is interpreted as a valid code, # is used for comments
 +
 
 +
Please label your codes so that others know who to contact and when to expire them.
 +
 
 +
= Future Plans =
 +
 
 +
To improve, the code, please issue a pull request against https://github.com/noisebridge/noisebridge-baron. It you improve the hardware, please document the new state here, and make note of your changes in the [[changelog]]. If you would like to make changes to '''how''' the system works, as opposed to just how elegantly it's implemented, please talk to the people named above.
 +
 
 +
The software has to be gone over to make sure it can be run in multiple instances, because someday we will put a second keypad at the top of the stairs, so that buzzing someone in requires a code.
 +
 
 +
We should also create a web-accessible door-opener page which requires a code (from the same database) so that, in case we decide to end the uncredentialed door opener page, we will have a code-authorized alternative already in place.
 +
 
 +
==Keycode Generation==
 +
 
 +
There can be any number of plugins that generate keycodes, as long as they are non-destructively copied to the codes file on Minotaur.
 +
 
 +
== Todo ==
 +
 
 +
* Add a "bad" codes list, to block codes from being reused.
 +
* Add the ability to expire codes - maybe a comment in the codes.txt file?
 +
* Add another keypad at the top of the stairs, so letting someone in requires a code
 +
* Create a web interface, so buzzing the door from laptop requires a code

Revision as of 15:26, 4 October 2012

This page documents the current implementation of the entry keypad, and proposed additions. If you would like to help out, you might want to make this page more accurate, or implement some of the wishlist. This system is a delicate balance of different people's needs and concerns, so changing the basic way that it operates would be poor form. To build an alternative way to access Noiseridge, consider building software that accesses the API.

Contents

Meta

Team

Please add yourself here if you're a stakeholder on this project.

Implementation Status

Overview

A script on Minotaur called baron manages the payphone keypad stationed outside Noisebridge's gate. The payphone is connected to Minotaur by a long blue CAT5 cable which runs up the stairwell and across the ceiling. This cable carries two-way serial data and 12VDC to power the arduino in the payphone. When a use enters a valid code followed by #, baron uses the Noisebridge API to open the gate, while the payphone LED flashes blue, and a "happy" sound is heard. If an incorrect code is entered, or enough time passes between button presses, the payphone LED flashes red, and a "sad" sound is heard. If the gate API throws an error, the light turns red and a sad noise is played three times.

Minotaur

Please label your codes so that others know who to contact and when to expire them.

Future Plans

To improve, the code, please issue a pull request against https://github.com/noisebridge/noisebridge-baron. It you improve the hardware, please document the new state here, and make note of your changes in the changelog. If you would like to make changes to how the system works, as opposed to just how elegantly it's implemented, please talk to the people named above.

The software has to be gone over to make sure it can be run in multiple instances, because someday we will put a second keypad at the top of the stairs, so that buzzing someone in requires a code.

We should also create a web-accessible door-opener page which requires a code (from the same database) so that, in case we decide to end the uncredentialed door opener page, we will have a code-authorized alternative already in place.

Keycode Generation

There can be any number of plugins that generate keycodes, as long as they are non-destructively copied to the codes file on Minotaur.

Todo

  • Add a "bad" codes list, to block codes from being reused.
  • Add the ability to expire codes - maybe a comment in the codes.txt file?
  • Add another keypad at the top of the stairs, so letting someone in requires a code
  • Create a web interface, so buzzing the door from laptop requires a code
Personal tools