为什么我使用 python 从 RFID 读取器得到奇怪的输出?
我正在使用这个脚本:
import serial
ser = serial.Serial('/dev/ttyUSB0')
print 'Running..'
while True:
a=ser.read() # write a string
if a is not "":
print str(a)
break
ser.close()
..当我运行脚本时,我得到这个输出:
/Documents/python$ python rfid.py
正如你所看到的,我得到这个奇怪的盒子而不是ID字符串,所以我猜它与一些编解码器?编辑:实际上你在这里看不到它,但我正在谈论的盒子包含三个零和一个二,如下所示:
0 0
0 2
I'm using this script:
import serial
ser = serial.Serial('/dev/ttyUSB0')
print 'Running..'
while True:
a=ser.read() # write a string
if a is not "":
print str(a)
break
ser.close()
..and when im running the script i'm getting this output:
/Documents/python$ python rfid.py
As you can see i'm getting this strange box instead of the ID-string, so i'm guessing it has to do with some codec? EDIT: actually you cant see it here, but the box i'm talking about contains three zeroes and a two, like this:
0 0
0 2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您看到这一点是因为 U+0002 不是可打印字符。您收到 0x02 作为来自设备的消息(一部分?);您可以使用 od 来查看脚本输出的整个消息。如果您没有预料到这一点,那么您可能需要确保已使用
setserial
为串行线设置适当的属性。You're seeing that because U+0002 is not a printable character. You're receiving 0x02 as (part of?) the message from the device; you can use
od
to see the whole message as output by the script. If you didn't expect that then you may want to make sure that you've usedsetserial
to set the appropriate properties for the serial line.