RFID reader 与 raspberry pi 的连接错误

RFID reader connection error with raspberry pi

我们正在尝试使用 raspberry pi b+ 读取 RFID 标签。我们在 python 中使用了以下脚本。

import serial
import time
serial=serial.Serial("/dev/ttyUSB0", baudrate=2400)
while True:
    if serial.inWaiting()>0:
        read_result=serial.read(12)
        print("Read card {0}",format(read_result.decode("utf-8","replace")))
        print("Sleeping 2 sec")
        time.sleep(2)
        serial.flushInput() 

在读取标签时出现错误:

File "/home/pi/rfidtry/try.py",line 7, in <module>
print("Read card {0}",format(read_result.decode("utf-8","replace")))
UnicodeEncodeError: 'ascii' codac can't encode character u'\uffd' in position 2
:ordinal not in range(128)

如本 post 中所建议,如果您先将 unicode 字符串编码为 ascii,然后对其进行解码,它可能会起作用。

read_result.encode('ascii','replace').decode('utf-8')

当然,你会丢失非工作字符。

你试过这个吗

print read_result

看看它是否有效(而不是)

print("Read card {0}",format(read_result.decode("utf-8","replace")))

问题出在波特率上。 我之前用的reader是2400 但是我现在用的是9600