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