Difference between revisions of "Gatekeeper"

From Whitespace (Hackerspace Gent)
Jump to: navigation, search
(Connecting to the BeagleBoard)
(Configuring Gatekeeper)
Line 12: Line 12:
 
The gatekeeper script can be found at /home/ubuntu/gatekeeper/gatekeeper.py and is started at boot.
 
The gatekeeper script can be found at /home/ubuntu/gatekeeper/gatekeeper.py and is started at boot.
  
<code>
+
<pre>
 
#setup logging
 
#setup logging
 
LOG_FILENAME = 'gatekeeper.log'
 
LOG_FILENAME = 'gatekeeper.log'
Line 18: Line 18:
 
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG,format=FORMAT)
 
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG,format=FORMAT)
 
log = logging.getLogger("GateKeeper")
 
log = logging.getLogger("GateKeeper")
</code>
+
</pre>
  
 
The whitelist file can be found Whitelist syntax
 
The whitelist file can be found Whitelist syntax
  
<code>
+
<pre>
 
098098987 name
 
098098987 name
 
080989790 other name
 
080989790 other name
</code>
+
</pre>
 
+
 
+
  
 
=Connecting to the BeagleBoard=
 
=Connecting to the BeagleBoard=

Revision as of 17:28, 19 June 2010

Gatekeeper is a Python script that opens a gate when calling to +32493604143. It only opens the gate for whitelisted numbers. The hardware used:

  • A beagle board with a Debian based distro on, kindly donated by Bert.
  • A remote controller for the gate connected to the beagle board. The pinout on the beagleboard towards the remote:
    • Pin 28: black
    • Pin 24: white
    • Pin 1 (bottom): red
  • A Huawei e220 GSM modem with a SIM card to perform caller ID. It is connected with the board using USB-serial.

Configuring Gatekeeper

The gatekeeper script can be found at /home/ubuntu/gatekeeper/gatekeeper.py and is started at boot.

#setup logging
LOG_FILENAME = 'gatekeeper.log'
FORMAT = "%(asctime)-12s: %(levelname)-8s - %(message)s"
logging.basicConfig(filename=LOG_FILENAME,level=logging.DEBUG,format=FORMAT)
log = logging.getLogger("GateKeeper")

The whitelist file can be found Whitelist syntax

098098987 name
080989790 other name

Connecting to the BeagleBoard

The beagle board runs a debian based distro so it can be used as a general purpose server. If you want to do something with it ask for a login and sudo rights. Connecting with the board is possible using ssh. Internally it has 192.168.0.250 as IP address.

Ideas, Feedback & Comments

Add your own!

  • We can make the door opening for all people on Thursday, and only for members on the others...? @Joren: Is this pythonable?
    • Something like that has been implemented: adding an empty line with * to the whitelist puts the script in public mode. In public mode everyone is allowed to open the gate when calling +32493604143. Removing the line with the wildcard puts the script in private mode, then only whitelisted members can open the gate.
  • We can sound a alarm when people try to open the door but are not allowed.