4 releases (breaking)
0.5.0 | Aug 2, 2024 |
---|---|
0.4.0 | Oct 12, 2023 |
0.3.0 | Jun 29, 2023 |
0.1.0 | May 1, 2023 |
#98 in Hardware support
168 downloads per month
20KB
396 lines
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.
Dependencies
~9–41MB
~615K SLoC