通过ssh阅读USB Magstripe阅读器

时间:2017-09-12 14:32:17

标签: python ssh keyboard raspberry-pi

我为我的pi创建了一个python程序,它检测来自usb读卡器的字符串(它就像一个USB键盘)并将它们写入文件。我意识到如果我在程序中运行它,该程序不起作用。我的猜测是因为我的程序将原始输入键入控制台,如果我通过ssh将其打开,它将无法工作。谁可以帮我这个事?

以下是我的计划:

import datetime
import time

card = raw_input()
t = datetime.datetime.now()
while True:
    f = open("Laptop Sign Out" + '.txt', 'a')
    f.write("Card Number: " + card[1:10] + " Time: " + t.strftime("%m-%d-%Y $
    f.write('\n')
    f.write(';')
    f.write('\n')
    f.close()
    time.sleep(5)

1 个答案:

答案 0 :(得分:0)

您可以使用evdev库,它允许将内核中生成的事件直接重定向到用户代码。

看看这个例子:

>>> from evdev import InputDevice, categorize, ecodes
>>> dev = InputDevice('/dev/input/event1')

>>> print(dev)
device /dev/input/event1, name "Dell Dell USB Keyboard", phys "usb-0000:00:12.1-2/input0"

>>> for event in dev.read_loop():
...     if event.type == ecodes.EV_KEY:
...         print(categorize(event))
... # pressing 'a' and holding 'space'
key event at 1337016188.396030, 30 (KEY_A), down
key event at 1337016188.492033, 30 (KEY_A), up
key event at 1337016189.772129, 57 (KEY_SPACE), down
key event at 1337016190.275396, 57 (KEY_SPACE), hold
key event at 1337016190.284160, 57 (KEY_SPACE), up

补充阅读为here

描述here

的方式略有不同