我的Raspbarry上的2个USB端口上连接了2个RFID阅读器。使用下面的代码我可以在/ dev / hidraw0中读取输入reader1的寄存器和/ dev / hidraw1输出reader2的寄存器,到目前为止一直都很好。
问题是,当我关闭覆盆子,然后将来自/ dev / hidraw0播放器的USB端口转回来时,它变为/ dev / hidraw1,而/ dev / hidraw1的那个变成了/ dev / hidraw1开发/ hidraw0。发生这种情况时,系统会将输入与输出混淆。
我想知道是否有其他方式可以读取USB并识别我正在阅读的阅读器或是否有任何方法可以修复此hidraw。我的RFID阅读器对它进行编码并将其发送到输入,就好像它是键盘一样,没有连接驱动器。
def ReadRFID(file):
try:
fp = open(file,'rb')
if file == "/dev/hidraw0":
pinput = True
poutput = False
if file == "/dev/hidraw1":
pinput = False
poutput = True
except Exception:
return
st = ""
end_reg = 0
dado = ""
while end_reg == 0:
buffer = fp.read(10)
for c in buffer:
if c == 40:
end_reg = 1
else:
if c != 0:
if c == 39:
c = 29
st = st + str(c-29)
st是具有读取值的变量。如果pinput = true我知道它的输入,如果poutput = true我知道它的输出