在这个项目中,我们将了解RFID阅读器(EM-18)和Raspberry PI RFID阅读器界面。我将通过Python脚本与覆盆子PI与覆盆子PI进行接口和访问信息。
概述
RFID或射频识别是通过电磁波(射频波,特定射频波)的通信方式。RFID标签和RFID卡通常用于身份验证和访问控制。
您可能已经看到人们在办公室的入口处刷过他们的身份证。身份证实际上是具有员工个人信息的RFID卡。他/她刷卡的那一刻,他的检查时间将被计算机捕获。
我已经使用RFID阅读器和RFID卡实现了几个项目RFID安全访问控制系统使用8051那基于RFID的考勤系统和Arduino RFID读者。
在所有这些项目中,我提到了一个简单的RFID通信系统包括三个部分:RFID卡或标签(包含嵌入在芯片上的用户或产品信息),RFID读取器(触发RFID卡的设备和触发RFID卡的设备)从卡中提取信息)和主机系统(如计算机或微控制器,然后处理数据)。
在这个项目中,我将使用流行的EM-18 RFID阅读器模块和一些RFID卡。还有另一个名为RFID RC522的流行RFID阅读器。EM-18和RC522 RFID模块之间的主要差异是:
- EM-18基于125 kHz射频通信,而RC522基于13.56 MHz频率。
- 通过界面选项,EM-18使用串行通信,而RC522使用SPI通信(尽管芯片支持I2C和UART)。
因此,选择RFID阅读器模块的选择非常重要,因为它定义了使用Raspberry PI或Arduino与模块通信的方式。
我不会进入RFID读者和RFID通信的工作的细节,因为有许多关于这里的教程与这里相同:RFID技术及其应用。我将跳入覆盆子pi rfid读取器界面。
设置Raspberry PI进行串行通信
我在Raspberry PI RFID读取器模块接口中提到的重要事项是EM-18 RFID读取器模块使用UART交流即串行通信。如果您记得,我尚未完成任何项目,直到现在涉及覆盆子PI通过串行通信。
在继续覆盆子PI和RFID读取器模块的界面之前,您需要在Raspberry PI中进行一些事情,以便在Raspberry Pi中启用串行通信。
在Raspberry PI中,可以通过两种方式使用或配置串行端口:访问控制台和串行接口。默认情况下,raspberry pi的串行端口配置为访问Linux控制台I.E.作为控制台I / O引脚。
但是,我们希望将其更改为充当串行通信端口,以便我们可以通过串行通信进行通信的RFID读取器等外部外围设备。
为此,请使用SSH(PUTTY)首先登录您的Raspberry PI。输入以下命令输入raspberry pi配置工具。
在“接口选项”中,选择“串行”选项。
现在,它询问您是否希望通过串行通信访问登录外壳。选择“否”选项。然后,它要求您想要启用串行端口硬件。选择“是”选项。
完成过程并重新启动覆盆子PI。raspberry pi通电后,一旦agin使用putty登录并才能检查是否已启用串行端口,请输入以下命令。
在底部,您可以看到“TTYS0”配置为串行。现在,您可以使用Raspberry PI进行接口RFID读取器模块,以通过串行进行通信。
覆盆子PI RFID读取器接口电路图
以下图像显示了覆盆子PI和EM-18 RFID读取器之间的连接。
所需的组件
- 覆盆子PI 3型号b
- EM-18 RFID阅读器模块
- RS232 - 至USB适配器(因为我的RFID读者只有RS232输出)
- 很少有RFID卡或RFID标签
- RFID读取器电源(我的RFID阅读器有一个5V稳压器)
- 覆盆子PI和RS232-USB适配器的5V电源
- 连接电线
- 680Ω电阻(1/4瓦)
- 1.5kΩ电阻(1/4瓦)
电路设计
在Raspberry Pi,GPIO14和GPIO14 I.E.物理引脚8和10分别是UART TX和RX引脚。正如我们已启用Raspberry PI的串行端口一样,您可以将这些引脚连接到外部外围设备。
现在是一个很好的时机,raspberry pi适用于3.3V逻辑。因此,覆盆子引脚的RX引脚只能以3.3V逻辑给出。为此,我们需要级别将RFID读取器的TX线转换为3.3V,使用由两个电阻组成的简单分压器网络。
我使用了680Ω和1.5kΩ电阻。分压器的输出连接到Raspbery Pi的UART RXD引脚I. GPIO15。在Raspberry PI和RFID读取器模块之间进行共同的接地连接。
代码
写入简单的Python脚本以读取RFID卡的值,将其与预定义值进行比较(我已经事先收集了所有RFID卡的数据)并显示了特定信息。
笔记:在“端口='/ dev / ttys0'行中,替换ttys0与分配给您的串行设备的名称。
在职的
覆盆子PI RFID读取器模块界面的工作非常简单。在raspberry pi上启用串口后,我们必须分配与UART通信相关联的其余参数即,BAUK率,奇偶频频,停止位和数据大小。所有这些值都设置在Python代码中。
在此之后,您将收到一条消息作为“放置卡”。将RFID卡放在RFID读取器上时,RFID阅读器模块将从卡中读取数据并通过串行通信将数据发送到覆盆子PI。
覆盆子PI进一步分析了该数据,并在屏幕中显示适当的消息。
应用程序
与Raspberry PI接口RFID读取器可以非常有用,因为您可以实现广泛的应用程序,如:
- 访问控制
- 验证
- 电子机票
- 电子付款
- e-toll.
- 出勤
7回复
先生,我想用raspberry pi接口em-18,我正确地完成了配置步骤,但我的ttyama0仍然在UART中,它不是转换为串行
谢谢你的全部,你的意思是通过串行设备的名称来重新开始ttyso,你的意思是我把我的RFID阅读器名称或究竟是什么???,
不可以。raspberry pi(或raspbian操作系统)将分配每个设备的名称。在我的情况下,通过串行通信接口的RFID读取器给出标识符“TTYS0”。该名称应在代码中指定(在{port ='/ dev / ttys0'}行中)。检查在案例中分配的名称,并在代码中添加相同的名称。
谢谢你重新翻译先生,我也是分配的设备名称是ttys0所以试过你的代码但没有发生任何事情,我有蜂蜜RFID读者WICHAND接口RS232,所以我使用了R232接口和2个电阻330欧姆和560欧姆,请在这里帮助我粘在或我可以使用输入引脚使用Wiegand接口
针图它应该是tx而不是rx
哎呀。谢谢你指出它。修正。
当串行端口的VCC接受5V时,电路图中的VCC不应该为5V。