试图从一个raspberry pi上的RFID RDM6300读取,但是它被卡住了

2024-06-28 11:42:36 发布

您现在位置:Python中文网/ 问答频道 /正文

做这个教程https://behindthesciences.com/electronics/raspberry-pi-rfid-tag-reader/代码没有返回任何内容,它会被阻塞。在

如果我注释掉这行:read_byte=端口RF.read(),while有效,否则它会被卡住,不读取任何内容。在

另外,有没有办法检测这些引脚上的任何东西,看看rfidrdm6300是否工作正常?在

代码如下

import time
import serial
import RPi.GPIO as GPIO
#GPIO.setwarnings(False)
GPIO.setmode(GPIO.BCM)


Tag1 = str('1800387799CE')
#GPIO.setup(23,GPIO.OUT)
#GPIO.setup(24,GPIO.OUT)
#GPIO.output(23,False)
#GPIO.output(24,False)
testVar = 0
PortRF = serial.Serial('/dev/ttyAMA0',9600)
#PortRF = serial.Serial('/dev/serial0',9600)
print 'PortRF ' 
print PortRF
while True:
    print testVar
    testVar = testVar + 1
    #GPIO.cleanup()
    print 'en el while' 
    ID = ""
    try:
        print 'en el try' 
        read_byte = PortRF.read()
        pass
        print 'LECTURA ' + read_byte
        read_byte = "\x03"
    except ValueError as identifier :
        print 'No puede leer: ' + identifier
    if read_byte=="\x02":
        for Counter in range(12):
            read_byte=PortRF.read()
            ID = ID + str(read_byte)
            print hex(ord( read_byte))
        print ID
        if ID == Tag1:
            print "matched"
            #GPIO.output(23,True)
            #GPIO.output(24,False)
            time.sleep(5)
            #GPIO.output(23,False)
        else:
            #GPIO.output(23,False)
            print "Access Denied"
            #GPIO.output(24,True)
            time.sleep(5)
            #GPIO.output(24,False)  
GPIO.cleanup() # this ensures a clean exit

Tags: 代码importidfalsetruereadoutputgpio