Difference between revisions of "Door control system"

From London Hackspace Wiki
Jump to navigation Jump to search
m (RFID update info - use a mobile app and an NFC-capable telephone!)
m (→‎Adding a card: bolded the app name.)
Line 57: Line 57:
 
# Run the "Add card to Doorbot" script on [[Tesla]] (hint: it's on desktop) and follow the instructions (basically, swipe your card and then enter your hackspace website login details).
 
# Run the "Add card to Doorbot" script on [[Tesla]] (hint: it's on desktop) and follow the instructions (basically, swipe your card and then enter your hackspace website login details).
 
# If you have a [https://www.ebay.co.uk/sch/i.html?_nkw=ACR122U similar ACR122U card reader], you can get the code at [https://github.com/londonhackspace/Doorbot Github] and run <code>addcard.sh</code> .  If you have another reader that can give you the UID, log in to the website and add it at the [https://london.hackspace.org.uk/members/addcard.php secret page]. Note that doorbot is case sensitive; enter the (hex encoded) ID using upper case letters only.
 
# If you have a [https://www.ebay.co.uk/sch/i.html?_nkw=ACR122U similar ACR122U card reader], you can get the code at [https://github.com/londonhackspace/Doorbot Github] and run <code>addcard.sh</code> .  If you have another reader that can give you the UID, log in to the website and add it at the [https://london.hackspace.org.uk/members/addcard.php secret page]. Note that doorbot is case sensitive; enter the (hex encoded) ID using upper case letters only.
# If you have an iPhone 7 or newer, or [http://en.wikipedia.org/wiki/List_of_NFC-enabled_mobile_devices Android phone that supports NFC], you can download the free app in the respective [https://itunes.apple.com/gb/app/nfc-taginfo-by-nxp/id1246143596?mt=8 Apple App Store] or [https://play.google.com/store/apps/details?id=com.nxp.taginfolite&hl=en_GB Google Play Store].  Once you've downloaded and opened it, you'll be able to scan your RFID card and [https://london.hackspace.org.uk/members/addcard.php type in the RFID UID and link your account here.]
+
# If you have an iPhone 7 or newer, or [http://en.wikipedia.org/wiki/List_of_NFC-enabled_mobile_devices Android phone that supports NFC], you can download the free '''NFC TagInfo by NXP''' app in the respective [https://itunes.apple.com/gb/app/nfc-taginfo-by-nxp/id1246143596?mt=8 Apple App Store] or [https://play.google.com/store/apps/details?id=com.nxp.taginfolite&hl=en_GB Google Play Store].  Once you've downloaded and opened it, you'll be able to scan your RFID card and [https://london.hackspace.org.uk/members/addcard.php type in the RFID UID and link your account with your RFID card here.]
  
 
There is the possibility for an LHS membership RFID reader app - Hackspace member [[User:JasperWallace|Jasper]] had built an Android app that automated the previous mobile task but the website changed and the app broke. Please refer to the [http://pointless.net/~jasper/LHSSelfEnrole.apk LHS Self Enrol App] ([http://pointless.net/blog/2012/01/03/doorbot-app/ Background details and more info in the blog post from 2012]). Please remember to activate NFC connections your phone on Config>wireless and network connections. The app worked with LHS membership logins, not the wiki or any external organisation like the TFL.  
 
There is the possibility for an LHS membership RFID reader app - Hackspace member [[User:JasperWallace|Jasper]] had built an Android app that automated the previous mobile task but the website changed and the app broke. Please refer to the [http://pointless.net/~jasper/LHSSelfEnrole.apk LHS Self Enrol App] ([http://pointless.net/blog/2012/01/03/doorbot-app/ Background details and more info in the blog post from 2012]). Please remember to activate NFC connections your phone on Config>wireless and network connections. The app worked with LHS membership logins, not the wiki or any external organisation like the TFL.  

Revision as of 10:32, 30 September 2018

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.

- Douglas Adams, 'Mostly Harmless'

Hardware

Front doorbot

The front doorbot at 388 High Road is based on a TI Connected Launchpad, and works alongside the building landlord's door entry system. It is planned that during normal 'office hours', the maglock on the front door between the street and the shared lift lobby will be unlocked by the landlord's system. Only outside of normal hours will the door entry phone (only used by other tenants), and Hackspace's Front Doorbot will be necessary. Exit button is the landlord's door release button.

The Hackspace card reader is a small blue enclosure on the right hand glass. The reader loop is at the top of the enclosure near the logo.

Front doorbot is in a shared enclosure with the Ground floor doorbot, and has a battery backup. In the event of power failure, it will still try to open doors with cached credentials, though some functions will depend on working networking and working acserver.

The front doorbot sends out notifications using MQTT, to the topic base /door/gf-front-external. Any network device can listen in to these messages and set up their own bot/reporting infrastructure, etc.

Back Doorbot

The back doorbot is the same as the front - with two differences: there's no bell, and the relay is activated by setting the pin state to HIGH. This instance sends notifications to port 50000.

Biohackspace Doorbot

This is the same as above - sends notifications to port 50001. You need to be a member of the Biohackers to get in.

1st Floor Doorbot

Maglock, 1st floor entrance from lift lobby. SLA 12V backup battery. ACNode shield v1. Node id 2, notifications to port 50003. Not yet installed.

Software

The source code for the software on the nodes is on Github, the server is here acserver-django

All the logs go over the network to /var/log/network/ on adminstuff, but it's not configured yet.

The access list is JSON file. The acserver should download a new version of the carddb file every 5 minutes from Turing (the machine that runs the website), but it's not working yet.

The door opener broadcasts on the network whenever the door is opened by a member using their card , or if the front doorbell is pushed. The back door broadcasts on 50000, and the front uses 50002, so we can tell the difference between them in the various listeners. This is a stop-gap until we add the door ID to the messages.

Doorbot listener scripts

There are listeners on hamming that connect to robonaut to announce on IRC, and flash the lights using Lighted. By default, this will include your full real name. If you wish to change this behaviour, you can set up a nickname in the cards section of the member area.

hamming also runs listeners for the scrolling led board and the audio announcements.

The announcement listener uses the GLaDOS voice. You can generate and use your own file as a greeting.

The code that runs the bandwidth meter on tesla also listens for doorbell and member entry messages.

Adding a card

If you're a new member and looking to add a card, be sure it's an RFID that operates on the 13.56mhz frequency. Our readers do NOT read the older 125khz frequency RFID cards. You are likely in luck and have a 13.56mhz card already in your wallet or junk drawer: the Transport for London Oyster card is by far the most popular card used by LHS members, but several members have also successfully used hotel RFID keycards, contactless credit and debit cards, and some compatible government ID cards as well. Passports with RFID chips will not work, and by attempting to use them will reset some internal read count in the passport, which may raise questions at border crossings.

If you still cannot find a capable card, you can buy them relatively easy off of eBay or Amazon UK or a local vendor such as Cool Components

Access is based on the RFID UID - it is not the number written on the back of your Oyster card. There are several ways to add a card:

  1. Use the Membership_Kiosk which is on the first floor.
  2. Run the "Add card to Doorbot" script on Tesla (hint: it's on desktop) and follow the instructions (basically, swipe your card and then enter your hackspace website login details).
  3. If you have a similar ACR122U card reader, you can get the code at Github and run addcard.sh . If you have another reader that can give you the UID, log in to the website and add it at the secret page. Note that doorbot is case sensitive; enter the (hex encoded) ID using upper case letters only.
  4. If you have an iPhone 7 or newer, or Android phone that supports NFC, you can download the free NFC TagInfo by NXP app in the respective Apple App Store or Google Play Store. Once you've downloaded and opened it, you'll be able to scan your RFID card and type in the RFID UID and link your account with your RFID card here.

There is the possibility for an LHS membership RFID reader app - Hackspace member Jasper had built an Android app that automated the previous mobile task but the website changed and the app broke. Please refer to the LHS Self Enrol App (Background details and more info in the blog post from 2012). Please remember to activate NFC connections your phone on Config>wireless and network connections. The app worked with LHS membership logins, not the wiki or any external organisation like the TFL.

Doorbot sounds

Doorbot audio files are stored in /mnt/doorbot-sounds/wavefiles/members. (Mounted on systems from colin:/doorbot-sounds) Set your wave file (in wav or mp3 format) on the members site. You may copy the files into the directory via chomsky.

Many early members enjoyed doorbot audio greetings in the style of GLaDOS - an artificial-intelligence sounding voice used in the Portal series of video games and in the movie Pacific Rim. Want to fit in with the 'classical' spirit of the Hackspace? Generate your own GLaDOS voice file on this site here.

Old GLaDOS Voice Generation Guide

There is a guide on Youtube made to show the process as its hard to describe simply in text: http://www.youtube.com/watch?v=OE8S9knXcW0

The original GLaDOS voices were generated by oni following the method found by Tom Wyatt. To create a GLaDOS voice one must do the following:

  • Go to ATandT's Text to Speech Website (now offline). Type in your name and download the file. Alternately, use Cepstral or another online text-to-speech site allowing downloads.
  • Load up the program Melodyne
  • Select the entire Waveform
  • Using the melodic algorithm, double click on one section of the waveform. I believe this moves the form to its nearest notes.
  • Using the zig Zag looking tool, flatten the pitch.
  • Up the pitch by dragging upwards by 160 or so.
  • Save

Managing Doorbots

Logging & maintenance

If you make changes or discover a problem with doorbot, please add it to the logbook.

On hamming, the listeners are at /root/Doorbot/listeners

sudo supervisorctl restart all