无法使用 Raspberry PI 从 RDM6300 读取 RFID 数据

Posted

技术标签:

【中文标题】无法使用 Raspberry PI 从 RDM6300 读取 RFID 数据【英文标题】:Unable to read RFID data from RDM6300 using Raspberry PI 【发布时间】:2020-06-13 18:42:01 【问题描述】:

我正在按照这两个类似的指南使用我的模块/pi 读取 RFID 数据。

https://www.lancegrover.com/rfid-rdm6300-em4100-and-raspberry-pi/ https://behindthesciences.com/electronics/raspberry-pi-rfid-tag-reader/

当我尝试读取串行数据时,我的代码卡住了。具体如下:

PortRF = serial.Serial('/dev/serial0',9600)
read_byte = PortRF.read()

我猜是因为我的接线完全错误

他们建议的接线

在这两个站点之间,他们建议采用以下两种接线设置。我没有矫直机。

我尝试的接线

我不完全确定我这样做是否正确,但这是我目前的接线:

Python 代码

import serial
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)

Tag1 = str('0000000C000C')
Tag2 = str('0000000C080C')
Tag3 = str('0000000C010C')
Tag4 = str('0000000C090C')
Tag5 = str('0000000C0A0C')
Tag6 = str('0000000C0D0C')
GPIO.setup(23,GPIO.OUT)
GPIO.setup(24,GPIO.OUT)
GPIO.output(23,False)
GPIO.output(24,False)
PortRF = serial.Serial('/dev/serial0',9600)
PortRF.reset_input_buffer()
while True:
    ID = ""
    read_byte = PortRF.read()
    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 "White - Ashoka"
            GPIO.output(23,True)
            GPIO.output(24,False)
            PortRF.reset_input_buffer()
            time.sleep(5)
            GPIO.output(23,False)
        elif ID == Tag2:
            print "White - Chirutt"
            GPIO.output(23,True)
            GPIO.output(24,False)
            PortRF.reset_input_buffer()
            time.sleep(5)
            GPIO.output(23,False)
        elif ID == Tag3:
            print "Red - Vader"
            GPIO.output(23,True)
            GPIO.output(24,False)
            PortRF.reset_input_buffer()
            time.sleep(5)
            GPIO.output(23,False)
        else:
            GPIO.output(23,False)
            print "Access Denied"
            GPIO.output(24,True)
            PortRF.reset_input_buffer()
            time.sleep(5)
            GPIO.output(24,False)

【问题讨论】:

您是否在这里发现了其他问题?我正在遵循相同的教程并将所有东西都连接好(使用您丢失的电源线)。代码一直运行到 read_byte = PortRF.read() 然后什么都不做。阅读器亮了绿灯,但不承认任何标签或任何东西。 【参考方案1】:

回复晚了,但您缺少 RFID 模块的电源线,上图中的橙色线... 而且你需要一个电平转换器来避免弄乱你的 PI...

【讨论】:

以上是关于无法使用 Raspberry PI 从 RDM6300 读取 RFID 数据的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Manjaro 的 Raspberry PI 中 ssh

Android Things 3 无法从 Raspberry PI 3 上的 rxtx 读取

无法通过 BLE 将 Android 应用程序连接到 Raspberry Pi 3

无法从 qt5.6 源代码为 raspberry pi 2 构建 qtwebengine

我无法列出 Raspberry Pi 附近的 BLE 设备(python、btmgmt)

在 Raspberry Pi 3 上使用 pymssql 的 SQL Server 连接