一致从EM18 + Raspberrypi读取的RFID卡>> [

问题描述 投票:0回答:1
我将

EM18

rfid阅读器连接到RaspberryPi。卡有时会读,有时不会读。换句话说,不是每次都尝试一次读取它。尽管成功读取后输出是正确的,但并非每次尝试都能确保读取无误。但是如果我使用NodeMCU代替RaspberryPi,读取速度将非常快且一致。我的python代码是:import serial #import serial module def read_rfid (): ser = serial.Serial ("/dev/ttyAMA0") #Open named port ser.baudrate = 9600 #Set baud rate to 9600 data = ser.read(12) #Read 12 characters from serial port to data ser.close () #Close port return data #Return data id = read_rfid () #Function call print id

硬件详细信息:

raspberrypi 3B +(破坏性操作系统)EM18传感器(非模块)em18的Tx引脚连接到raspberrpi的Rx(raspberrypi上启用了串行)

我将EM18 rfid阅读器连接到RaspberryPi。卡有时会读,有时不会读。换句话说,不是每次都尝试一次读取它。尽管在成功读取输出之后是正确的...

raspberry-pi3 rfid
1个回答
0
投票
您的代码不够健壮。您必须以这种方式查看它,以解释为什么有时只获得RFID标签:运行代码时,Python的解释器逐行执行,首先,它实例化了端口。这可能需要花费几秒钟的时间,然后更改波特率,然后尝试从端口读取12个字节。如果您恰好在同一时间出示卡,则代码正在等待获取数据,它将成功返回。但是在读卡器上也会有一些延迟,因此在实践中,要使这两个操作(运行代码并知道何时将等待数据并将卡提供给读卡器)保持同步非常困难。

为了避免这种情况,您可以添加一个循环,等待数据到达端口。这样的事情应该起作用:

© www.soinside.com 2019 - 2024. All rights reserved.