【问题标题】:Why do i get strange output from RFID reader with python?为什么我从带有 python 的 RFID 阅读器得到奇怪的输出?
【发布时间】:2012-01-26 23:35:35
【问题描述】:

我正在使用这个脚本:

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

【问题讨论】:

  • 您不应该使用isis not 来测试是否相等,而只能用于身份测试,通常使用None。这里的 Pythonic(推荐)方式是 if a:

标签: python string parsing serial-port codec


【解决方案1】:

您会看到,因为 U+0002 不是可打印字符。您收到 0x02 作为(部分?)来自设备的消息;您可以使用od 来查看脚本输出的整个消息。如果您没有预料到,那么您可能需要确保您已使用 setserial 为串行线路设置了适当的属性。

【讨论】:

  • 我是python和串行通信的初学者..你如何使用setserial?我在 Ubuntu Linux 机器上,如果有什么要说的话。
猜你喜欢
  • 1970-01-01
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 2014-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-06
相关资源
最近更新 更多