Skip to content

Organizer presence system client using RFID and push buttons

License

Notifications You must be signed in to change notification settings

lanresort/verbleiber

Repository files navigation

Verbleiber

The System

The Verbleiber (German; roughly "Whereabouter") is a system for presence tracking.

It consists of:

  • hardware clients at different locations to sent presence information
  • a central backend to accept, persist, and provide presence information
  • a frontend to give an overview of the presences

Users can authenticate themselves via barcode or RFID transponder to a hardware client configured for and placed at a specific location and set their new status:

  • When they are arriving, they "check in" to that location.
  • When they are leaving, they move to the "travelling" status.
  • Just before they go to sleep, they can set that as their new status.

Multiple locations would have such devices set up, so when a person arrives at another location, they can "check in" there, changing their status from "travelling" to being at the new location.

This Application

This application is a software implementation for such a hardware client in Rust.

To save time, the first set of clients was assembled from USB devices (cheap RFID reader, cheap gamepad with arcade buttons soldered to it) which are then connected to small form factor computers.

For future device generations, tiny computers (like Raspberry Pis) or even custom-built hardware would be a nice.

For an implementation of a backend and overview frontend, which are not covered here, check out the Whereabouts extension for the BYCEPS LAN party platform.

Usage

Create a configuration file based on the provided example and adjust as necessary.

reader_input_device should reference a barcode/RFID reader, button_input_device a push button input device (e.g. a gamepad). It might be helpful to address the devices by their ID (if your system provides such symlinks in /dev/input/by-id) so they are independent of the varying event device number they get assigned depending on the order they are connected to the host and other factors.

Start the application by specifying a configuration file (-c/--config):

$ verbleiber -c config.toml

Sound Formats

Ogg Vorbis is supported out of the box. However, the employed audio playback library (rodio) also supports MP3, FLAC, WAV, MP4 and AAC, but those have to be enabled as features in Cargo.toml and require recompilation of the program.

License

Verbleiber is licensed under the MIT license.

Author

Verbleiber was created by Jochen Kupperschmidt.