#usb-hid #reader #data #driver #reading #keyboard #magstripe

usb_hid_magstripe_reader

USB HID磁条读卡器驱动程序(Megahunt HID FS键盘 / Run Mall)

1 个不稳定版本

0.1.0 2023年12月24日

#829 in 硬件支持

MIT 许可证

9KB
160

usb_hid_magstripe_reader

usb_hid_magstripe_reader 是一个Rust库,它提供了一个简单的接口,用于从USB磁条读卡器读取数据。它允许用户轻松地将磁条读卡器功能集成到他们的Rust应用程序中,因为它通常作为键盘运行。

功能

  • 一个5分钟的项目,用于让便宜的阿里巴巴磁条读卡器工作
  • 突然,它开始工作了

安装

要在您的Rust项目中使用 usb_hid_magstripe_reader,请将以下行添加到您的 Cargo.toml 文件中

[dependencies]
usb_hid_magstripe_reader = "0.1.0"

使用方法

以下是一个简单的示例,演示了如何使用 usb_hid_magstripe_reader

use usb_hid_magstripe_reader::MagstripeReader;

fn main() {
    let vendor_id = 0xffff; // Replace with your magstripe reader's vendor ID, mine came with 0xffff
    let product_id = 0x0035; // Replace with your magstripe reader's product ID, mine came with 0x0035

    let result = MagstripeReader::read(vendor_id, product_id); // At this point, you need to swipe a card

    println!("Magstripe data: {}", data)
}

请确保将 vendor_idproduct_id 的值替换为您特定磁条读卡器的相应值。

如何获取vendor_id和product_id

  1. lsusb
  2. 找到您的设备(例如,MEGAHUNT Megahunt HID FS键盘 / Run Mall)
  3. 使用 ffff:0035 部分,其中 ffff 是 vendor_id,0035 是 product_id

故障排除

有可能库无法打开设备。

  1. 检查 dmesg。如果它写入类似于 设备未授权 使用 的内容,这意味着 usbguard 未能识别设备
  2. 找到设备的id usbguard list-devices
  3. 允许设备 usbguard allow-device -p 77
  4. sudo chmod -R 777 /dev/bus/usb/,为什么不呢

贡献

欢迎为 usb_hid_magstripe_reader 贡献!如果您遇到任何问题或对改进有建议,请在 GitHub 仓库 上打开一个问题。也欢迎拉取请求。

依赖关系

~1.5MB
~30K SLoC