读取Usb Python Raspbarry p

2024-09-28 21:18:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有2个RFID读卡器连接在我的Raspbarry的2个USB端口上。通过下面的代码,我可以在/dev/hidraw0中读取输入reader1的寄存器和/dev/hidraw1中读取输出reader2的寄存器,目前为止还不错。在

问题是,当我关闭raspberry,然后打开来自/dev/hidraw0播放器的USB端口时,它变成了/dev/hidraw1,原来的/dev/hidraw1变成了/dev/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我知道它是输出


Tags: 端口devifreg寄存器filerfidusb