如何在python中使用uhf rfid模块?
我正在尝试使用python通过以下模块从RFID标签读取和写入数据: 我可以成功连接到串行,但我不知道如何读取任何标记,因为pr9200(我正在工作的读卡器)的数据表使用以下内容: 它就像一个只有十六进制地址的原始数据包,我需要发送给模块,这样它才能工作 我在python上的代码如下:如何在python中使用uhf rfid模块?,python,rfid,Python,Rfid,我正在尝试使用python通过以下模块从RFID标签读取和写入数据: 我可以成功连接到串行,但我不知道如何读取任何标记,因为pr9200(我正在工作的读卡器)的数据表使用以下内容: 它就像一个只有十六进制地址的原始数据包,我需要发送给模块,这样它才能工作 我在python上的代码如下: import serial ser = serial.Serial(port = "COM27", baudrate=115200, bytesize=8, parity='N', stopbits=1)
import serial
ser = serial.Serial(port = "COM27", baudrate=115200, bytesize=8, parity='N', stopbits=1)
while(ser.is_open == True):
rfidtag = ''
incomingByte = ser.read(21)
print(incomingByte)
for i in incomingByte:
rfidtag = rfidtag + hex(i)
以下是一些关于跳转开始编码的注释: -您需要做的是向您的设备发送命令,要求它开始以自动模式发送读数。为此,您需要使用
ser.write(命令)
。你可以找到一个好的模板
-要准备命令,您只需要获取原始字节(您提到的十六进制值),并将它们作为一个bytearray
放在一起
-剩下的唯一小障碍是计算CRC。这里有一些不错的方法,只需搜索CRC16CCITT
-请注意,在写入后,您不能立即开始等待读数,您必须先等待设备确认该命令。提示:读取9个字节
-最后,对每个标记接收的字节进行新计数。我认为它们是22而不是21。您可以为此使用
pyembedded
python库,它可以为您提供标记id
from pyembedded.rfid_module.rfid import RFID
rfid = RFID(port='COM3', baud_rate=9600)
print(rfid.get_id())