Nicola Belluti
07ef2a96bc
Some checks failed
Check, format and test / build (push) Failing after 50s
|
||
---|---|---|
.gitea/workflows | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
A reverse-engineered library to communicate with the R701 by I.P.S. Informatica, written in Rust
If you want to read about this reverse engineering attempt, check out https://nicolabelluti.me/series/attendance-reader/.
Library Usage
-
Add the library to you project:
cargo add r701 --git https://git.nicolabelluti.me/nicolabelluti/r701.git
-
Use the library in you project:
use r701::R701; fn main() { let mut r701 = R701::connect("127.0.0.1:5005").unwrap(); println!("No\tMchn\tEnNo\t\tName\t\tMode\tIOMd\tDateTime\t"); r701.into_record_iter() .unwrap() .collect::<Vec<_>>() .iter() .rev() .enumerate() .for_each(|(id, record)| { let name = r701 .get_name(record.employee_id) .unwrap() .unwrap_or(format!("user #{}", record.employee_id)); println!( "{:0>6}\t{}\t{:0>9}\t{: <10}\t{}\t{}\t{}", id + 1, 1, record.employee_id, name, 35, record.clock as u8, record.datetime.format("%Y/%m/%d %H:%M:%S"), ); }); }