【问题标题】:Communicating with an FM-503 RFID Reader with ASCII encoding与具有 ASCII 编码的 FM-503 RFID 阅读器通信
【发布时间】:2020-11-29 17:35:00
【问题描述】:

我收到了带有 UHF Ant 的 FM-503。我可以通过 pyserial 连接。我正在尝试向读者发送命令,起初我只想做一些基本的事情,以便更好地理解 python 中的通信。我正在构建一个 RFID 阅读器,它可以绑在我们房车停车场的高尔夫球车上。

使用带有 Python3 的 Windows PC,在 Sublime 中进行编辑。

我不是高级程序员,但我决心学习。我试图通过一个命令来获取固件版本。根据读者文档,它使用 ASCII 格式。命令应该是V。

这是我目前所拥有的。

'''
#First attempt to connect to FM350 through python
import serial
import time

#configure port
ser = serial.Serial(
    port ='COM12', 
    baudrate = 38400,
    timeout = 1,
    parity = serial.PARITY_NONE,
    stopbits = serial.STOPBITS_ONE,
    bytesize =  serial.EIGHTBITS
    )

 
while 1:
    y = ser.read(ser.inWaiting())
    time.sleep(0.01)
    print(y)
    ser.write(b'<LF>V<CR>')
    '''

这是python3吐出来的东西

--snip--
b''
b'\nX\r\n'
b''
b''
b''
b''
--snip--

根据文档 'X' = none command match,请看下图:

我认为是错误的:

我没有正确编码,向阅读器发送正确的命令。

非常感谢任何建议或研究地点。

【问题讨论】:

    标签: encoding ascii pyserial rfid


    【解决方案1】:

    ser.write(b'&lt;LF&gt;V&lt;CR&gt;')这行应该修改成

    ser.write(serial.to_bytes([0x0A 0x56 0x0D])').

    【讨论】:

    • 我不得不暂时搁置这个项目。在接下来的几天里,我绝对要抽出时间来试一试。新工作的第二周。感谢您的评论!
    【解决方案2】:

    正确的字节只是0x56 0x0D,它将返回固件版本,例如0x0A 0x58 0x0D 0x0A

    【讨论】:

      猜你喜欢
      • 2014-04-20
      • 2015-09-20
      • 1970-01-01
      • 2017-05-22
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      相关资源
      最近更新 更多