与具有 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'<LF>V<CR>')
这行应该修改成
ser.write(serial.to_bytes([0x0A 0x56 0x0D])')
.
【讨论】:
我不得不暂时搁置这个项目。在接下来的几天里,我绝对要抽出时间来试一试。新工作的第二周。感谢您的评论!【参考方案2】:正确的字节只是0x56 0x0D
,它将返回固件版本,例如0x0A 0x58 0x0D 0x0A
【讨论】:
以上是关于与具有 ASCII 编码的 FM-503 RFID 阅读器通信的主要内容,如果未能解决你的问题,请参考以下文章