From NURDspace

Jump to: navigation, search
NURDspace Project
Participants Fwd, Jp
Skills Mechanics, common sense
Status Planning
Niche Mechanics
Purpose Infrastructure
Tool category
"{{{Name}}}" cannot be used as a page name in this wiki.
"File:{{{Picture}}}" cannot be used as a page name in this wiki.

{{{Picture}}} {{#if:{{{Tool}}} | [[Tool Owner::{{{ProjectParticipants}}} | }} {{#if:{{{Tool}}} | [[Tool Cost::{{{Cost}}} | }}

To improve on our current system of copying keys for members we're gonna look into ways to mechanise the lock and make this remote controlled. This project basically consists of 2 parts:

Setting and limitations

There are a couple of limitations to take into account:

  • Can't change the cylinder: the building manager has a master key for the current lock
  • Don't drill lots of holes in the door.
  • Mechanism needs to be attached to the door, so it needs to be robust enough to stay in place when the door is slammed shut.
  • If you insert 2 regular keys into the lock one will push the other out and prevent it from rotating.
  • If 1 key is slightly turned, the key on the other side is blocked from rotating.

Lock door situation.jpg Lock cylinder with keys.jpg

Controlling the lock

Considering the above limitations the plan is to mount a stepping motor on the door near the lock, place a shortened key into the lock and place a cog over the key handle. With a belt or chain we can hook the key cog up to the stepping motor. The stepper motor can be attached to the door, and via a belt it can rotate the key the desired 360 degrees.

However, we might need to add a control mechanism to ensure that it rotates EXACTLY 360 degrees as anything more or less will make the lock unusable from the other side. This is undesirable because we should keep some kind of override option from the outside.

Controlling the stepper motor

I was thinking of making 2 ways to control the stepper motor:

  • Spacenet
  • Bluetooth pairing, either based on registered phone MAC-addresses, a standard pairing password or some other means of ACL.

Either of these mechanisms should instruct the stepper motor to unlock the door.


The mechanics for locking the door are just a reverse of the unlocking system. However, the control for this is more complicated. Some thoughts:

  • IRC controlled (bad idea, as this leaves room for fuckery)
  • Last user disconnecting from Spacenet (not quite right, as this forces you to have something connected all the time to keep the lock open)
  • Combination of last user disconnecting from Spacenet and all workstations being off? (pingscan.php excluding all standard machines?)
  • Pairing with bluetooth (so toggle instead of single action)
  • Big Red Button that locks the door X-time after pressing? (hit and run)

Relation to Space Status

If you override the status of the lock with a regular key from the outside, the stepping motor will not know this. Possible solutions for this:

  • Make sure unlocking manually also triggers the space status.
  • Have the lock controller check the space status before taking action


Add this to acct_users:

DEFAULT Acct-Status-Type == Start 
Exec-Program-Wait = "/usr/local/" 
DEFULT Acct-Status-Type == Stop 
Exec-Program-Wait = "/usr/lcal/"

This could run open and close commands on connecting and disconnecting from Spacenet.


  • VM called bluenurd to which BuZz managed to map a bluetooth USB stick
  • Next step: find a way to limit who can connect. Start simple (single user in a file? multiple users in a file? ldap?)
Our site is hosted by Site4U
Part of our connectivity is made available by BIT
To BIT's joboffers