我的Python脚本(通过SSH启动)如何从连接的USB键盘读取一行? 它应该在超时时执行此操作。
我有一个读卡器充当键盘,在检测到卡时将卡ID作为单行发送。
在shell中使用cat /dev/tty0
运行良好,但我正在寻找一种方法在我的Python脚本中执行此操作。
答案 0 :(得分:0)
数据最有可能作为HID协议USB设备出现。您可以使用sourceforge中的PYUSB模块访问原始数据,然后解释它。
import usb.core
import usb.util
dev = usb.core.find(idVendor=0x0abc, idProduct=0x0123)
if dev is None: raise ValueError("Device not found")
dev.set_configuration()
endpoint = device[0][(0,0)][0]
for attempts in xrange(10):
try:
data = device.read(endpoint.bEndpointAddress, endpoint.wMaxPacketSize)
except:
data = None
if data is None: raise RuntimeError("no data found")
print 'got data', data
您需要获得访问该设备的权限。它会在超时时引发异常