Wiki
Main Server
denhac.org
WordPress site running in the Digital Ocean cloud.
- WordPress – platform
- WooCommerce – wp marketplace plugin
- WooCommerce Documentation
- Handles memberships
- Digital Ocean – host
Webhooks Server
webhooks.denhac.org
Listens to the main server denhac.org
for updates to propagate membership actions.
- denhac-webhooks
- Get webhook events from main server
- New Member Signup + Successful Payment
- Add the member to the mailing list
- Add the member to google groups
- Invite the member to the slack workspace
- Provision a new keycard for the member
- etc
- Account Closed, suspended/non-payment
- Deactivate keycard
- 3D Printer Updates
- Slack Slash Commands
- New Member Signup + Successful Payment
Card Access Computer
Workstation on-site running DSX door lock management software.
- WinDSX – door access management interface software
- Comm Server – command bridge between WinDSX and the DSX door lock controller hardware unit
- denhac-cards – Python automation interface to connect WinDSX functions to the webhooks server
- Sourcecode on Github
- Handles requests for updating cards
- Card activation
- Card deactivation
- Operates the WinDSX software in an environment shared with a manual user
- Waits a set timeout for on-interaction (incase of a manual user present)
- Launches WinDSX and logs in
- Waits a set time
- Kills WinDSX
- DSX Inc – Door lock software & hardware vendor
Lock Control Hardware
DSX door lock security system.
- Serial interface to a Windows host PC running control software
- Interacts through Comm Server
Issues
- Comm Server program stops running
- Python automation could be updated to detect and auto-restart
- Investigate Windows Event Viewer for Windows Application Logs, possibly for
CS.exe
- Lock Control Hardware stops responding to updates
- May occur in the acknowledgement stages when a new member’s ID is submitted as verified
- Possible firmware communication lock while updating itself; refusing comms for further updates
- Verified by requesting WinDSX perform a full upload to the control hardware, and having no actions takes place. The hardware refuses commands.
- Fix by flipping DIP switch 3 to set a new location value, which confuses the Comm Server. Toggle the switch back to the original location value. Communications are able to re-establishe between the comm server and controller.
- Unknown state, race condition between closing WinDSX too soon
Table of Contents