From initLab
Revision as of 20:46, 5 June 2022 by Slackware (talk | contribs) (Copy v2)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Door opening system V3


The system has two separate pieces: opening the door, and unlocking the door, controlled by two separate mechanisms. The locking is done by an electro-mechanical door lock, and the opening/closing is done by an electro-magnetic door lock.

Accessing the system(s)

The system can be accessed remotely in two ways: using fauna or by calling +359-24624356. The phone number is routed over VoIP(SIP) from to spitfire.

Also, next to the door there are two buttons on the white box - a red and a green one. The red one locks the door, the green one unlocks it. If the door is open and you press the red button, it will lock 3 seconds after the door is closed. If the red button is pressed and then the door is closed for less than 3 seconds, the lock will not activate. But if the door is then closed for more than 3 seconds, the pending lock operation will be activated.

Using the phone

When you call the phone:

  • If the door is locked:
    • The system checks if the source phone number is in the list of allowed-to-unlock people. If not, the system hangs up.
    • The system picks up, and using a voice similar to that of Stephen Hawking asks "Enter code".
    • It waits for a 6-digit pin code, which is verified in the database if it's the right PIN code for this calling number.
    • If the entered code is wrong, the voice says "Wrong". You have three tries, if you fail, it says "Fuck off" and hangs up.
    • If the code entered is the right one, the voice says "Opening door", unlocks the door and opens it.
      • The system then logs the door opening and unlocking, as like in the opening below.
  • If the door is not locked:
    • The system opens the door
    • The system logs the door opening via twitter and IRC (#initlab on Using the source phone number, a textual ID is looked up in the Fauna database and logged, if the user has register its phone number.

Using the bulphone in front of the door

  • This phone is next to the front door
  • You have to dial 150 to get into the system
  • It'll ask you for you phone number, enter it and # after it
  • Next follow the normal phone instructions (asking for a code, etc.)


The door uses a Bulkey BKS300 electro-mechanical lock. It's connected though a NeoMontana NetControl 6R8A and a Bulkey BCP1 controller. There are a set of macros on the NetControl device, which can be triggered using HTTP, SNMP or MQTT. It is recommended to use the macros rather than directly controlling the relays, as this allows temporary disabling the access using NetControl's web interface. There is an option to override the sensor for closed door - use it with care! It may damage the electro-mechanical lock. It is intended to be used if the sensor malfunctions and the door needs to be locked remotely.


There is a set of scripts on spitfire that send a signal over HTTP to a NeoMontana NetControl 8R2S1A, to close a relay for 2 seconds. This relay supplies power to the electro-magnetic lock on the door, so the mechanism frees up the pin inside, and the door can be opened once. After opening and closing the door, the mechanism inside the electro-magnetic lock prevents future opening, until a power impulse is supplied again.


BCP1 jumpers: JP1 - open, JP2, JP3, JP4 - closed

6R8A settings

Settings that are not visible, are using their factory defaults.


  • BCP1 +12V to 6R8A +12V
  • BCP1 GND to 6R8A GND
  • 6R8A GND to 6R8A Line 2 Terminal 1
  • BCP1 BUT ULK to 6R8A Line 2 Terminal 2
  • 6R8A GND to 6R8A Line 3 Terminal 1
  • 6R8A A1 to 6R8A Line 3 Terminal 2
  • BCP1 DQ to 6R8A A1
  • Red button between 8R6A GND and 8R6A A2
  • Green button between 8R6A GND and 8R6A A3
  • Relay that shorts 8R6A GND and 8R6A A4 (dry contact) when voltage between BCP1 GND and BCP1 RED is +5V
  • Relay that shorts 8R6A GND and 8R6A A5 (dry contact) when voltage between BCP1 GND and BCP1 GRN is +5V
  • BKS300 Motor to BCP1 M+ and -M
  • BKS300 Door sensor to BCP1 GND and DQ