Door control system: Difference between revisions
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
==Details== | ==Details== | ||
The software runs on [[System naming| | The software runs on [[System naming|Flowers]], and its code is on [http://github.com/londonhackspace/doorbot Github]. | ||
The access list is currently a text file, copied via a script from | The access list is currently a text file, copied via a script from Flowers. The text file simply consists of card ID and name. | ||
The door opener connects to '''robonaut''' on [[System naming|Babbage]] to announce whenever the door is opened, and also flashes the lights on using '''Lighted''', also on Babbage. | The door opener connects to '''robonaut''' on [[System naming|Babbage]] to announce whenever the door is opened, and also flashes the lights on using '''Lighted''', also on Babbage. | ||
Line 27: | Line 27: | ||
Then touch the card to the reader next to the [[Makerbot]]. | Then touch the card to the reader next to the [[Makerbot]]. | ||
Alternatively, connect to | Alternatively, connect to Flowers: | ||
root@ | root@flowers:~$ screen -dr doorbot | ||
You will see the log of attempted access. Press Ctrl+A Ctrl+D to disconnect and add the card manually to Doorbot/cardtable.dat. | You will see the log of attempted access. Press Ctrl+A Ctrl+D to disconnect and add the card manually to Doorbot/cardtable.dat. | ||
Line 37: | Line 37: | ||
<span style="color:red">'''Please use this with caution. Once unlocked, the door must be physically opened and closed again to relock.'''</span> | <span style="color:red">'''Please use this with caution. Once unlocked, the door must be physically opened and closed again to relock.'''</span> | ||
ssh root@ | ssh root@flowers | ||
Doorbot/openDoor.py | Doorbot/openDoor.py | ||
Line 61: | Line 61: | ||
172.31.24.197 | 172.31.24.197 | ||
=== Flowers's IP === | |||
172.31.24.161 |
Revision as of 12:41, 30 October 2010
Preface
The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
Overview
We have a Tikitag RFID reader, embedded in the door, which we use to automatically open the door when authenticated.
Details
The software runs on Flowers, and its code is on Github.
The access list is currently a text file, copied via a script from Flowers. The text file simply consists of card ID and name.
The door opener connects to robonaut on Babbage to announce whenever the door is opened, and also flashes the lights on using Lighted, also on Babbage.
Adding a card
On Babbage:
babbage:~$ cd /usr/local/bin/Doorbot babbage:/usr/local/bin/Doorbot$ sudo git pull babbage:/usr/local/bin/Doorbot$ sudo ./addid.sh
Then touch the card to the reader next to the Makerbot.
Alternatively, connect to Flowers:
root@flowers:~$ screen -dr doorbot
You will see the log of attempted access. Press Ctrl+A Ctrl+D to disconnect and add the card manually to Doorbot/cardtable.dat.
Override
Please use this with caution. Once unlocked, the door must be physically opened and closed again to relock.
ssh root@flowers Doorbot/openDoor.py
The password is hackspace. If the arduino has somehow changed port, you might need to edit that in openDoor.py
- If this ambiguity becomes a problem (eg if another serial port is added), update the udev rules : debian distributions create /dev/serial/by-id where the links in that directory include in their names the unique serial number assigned to the FTDI chip on the arduino board.
- This will happen when I/someone gets around to it :D Ms7821 08:38, 27 August 2010 (UTC)
If you unlock the door remotely, use the door webcam to check someone has entered the space.
Logging & maintenance
If you make changes or discover a problem with doorbot, please add it to the logbook.
- The main script is rundoorbot, which announces to irccat on Babbage if the python script dies.
- The python script (doorbot.py) announces on successful initialisation.
- A separate script, rootfswd, announces and reboots the machine if the USB drive is disconnected.
The service currently runs in screen, to avoid any disk syncing issues. To view it, use screen -dr doorbot. Note that killing the python script with Ctrl+C will be announced. To start or stop doorbot without connecting to screen, use:
/etc/init.d/doorbot start /etc/init.d/doorbot stop
Bell's IP
172.31.24.197
Flowers's IP
172.31.24.161