【问题标题】:linux command to read RFID usb portlinux命令读取RFID usb端口
【发布时间】:2016-12-10 01:33:13
【问题描述】:

我尝试从 USB RFID 阅读器读取数据。

airone@airone:~$ sudo tree /dev/input
/dev/input
├── by-id
│   ├── usb-413c_3010-event-mouse -> ../event2
│   ├── usb-413c_3010-mouse -> ../mouse0
│   ├── usb-Dell_Dell_USB_Keyboard-event-kbd -> ../event3
│   └── usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_08FF20140315-event-kbd -> ../event5
├── by-path
│   ├── pci-0000:00:1a.0-usb-0:1:1.0-event-kbd -> ../event5
│   ├── pci-0000:00:1d.1-usb-0:2:1.0-event-mouse -> ../event2
│   ├── pci-0000:00:1d.1-usb-0:2:1.0-mouse -> ../mouse0
│   └── pci-0000:00:1d.2-usb-0:1:1.0-event-kbd -> ../event3
├── event0
├── event1
├── event2
├── event3
├── event4
├── event5
├── mice
└── mouse0

2 directories, 16 files
airone@airone:~$ 

我的 RIFD 阅读器是:

usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_08FF20140315-event-kbd -> ../event5

当我将令牌放在 RFID 附近时,我得到了这个:

2 directories, 16 files
airone@airone:~$ sudo cat -v /dev/input/by-id/usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_08FF20140315-event-kbd 
M-1ZKX~M-m^A^@^D^@^D^@'^@^G^@M-1ZKX~M-m^A^@^A^@^K^@^A^@^@^@M-1ZKX~M-m^A^@^@^@^@^@^@^@^@^@M-1ZKXM-7^L^B^@^D^@^D^@'^@^G^@M-1ZKXM-7^L^B^@^A^@^K^@^@^@^@^@M-1ZKXM-7^L^B^@^@^@^@^@^@^@^@^@M-1ZKXM-s+^B^@^D^@^D^@'^@^G^@M-1ZKXM-s+^B^@^A^@^K^@^A^@^@^@M-1ZKXM-s+^B^@^@^@^@^@^@^@^@^@M-1ZKX1K^B^@^D^@^D^@'^@^G^@M-1ZKX1K^B^@^A^@^K^@^@^@^@^@M-1ZKX1K^B^@^@^@^@^@^@^@^@^@M-1ZKXpj^B^@^D^@^D^@'^@^G^@M-1ZKXpj^B^@^A^@^K^@^A^@^@^@M-1ZKXpj^B^@^@^@^@^@^@^@^@^@M-1ZKXM-2M-^I^B^@^D^@^D^@'^@^G^@M-1ZKXM-2M-^I^B^@^A^@^K^@^@^@^@^@M-1ZKXM-2M-^I^B^@^@^@^@^@^@^@^@^@M-1ZKXM-rM-(^B^@^D^@^D^@"^@^G^@M-1ZKXM-rM-(^B^@^A^@^F^@^A^@^@^@M-1ZKXM-rM-(^B^@^@^@^@^@^@^@^@^@M-1ZKX1M-H^B^@^D^@^D^@"^@^G^@M-1ZKX1M-H^B^@^A^@^F^@^@^@^@^@M-1ZKX1M-H^B^@^@^@^@^@^@^@^@^@M-1ZKXsM-g^B^@^D^@^D^@#^@^G^@M-1ZKXsM-g^B^@^A^@^G^@^A^@^@^@M-1ZKXsM-g^B^@^@^@^@^@^@^@^@^@M-1ZKXM-2^F^C^@^D^@^D^@#^@^G^@M-1ZKXM-2^F^C^@^A^@^G^@^@^@^@^@M-1ZKXM-2^F^C^@^@^@^@^@^@^@^@^@M-1ZKXM-v%^C^@^D^@^D^@#^@^G^@M-1ZKXM-v%^C^@^A^@^G^@^A^@^@^@M-1ZKXM-v%^C^@^@^@^@^@^@^@^@^@M-1ZKX0E^C^@^D^@^D^@#^@^G^@M-1ZKX0E^C^@^A^@^G^@^@^@^@^@M-1ZKX0E^C^@^@^@^@^@^@^@^@^@M-1ZKXqd^C^@^D^@^D^@"^@^G^@M-1ZKXqd^C^@^A^@^F^@^A^@^@^@M-1ZKXqd^C^@^@^@^@^@^@^@^@^@M-1ZKXM-;M-^C^C^@^D^@^D^@"^@^G^@M-1ZKXM-;M-^C^C^@^A^@^F^@^@^@^@^@M-1ZKXM-;M-^C^C^@^@^@^@^@^@^@^@^@M-1ZKXM-qM-"^C^@^D^@^D^@%^@^G^@M-1ZKXM-qM-"^C^@^A^@ ^@^A^@^@^@M-1ZKXM-qM-"^C^@^@^@^@^@^@^@^@^@M-1ZKX0M-B^C^@^D^@^D^@%^@^G^@M-1ZKX0M-B^C^@^A^@    ^@^@^@^@^@M-1ZKX0M-B^C^@^@^@^@^@^@^@^@^@M-1ZKXtM-a^C^@^D^@^D^@"^@^G^@M-1ZKXtM-a^C^@^A^@^F^@^A^@^@^@M-1ZKXtM-a^C^@^@^@^@^@^@^@^@^@M-1ZKXM-1^@^D^@^D^@^D^@"^@^G^@M-1ZKXM-1^@^D^@^A^@^F^@^@^@^@^@M-1ZKXM-1^@^D^@^@^@^@^@^@^@^@^@M-1ZKXM-q^_^D^@^D^@^D^@&^@^G^@M-1ZKXM-q^_^D^@^A^@
^@^A^@^@^@M-1ZKXM-q^_^D^@^@^@^@^@^@^@^@^@M-1ZKX1?^D^@^D^@^D^@&^@^G^@M-1ZKX1?^D^@^A^@
^@^@^@^@^@M-1ZKX1?^D^@^@^@^@^@^@^@^@^@M-1ZKXr^^D^@^D^@^D^@(^@^G^@M-1ZKXr^^D^@^A^@^\^@^A^@^@^@M-1ZKXr^^D^@^@^@^@^@^@^@^@^@M-1ZKXM-2}^D^@^D^@^D^@(^@^G^@M-1ZKXM-2}^D^@^A^@^\^@^@^@^@^@M-1ZKXM-2}^D^@^@^@^@^@^@^@^@^@0005665859

