0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用树莓派连接EM-18RFID阅读器模块 并通过Python脚本从一些RFID卡访问信息

454398 来源:工程师吴畏 2019-07-29 10:14 次阅读

概述

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通信(尽管芯片也支持I2CUART)。

因此,选择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阅读器非常有用,因为您可以实现广泛的应用,例如:

访问控制

验证

电子机票

电子支付

电子收费

考勤

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83465
  • 树莓派
    +关注

    关注

    113

    文章

    1638

    浏览量

    104730
收藏 人收藏

    评论

    相关推荐

    射频识别RFID

    各种障碍物建立连接,直接完成通信。 2、 高效性 :RFID系统的读写速度极快,次典型的RFID传输过程通常不到100毫秒。高频段的RFID
    发表于 02-28 11:31

    rfid电子标签通过几何图形存储信息

    RFID(Radio Frequency Identification)电子标签是一种利用射频技术进行数据传输的设备,它可以通过电磁波与阅读器进行无线通信,并将嵌入在物体上的信息传输出
    的头像 发表于 01-10 15:24 257次阅读

    一种RFID阅读器前端载波抑制方法

    电子发烧友网站提供《一种RFID阅读器前端载波抑制方法.pdf》资料免费下载
    发表于 10-25 10:44 0次下载
    一种<b class='flag-5'>RFID</b><b class='flag-5'>阅读器</b>前端载波抑制方法

    基于STM32的LF RFID阅读器研究

    电子发烧友网站提供《基于STM32的LF RFID阅读器研究.pdf》资料免费下载
    发表于 10-23 10:00 0次下载
    基于STM32的LF <b class='flag-5'>RFID</b><b class='flag-5'>阅读器</b>研究

    基于STM32的RFID手持式阅读器的研究与设计

    电子发烧友网站提供《基于STM32的RFID手持式阅读器的研究与设计.pdf》资料免费下载
    发表于 10-08 09:59 0次下载
    基于STM32的<b class='flag-5'>RFID</b>手持式<b class='flag-5'>阅读器</b>的研究与设计

    树莓Python编程指南分享

    树莓python编程指南
    发表于 10-07 08:43

    使用M480 SPI与MFRC 522模块通信读取RFID的独特识别

    :NuMaker-PFM-M487 V3.0,MFRC522模块,RFID示例代码使用M480系列微控制作为主机控制
    发表于 08-29 08:35

    请问PLC如何访问数据库查询产品信息的案例呢?

    车间自动化生产线的总控PLC开发中(S7-1500),我们经常会通过PLC来驱动RFID和条码阅读器(相机),扫描产品上面信息
    的头像 发表于 07-31 11:41 761次阅读
    请问PLC如何<b class='flag-5'>访问</b>数据库查询产品<b class='flag-5'>信息</b>的案例呢?

    是否有任何支持VHBR的RFID控制或前端?

    我们使用支持超高比特率 (VHBR) 通信的基于 P60 和 P71 的智能,但 VHBR 读卡的市场似乎几乎不存在!Fetian VR504-CL 是唯声称支持它的通用商用阅读器
    发表于 06-09 06:01

    I2C多路复用器和RFID阅读器不能同时工作要怎么操作?

    时,RFID 阅读器工作。当我什么都不评论时,两者都不起作用。 我究竟做错了什么? 我遇到的另个问题是切换多路复用器后,我总是必须重新初始化显示(见 D 行)。如果我不这样做,显示
    发表于 06-01 10:31

    如何将Esp8266分线板与EM 18 RFID模块连接起来?

    我正在尝试将 Esp 8266 分线板与 EM 18 RFID 模块连接起来,使用我需要使用静
    发表于 05-22 06:47

    如何在python中实现ESP TOUCH协议?

    设备连接到路由。 有人能告诉我如何在 python 中实现 ESP TOUCH 协议吗?这样所有模块连同树莓
    发表于 05-17 08:20

    如何通过ESP模块打开/关闭树莓GPIO电路?

    如何通过ESP模块打开/关闭树莓GPIO电路?树莓作为优雅的电源开/关功能。您只需关闭 Pi
    发表于 05-15 06:13

    将整个9V电压传递到ESP8266是否可以?

    使用跳线并将母头连接到底部引脚然后剥去另端并将其连接/压接到 rfid 阅读器吗? 也,将整个 9V 电压传递到 8266 是否可以,还是
    发表于 05-11 06:54

    PN5190 RFID阅读器不响应SPI是怎么回事?

    嘿, 在我的公司,我们想使用 PN5190 RFID 阅读器与 STM32 MCU 起工作。不幸的是,当我尝试通过 SPI 与它通信时,我无法从 PN5190 得到答案。问题是 PN
    发表于 05-09 08:01