如何在python中使用uhf rfid模块?

如何在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)

我正在尝试使用python通过以下模块从RFID标签读取和写入数据: 我可以成功连接到串行,但我不知道如何读取任何标记,因为pr9200(我正在工作的读卡器)的数据表使用以下内容: 它就像一个只有十六进制地址的原始数据包,我需要发送给模块,这样它才能工作

我在python上的代码如下:

 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())