Anonymous

Changes

From Pumping Station One
3,669 bytes added ,  23:43, 6 October 2019
Line 4: Line 4:  
This page describes a version of the RFID system based on the [https://smile.amazon.com/gp/product/B00UX02GL8/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 UHPPOTE Professional Wiegand TCP IP Network Access Control Board] a 125kHz system that should be compatible with transponders from the BeagleBone Black based system [[RFID]]
 
This page describes a version of the RFID system based on the [https://smile.amazon.com/gp/product/B00UX02GL8/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1 UHPPOTE Professional Wiegand TCP IP Network Access Control Board] a 125kHz system that should be compatible with transponders from the BeagleBone Black based system [[RFID]]
   −
=Benefits=
+
A [https://docs.google.com/drawings/d/1m4SFXWKs2PcoZ1MhbPC7rOCE8aqe6dxp74yWrsqdLAY/edit?ts=5d9a5cdf  diagram of the system overview] is available.
*Stores all data locally to the door controller, only requires power for door access.
+
 
*Can be granted a super-user password and can be used as a generic code.
+
=Functions=
*Allows both RFID and Keypad entry, and RFID can be set with additional PIN#.
+
*System stores all data locally to the door controller, only requires power for door access.
*Can be retrofitted for machine control
+
*System integrates with out member management system (Wild Apricot), RFID fobs are enabled and disabled based on member status.
*Can be setup to disable users when membership expires
+
*Super-user passwords can be used as a generic code (moving to only RFID entry Oct '19).
 +
*Allows multi-door access via RFID.
 +
*Systems can be retrofitted/extended for machine control, cabinet access.
    
=System Description=
 
=System Description=
 +
*all production software is on a VM in our server closet and documented on the official [https://github.com/pumpingstationone PS1 Github]
 +
*[membership.pumpingstationone.org The member management system], Wild Apricot, user has RFID fob entered into user profile. Can be by admin or self service, seperate multiple tags by a comma
 +
*WA2AD goes down the list of all members in WA and does an active directory lookup to see if the member exists and verifies members status. If the user doesn't exist an AD user is created. It runs on our active directory controller (DC01), via Windows task scheduler every 5 mins. Ron uses a tool called "active directory explorer" to see all groups in users in AD.
 +
*WA2AD handles computer authorization - it looks up the string associated with the "computer authorizations" checkbox in WA and puts the user in an AD groups that enables the user to log into the computer associated with that piece of equipment.
 +
*Active directory stores member status with the userAccountControl field - if a members is inactive their RFID fob and all computer logins are disabled.
 +
*AD2RFID is a program that runs as a cron job everty 15 min on Glue, a centOS linux box. It only adds users to the board when they are new and explicitly diables them on the board when they are inactive members. It replaces all members every time it runs.
 +
*AD2RFID does the Weigand conversion to the fob number to store on the controller board, which is what is compared to what the RFID readers at the door send to the control board.
 +
*The IP address of the board is effectively static and is assigned via MAC address.
 +
*The board occasionally hangs and AD2RFID times out after 1 minute of not receiving a reply from the board and waits for the next scheduled job to try again.
 +
*Glue and the domain controller must be running for the data transfer process from WA to the board to work correctly.
   −
There is an old HP (add specs) Windows XP machine that was added to the PS1 domain (called RFID-2) that pulls user information from an SQL database on a VM called RFID2 and  pushes that information to all the door controllers with a piece of software called Professional Door Control Management. You can remote into this machine using Windows Remote Desktop using rfid-2.ad.pumpingstationone.org.
+
=Troubleshooting=
 
+
*All RFID fob numbers must start with 00 - sometimes the reader reports numbers incorrectly - the number on the fob will be be the number in the RFID field in WA.  
A VM on Proxmox Cloud 2 called RFID2 (10.100.11.31) houses the SQL database so that current members can access the doors. Eventually a job will run that will populate the database usernames, RFID tags, and member status from PS1AUTH. This may help accomplish this task:
+
*Make sure the member has an active account
*https://technet.microsoft.com/en-us/library/cc720650(v=ws.10).aspx
+
*Make sure the tags in RFID field are separated by a comma. All RFID tags are stored in otherPager field (which contains an array of numbers) in AD.
*https://www.mssqltips.com/sqlservertip/4190/import-active-directory-data-to-a-sql-server-table/
  −
*https://cwiki.apache.org/confluence/display/SYNCOPE/Synchronize+Active+Directory+with+SQL+database#SynchronizeActiveDirectorywithSQLdatabase-Provide_a_user_template
      
=What's next=
 
=What's next=
Line 26: Line 36:  
*Writing a cron job to sync PS1Auth data (that members can add their RFID) to the RFID2 SQL database the door reader uses.
 
*Writing a cron job to sync PS1Auth data (that members can add their RFID) to the RFID2 SQL database the door reader uses.
 
*Create an Auto-it script that presses the upload button in the control software to send info from the SQL database to the controller.
 
*Create an Auto-it script that presses the upload button in the control software to send info from the SQL database to the controller.
 +
 +
==DEV2AD==
 +
A wifi enabled microcontroller with an RFID reader makes a webservice call to Glue. Dev2AD is running on Glue and receives the call. DEV2AD validates that the tag is associated with the authorization for that tool. Currently the theory would be that DEV2AD would look at the AD group for a particular piece of equipment, grab the list of all users in that group, and search for a matching tag - if a tag matches then an activity will be initiated.
 +
 +
 +
==Status==
 +
 +
{| class="wikitable"
 +
! Status
 +
! Persons
 +
! Task
 +
|-
 +
| TBD
 +
| [[User:Anfroholic|Andrew Wingate]], [[User:Andrewvaughan|Andrew Vaughan]]
 +
| Develop software for RFID client / hardware controller
 +
|-
 +
| TBD
 +
| [[User:Andrewvaughan|Andrew Vaughan]]
 +
| Develop middleware application for RFID clients to communicate with
 +
|-
 +
| TBD
 +
| [[User:Andrewvaughan|Andrew Vaughan]]
 +
| Develop application for managing RFID from LDAP applications
 +
|-
 +
| style="background: #ffffcc;" | In Progress
 +
| [[User:Anfroholic|Andrew Wingate]]
 +
| Developing initial schematic and prototype for RFID client / hardware controller
 +
|-
 +
| style="background: #ffffcc;" | In Progress
 +
| [[User:rtystgeeke|Andrew Camardella]]
 +
| Sourcing of bulk components to build RFID client / hardware controller
 +
|-
 +
| style="background: #ffffcc;" | In Progress
 +
| [[User:rtystgeeke|Andrew Camardella]]
 +
| Development of case for holding RFID client / hardware controller
 +
|-
 +
| style="background: #ffffcc;" | In Progress
 +
| [[User:Andrewvaughan|Andrew Vaughan]]
 +
| Develop Python module for interacting with UHPPOTE door-strike RFID boards
 +
|-
 +
| style="background: #ccffcc;" | Complete
 +
| Sam Chen
 +
| Reverse engineer RFID keys to convert printed serial number to RFID code.
 +
|-
 +
| style="background: #ccffcc;" | Complete
 +
| [[User:rtystgeeke|Andrew Camardella]]
 +
| Implement UHPPOTE control board for door strikes
 +
|}
    
=Professional Door Control Management Software Notes=
 
=Professional Door Control Management Software Notes=
Line 33: Line 91:  
*All account parameters are manageable through the SQL database
 
*All account parameters are manageable through the SQL database
 
*When parameters are changed in the database they must be pushed to the controllers. The downside is that apparently this an only happen via the "upload" button in the software. Auto-it has been recommended as a tool to automate this process.
 
*When parameters are changed in the database they must be pushed to the controllers. The downside is that apparently this an only happen via the "upload" button in the software. Auto-it has been recommended as a tool to automate this process.
 +
 +
 +
== Current ==
 +
 +
 +
* Sourcing for electronics in bulk is being done by @rtystgeek
 +
* The case and composure are being developed by @
 +
* Python module for communicating with LDAP and UHPPOTE door controls being developed by @Andrewvaughan
 +
 +
== Upcoming ==
 +
 +
 +
* Python applicaton
 +
* Python application to manage power control to hardware to be developed by
 +
    
=RFID Reader=
 
=RFID Reader=
1,238

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.