与具有 ASCII 编码的 FM-503 RFID 阅读器通信

Posted

技术标签:

【中文标题】与具有 ASCII 编码的 FM-503 RFID 阅读器通信【英文标题】:Communicating with an FM-503 RFID Reader with ASCII encoding 【发布时间】: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,请看下图:

我认为是错误的:

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

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

【问题讨论】:

【参考方案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

【讨论】:

以上是关于与具有 ASCII 编码的 FM-503 RFID 阅读器通信的主要内容,如果未能解决你的问题,请参考以下文章

汉字编码与ASCII编码有何区别

低频RFID 底层编码

低频RFID 底层编码

sql 在MySQL数据库中查找具有非ascii值的记录并修复双重编码错误。接受表和字段名称。

RFID与射频卡电器特性

铨顺宏RFID:电子汽车车牌系统具有RFID识别功能