Python:从MagStripe阅读器获取键盘输入

时间:2012-07-13 15:12:14

标签: python linux ssh keyboard

对于我的DIY门禁系统,我在连接到MagStripe读卡器的Raspberry Pi上运行Debian。当刷卡时,读卡器通过类似键盘的方式将来自磁条的数据写在USB端口上。例如,将其插入计算机,打开文本编辑器,然后刷卡,您将看到打印出的数据字符串,就像您使用键盘输入的数据一样。

简单连接图:

Client <--ssh--> Host + card reader

唯一的问题是我在ssh上运行我的Python脚本,它不会直接听到键盘输入。

如何让Python收听来自MagStripe阅读器的键盘事件? (我需要使用键盘记录器吗?PyGame的键盘绑定?)

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

在Linux上,可以通过/ dev / input访问USB键盘。

请参阅:format of /dev/input/event*? - 该问题的答案包括两个用于获取事件的不同Python模块,以及指向更多文档的链接。

要从键码转换为ASCII,请参阅How can I translate Linux keycodes from /dev/input/event* to ASCII in Perl?

您可能需要是root用户,或更改/ dev / input的权限。

答案 1 :(得分:0)

将程序划分为两个部分可能是值得的:一个是在启动时从覆盆子pi启动的服务,默认情况下将从键盘设备(读取器)获取stdin,另一个提供远程访问功能超过ssh。这样您就可以避免直接处理/ dev中的设备。