| Crates.io | waveshare-fingerprint-lib |
| lib.rs | waveshare-fingerprint-lib |
| version | 0.1.1 |
| created_at | 2025-04-16 21:53:09.085161+00 |
| updated_at | 2025-04-16 21:57:54.321128+00 |
| description | A Rust library for controlling Waveshare fingerprint sensors over serial communication |
| homepage | |
| repository | https://github.com/kingsmen732/waveshare-fingerprint-lib |
| max_upload_size | |
| id | 1637006 |
| size | 16,370 |
A Rust library to interface with the Waveshare UART Fingerprint Sensor (C) via serial communication. This library supports full functionality, including enrollment, verification, deletion, and querying of fingerprint data.
RAW implementation of this project is available in:
RUST
PYTHON
If link not redirecting use : https://github.com/kingsmen732/waveshare_fingerprint_-c-
This crate enables enrolling, verifying, listing, and deleting fingerprints using the sensor's built-in flash memory.
Add the following to your Cargo.toml:
[dependencies]
fingerprint-lib = "0.1.0"
serialport = "4.2" # Required for serial port communication
Here's an example of how to use the library:
use fingerprint_lib::fingerprint;
use std::time::Duration;
fn main() {
let port_name = "/dev/ttyUSB0"; // Replace with your serial port
let mut port = serialport::new(port_name, 57600)
.timeout(Duration::from_secs(2))
.open()
.expect("Failed to open serial port");
// Enroll a new fingerprint with ID 5
fingerprint::enroll_fingerprint(&mut *port, 5).unwrap();
// Verify a fingerprint
fingerprint::verify_fingerprint(&mut *port).unwrap();
// List all stored fingerprint IDs
fingerprint::list_fingerprints(&mut *port).unwrap();
// Delete a fingerprint with ID 5
fingerprint::delete_fingerprint(&mut *port, 5).unwrap();
}
This project acknowledges the invaluable guidance and support of Prof. Sibi Chakkaravarthy Sethuraman (VIT-AP University) and Prof. Chester Rebeiro (Indian Institute of Technology Madras) in the development of this tool. Their expertise and contributions have been instrumental in bringing this project to fruition.
Research outcome supported by Indominus labs Private Limited and Digital Fortress Private Limited
This crate is designed for fingerprint modules that communicate over UART and adhere to the Waveshare fingerprint (C), (E) or any other version packet protocol matters.
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Feel free to open pull requests or suggest new features.
Let me know if you'd like me to auto-generate a Cargo.toml for publishing!