用python读取RFID芯片 - 立刻获得整条线路

时间:2018-01-18 14:25:01

标签: python-3.x readline pyserial rfid usbserial

我正在尝试建立一个程序,通过USB串行连接读取带有RFID阅读器的RFID芯片。使用以下代码,我可以读取标记,但结果将在每行返回为单个字符。

import serial

ser = serial.Serial(
    port='COM4',\
    baudrate=9600,\
    parity=serial.PARITY_NONE,\
    stopbits=serial.STOPBITS_ONE,\
    bytesize=serial.EIGHTBITS,\
        timeout=0)

print("connected to: " + ser.portstr)

while True:
    for line in ser.read():
        print(chr(line))


ser.close()

输出:

connected to: COM4

4
0
0
0
0
4
1
2
8
6
C
E
F
F

如何一次阅读整行?我尝试过使用'ser.readline()`,但这并没有什么区别。另外,我不知道读取结尾处的方形符号是什么意思。据我测试,方形符号总是位于第15位,但有时会有其他字符。

最后,我需要能够扫描和RFID,然后在预定义列表中搜索标签,看它是否位于列表中。

1 个答案:

答案 0 :(得分:0)

为什么不直接连接所有数字?

RFID_string = ""
while True:
    for line in ser.read():
        if ((chr(line)) == ETX):
            break;
        else:
            ss += (chr(line))

您的ETX(文本末尾)始终位于第15位,因为它是您的RFID阅读器/标签的标准。还有其他标准,如10位数。