RFID读取器连接错误与覆盆子pi

时间:2015-03-22 11:44:38

标签: python raspberry-pi rfid

我们正在尝试使用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)

3 个答案:

答案 0 :(得分:0)

正如本post所述,如果您首先将unicode字符串编码为ascii然后对其进行解码,则可能会有效。

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

当然,你将失去非工作角色。

答案 1 :(得分:0)

你试过这个吗?

print read_result

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

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

答案 2 :(得分:0)

问题在于波特率。 我使用的早期读者是2400 但我现在使用的是9600。