首页 > 解决方案 > 试图从树莓派上的 RFID RDM6300 读取,但它被卡住了

问题描述

做这个教程https://behindthesciences.com/electronics/raspberry-pi-rfid-tag-reader/代码不返回任何东西,它被卡住了。

如果我注释掉这一行:read_byte = PortRF.read(),while 工作,否则它会卡住并且不读取任何内容。

另外,有没有办法检测这些引脚上的任何东西并查看 RFID RDM6300 是否工作?

代码如下

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

标签: pythonpython-2.7raspberry-piraspberry-pi3rfid

解决方案


推荐阅读