我怎么翻译这个?它可能吗?非常感谢你帮助我

【问题讨论】:

  • 您的 RFID 阅读器的供应商是否发布了文档和用于读取其产品输出的 API?祝你好运。
  • @shellter 是 em4100(机箱上的微软品牌)太简单了你有什么建议给我吗?
  • 抱歉,没有想到别的。祝你好运!

标签: linux bash usb cat rfid


【解决方案1】:

使用evdump 解释原始数据: evdump /dev/input/by-id/usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_*

我假设您想阅读整个 RFID 代码。为此,请使用以下主要基于https://stackoverflow.com/a/27913707/5795026 的 Python 脚本:

from evdev import InputDevice, ecodes, list_devices
from select import select

keys = "X^1234567890XXXXqwertzuiopXXXXasdfghjklXXXXXyxcvbnmXXXXXXXXXXXXXXXXXXXXXXX"
dev = InputDevice("/dev/input/by-id/usb-Sycreader_RFID_Technology_Co.__Ltd_SYC_ID_IC_USB_Reader_08FF20140315-event-kbd")

barcode = ""
while True:
    r,w,x = select([dev], [], [])

    for event in dev.read():
        if event.type != 1 or event.value != 1:
            continue
        if event.code == 28:
            print(barcode)
            barcode = ""
            break
        barcode += keys[event.code]

【讨论】:

    【解决方案2】:

    您已经弄清楚了如何识别键盘设备,您所要做的就是将您的输出通过管道传输到 hexdump -- 这是一个示例:

    $ sudo cat /dev/input/by-path/pci-0000:00:14.0-usb-0:4.4.4:1.0-event-kbd |十六进制转储

    这给出了通常的 hexdump 输出:

    0000000 7b84 61d6 0000 0000 f504 0007 0000 0000
    0000010 0004 0004 0027 0007 7b84 61d6 0000 0000
    0000020 f504 0007 0000 0000 0001 000b 0001 0000
    0000030 7b84 61d6 0000 0000 f504 0007 0000 0000
    0000040 0000 0000 0000 0000 7b84 61d6 0000 0000
    0000050 1422 0008 0000 0000 0004 0004 0027 0007
    

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-21
      • 1970-01-01
      • 2021-03-23
      相关资源
      最近更新 更多