0

对于我的 DIY 访问控制系统,我在连接到 MagStripe 读卡器的 Raspberry Pi 上运行 Debian。刷卡时,读卡器会像键盘一样通过 USB 端口从磁条写入数据。例如,将其插入您的计算机,打开文本编辑器,然后刷卡,您会看到打印出来的一串数据,就像您用键盘输入的一样。

简单接线图:

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

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

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

谢谢您的帮助!

4

2 回答 2

2

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

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

要将键码转换为 ASCII,请参阅如何在 Perl 中将 Linux 键码从 /dev/input/event* 转换为 ASCII?

您可能需要成为 root,或者更改 /dev/input 的权限。

于 2012-07-13T15:36:32.303 回答
0

可能值得将程序分成两部分:一个作为服务在启动时在树莓派上启动,默认情况下将从您的键盘设备(阅读器)获取其标准输入,另一个通过 ssh 提供远程访问功能. 这样您就可以避免直接处理 /dev 中的设备。

于 2012-07-13T15:45:52.710 回答