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

时间:2019-11-20 23:19:44

标签: python rfid

我正在尝试使用python whit这个模块从RFID标签读取和写入数据: https://es.aliexpress.com/item/32573423210.html 我可以成功连接串行串口,但是我不知道如何读取任何标签,因为pr9200(我正在使用的阅读器)的数据表使用以下代码: Image for pr9200 operation就像一个原始数据包,只有十六进制地址,我需要将其发送到模块才能正常工作

我在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)

2 个答案:

答案 0 :(得分:0)

一些注释可帮助您开始编码:

-您需要做的是向设备发送命令,要求其开始以自动模式发送读数。为此,您需要使用ser.write(command)。您可以找到一个好的模板here

-要准备命令,您只需要获取原始字节(您提到的那些十六进制值)并将它们放在一起,例如bytearray

-剩下的唯一较小障碍是计算CRC。因此,这里有一些不错的方法,只需搜索CRC 16 CCITT。

-请注意,写入后您无法立即开始等待读取,您必须首先等待设备确认命令。提示:读取9个字节。

-最后,对每个标签要接收的字节进行新计数。我认为他们是22岁,而不是21岁。

答案 1 :(得分:0)

您可以为此使用 pyembedded python 库,它可以为您提供标签 ID。

from pyembedded.rfid_module.rfid import RFID
rfid = RFID(port='COM3', baud_rate=9600)
print(rfid.get_id())

https://pypi.org/project/pyembedded/