首页 / 行业
如何使用树莓派连接EM-18RFID阅读器模块 并通过Python脚本从一些RFID卡访问信息
2019-07-29 10:14:00
概述
RFID或射频识别是一种通过电磁波进行通信的方式(射频波,具体而言)。 RFID标签和RFID卡通常用于身份验证和访问控制。
您可能已经看到人们在办公室入口处刷身份证。身份证实际上是具有雇员个人信息的RFID卡。在他/她刷卡的那一刻,他的检查时间将被计算机捕获。
我已经使用RFID阅读器和RFID卡实施了多个项目,如 RFID安全访问控制系统使用8051 ,基于RFID的考勤系统和 Arduino RFID阅读器。
在所有这些项目中,我提到一个简单的RFID通信系统由三部分组成:RFID卡或标签(包含嵌入在芯片上的用户或产品信息), RFID阅读器(触发RFID卡并从卡中提取信息的设备)和主机系统(如计算机或微控制器,然后处理数据)。
在这个项目中,我将使用流行的EM-18 RFID阅读器模块和一些RFID卡。另一种流行的RFID阅读器称为RFID RC522。 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技术及其应用。我将跳转到Raspberry Pi RFID阅读器界面。
设置用于串行通信的Raspberry Pi
我在Raspberry Pi RFID阅读器模块接口中提到的重要事项是EM-18 RFID阅读器模块使用UART通信即串行通信。如果你还记得,我还没有完成任何涉及Raspberry Pi串口通信的项目。
在继续使用Raspberry Pi和RFID阅读器模块的接口之前,有为了在Raspberry Pi中启用串行通信,您需要在Raspberry Pi中执行一些操作。
在Raspberry Pi中,串行端口可以使用或配置为两个方式:访问控制台和串行接口。默认情况下,Raspberry Pi的串行端口配置为访问Linux控制台,即作为控制台I/O引脚。
但是,我们希望将其更改为充当串行通信端口,以便我们可以连接外部外围设备,如本项目中的RFID阅读器,通过串行通信进行通信。
为了做到这一点,首先登录您的Raspberry Pi使用SSH(Putty)。输入以下命令进入Raspberry Pi配置工具。
sudo raspi-config
在“接口选项”中,选择“串行”选项。
现在,它询问您是否要通过串行通信访问登录shell。选择“否”选项。 然后,它要求您启用串行端口硬件。选择“是”选项。
完成该过程并重新启动Raspberry Pi。在Raspberry Pi启动后,一旦使用Putty登录agin并检查串行端口是否已启用,请输入以下命令。
dmesg | grep tty
在底部,您可以看到,“ttyS0”已配置如串行。现在,您可以继续使用Raspberry Pi连接RFID阅读器模块,通过串口进行通信。
Raspberry Pi RFID阅读器接口电路图
下图显示了Raspberry Pi和EM-18 RFID阅读器之间的连接。
所需组件
Raspberry Pi 3 Model B
EM-18 RFID阅读器模块
RS232 - 到 - USB适配器(因为我的RFID阅读器只有RS232输出)
少量RFID卡或RFID标签
RFID阅读器电源(我的RFID阅读器有5V稳压器)
用于Raspberry Pi和RS232-USB适配器的5V电源
连接电线
680Ω电阻(1/4瓦)
1.5KΩ电阻(1/4瓦)
电路设计
在Raspberry Pi上GPIO14和GPIO14即物理引脚8和10分别是UART TX和RX引脚。由于我们已经启用了Raspberry Pi的串行端口,您可以将这些引脚连接到外围设备。
现在是时候注意Raspberry Pi的工作原理了3.3V逻辑。因此,Raspberry Pin的RX引脚只能用3.3V逻辑给出。为了做到这一点,我们需要使用一个由两个电阻组成的简单分压器网络将RFID读取器的TX线电平转换为3.3V。
我使用了680Ω和1.5KΩ电阻。分压器的输出连接到Raspberry Pi的UART RXD引脚,即GPIO15。在Raspberry Pi和RFID读取器模块之间建立共同的接地连接。
代码
编写一个简单的Python脚本来读取RFID卡中的值,将其与预定义的值进行比较(我已事先收集了所有RFID卡的数据)并显示特定信息。
注意:在“port =‘/dev/ttyS0’”行中,将ttyS0替换为分配给您的串行设备的名称。
工作
Raspberry Pi RFID阅读器模块接口的工作非常简单。在Raspberry Pi上启用串行端口后,我们必须分配与UART通信相关的其余参数,即波特率,奇偶校验,停止位和数据大小。所有这些值都在Python代码中设置。
在此之后,您将收到“放置卡片”的消息。当您将RFID卡放在RFID阅读器上时,RFID阅读器模块将从卡读取数据并通过串行通信将数据发送到Raspberry Pi。
这Raspberry Pi进一步分析数据,并在屏幕上显示相应的消息。
应用程序
接口带有Raspberry Pi的RFID阅读器非常有用,因为您可以实现广泛的应用,例如:
访问控制
验证
电子机票
电子支付
电子收费
考勤
最新内容
手机 |
相关内容
AI换脸换声太逼真!遇到AI视频诈骗如
AI换脸换声太逼真!遇到AI视频诈骗如何识别?,活动,社交媒体,确认,账户,验证,真实照片,随着DCP010505BP-U人工智能技术的不断发展,AI换脸什么是带阻三极管,带阻三极管的基本
什么是带阻三极管,带阻三极管的基本结构、工作原理、电阻比率、常用型号、应用、检测、操作规程及发展历程,三极管,检测,工作原理,什么是高压接触器,高压接触器的组成
什么是高压接触器,高压接触器的组成、特点、原理、分类、常见故障及预防措施,高压,分类,闭合,用于,操作,损坏,AD694ARZ高压接触器是什么是射流继电器,射流继电器的基本
什么是射流继电器,射流继电器的基本结构、技术参数、工作原理、负载分类、如何选用、操作规程及发展历程,继电器,工作原理,分类,负什么是互感器,互感器的组成、特点、
什么是互感器,互感器的组成、特点、原理、分类、操作规程及发展趋势,发展趋势,分类,输入,计量,用于,信号,AD574AKD互感器是一种用于位移传感器结构类型及工作原理与应
位移传感器结构类型及工作原理与应用,工作原理,类型,结构,位移传感器,常见,效应,FDV302P位移传感器是一种用于测量物体位移或位置的射频连接器使用技巧与注意事项
射频连接器使用技巧与注意事项,连接器,选择,频率,类型,连接,传输,射频连接器是一种用于连接射频电路的电子元件,常用于无线通信系统电流互感器作用 电流互感器为什么
电流互感器作用 电流互感器为什么一端要接地?,作用,误差,原因,连接,测量,短路故障,电流互感器(Current Transformer,简称CT)是一种用于