3 unstable releases
0.2.1 | Feb 18, 2024 |
---|---|
0.2.0 | Feb 18, 2024 |
0.1.0 | Feb 18, 2024 |
#2 in #gatekeeper
53 downloads per month
Used in gatekeeper-members
29KB
679 lines
gatekeeper-core
gatekeeper-core
is a library for interfacing with gatekeeper NFC tags.
If you're interested in making a project using gatekeeper, you're free to
use this library, but you might prefer using
gatekeeper-members
which adds support for validating tags against the gatekeeper server,
getting secrets from environment variables, and provides a higher-level
interface that should reduce boilerplate for most common usecases.
Example
It's pretty easy to connect to a reader and find tags:
let mut gatekeeper_reader =
GatekeeperReader::new("pn532_uart:/dev/ttyUSB0".to_string(), realm)
.expect("Failed to open gatekeeper");
for tag in gatekeeper_reader.get_nearby_tags() {
if let Ok(association_id) = tag.authenticate() {
println!("Association ID for tag: {association_id}");
}
}
Check out the
examples
directory for a more comprehensive example.
Dependencies
Make sure you have libfreefare and libnfc installed. Loads of distributions package these.
If you're having trouble, try building these versions locally, which are known to work well:
Dependencies
~2.1–3MB
~69K SLoC