By: Emil Willems
Clients who regularly visit our datacenters might have noticed already, but we have installed touchscreens near the entrances of our server rooms. On such a screen, you can watch instructional videos on the alarm procedure, but you can also change the end time of your current access request, for example in case the work takes a little longer than expected. You only have to provide your access card to the card reader on the right side of the screen.
The card reader uses a simple electric circuit, which ensures that the voltage from the card reader is limited to a maximum of 3.3V, linked to an Arduino that functions as a Wiegand-decoder. The card reader communicates with the Arduino by quickly switching one of the two data signals to 0V for a fraction of a second. This forms the bit-pattern of the card. By decoding this pattern, we get the access code for the card. This code is then transmitted over a serial connection to a Raspberry Pi. The Pi runs an application written in Go that controls the screen (a web application on the same Pi). This application receives an access code as well, over UDP from our access control system, when the door is opened towards the screen, or a general message when someone pushes the hand button inside the server room and opens the vault door.
Once the application receives a valid message, the screen will be switched out of its standby-mode, connected with a web socket and sends the card information to the web application. The web application requests the data of the current login from the records and displays it. Then, an option is offered to alter the end time. The changed end time is directly processed by the underlying administration and confirmed to the user. This way, you do not need to login to portal.bit.nl with a laptop, tablet or smartphone to log yourself off early or to extend your login.
Then there is the option to watch the instruction videos on entering and/or leaving the server room and the alarm procedures for that specific room. When one of the videos is selected, the web application sends a signal over the before mentioned websocket to the Go-application. This starts the correct video and tells the web application to not react to new signals. This prevents the video from being shut down when someone opens a door, leaves the server room or tries to scan his card. As soon as the video has ended, the web application is unlocked and the card reader and other various external signals function normally again.
All this has been installed by a colleague of our datacenter management in a small, robust, dust-free plastic casing so the entire system takes up little space.