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

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

3天内不再提示

基于树莓派设计的RFID门禁系统

科技观察员 来源:iCEasy商城 作者:iCEasy商城 2022-04-01 14:50 次阅读

本项目使用树莓派设计门禁或设备的访问控制系统,系统根据用户列表检查RFID标签,允许拥有授权RFID标签的指定成员进入室内。系统包括一个USBRFID读取器(读取器通过其USB线缆连接到树莓派),以及一个12V继电器电路板。当树莓派GPIO引脚触发时,继电器电路板为电子门锁供电

硬件

1、树莓派3ModelB。任何树莓派都可以使用。树莓派从两个传感器接收数据,并向继电器发送信号以解锁门。

2、Adafruit5V2.5A开关电源。为树莓派提供电源

3、电子门锁。确保使用电压、继电器板和触发电源匹配即可。

4、Parallax12V继电器。继电器板上电时,解开电动门锁。

5、Adafruit12VDC1000mA(1A)稳压开关电源适配器

6、125kHzUSBRFID读取器

7、AdafruitRGB背光LCD-16x2

软件:树莓派Raspbian、Python3、Rclone

pYYBAGJGoL2AI3dYAAJdY33PvLk325.png

开发过程

1、RFID读取器的选择

项目面临的首个难题是DIYRFID读取器,如果不考虑手持式读取器,第一种方法是自行购买RFID天线和电路板构建RFID读取器,但是需要一定的硬件知识。第二种方法是购买专业RFID设备,第三种本文的方法是网购低成本的RFID读取器。

poYBAGJGoLmADHOtAAK8Te1lwhg214.png

pYYBAGJGoLWAEq-aAAGkQmWMEOM326.png

2、选择工作频率

项目涉及两个主要标准:125kHz和13.56MHz。先进应用使用有源RFID技术,比如汽车的远程钥匙扣所使用的技术,但是如果仅仅用于解锁门,不需要有源RFID。建议使用13.56MHz。其与125kHz在功能上似乎是相同的,但是13.56MHz似乎更常见,因此更容易购买相关配件。无论选择何种方式,本文剩余部分适用,RFID标签和RFID读取器需要匹配。可以使用可擦写的标签来存储信息,这里使用永久存储简单ID的标签。

3、设置RFID读取器

将RFID读取器通过USB连接到Windows计算机。电源指示灯亮起之后,如果标签接近感应区域,读取器将发出蜂鸣声,并且指示灯将闪烁一次。如果打开PC自带的记事本程序并滑动标签,将会看到标签的代码。这是因为USBRFID读取器可模拟键盘,读取RFID编号,然后按ASCII字符顺序输出。

使用最新版本的RaspbianOS设置树莓派,创建目录和文本文件,包含用户及其ID列表,复制提供的测试代码,开始使用。Python脚本需要root特权才能通过USBRFID读取器读取信号,因此请使用“sudo”前缀运行脚本(script)。运行时,脚本应连续监视RFID读取器。找到代码后,将检查代码是否在批准的代码列表中,报告相关用户的名称,或报告在列表中未找到该代码。

设置继电器

pYYBAGJGoK-AN2pTAAJNSadN750244.png

RFID读取器正常工作之后,将继电器电路板连接到树莓派。电源和接地连接到5V和GND,但是这里将树莓派的引脚2用于5V,将引脚4用于接地,引脚11(GPIO17)用于信号。如果使用其他信号引脚,请确保在python脚本中更改此设置。轻扫标签,如果标签通过认证,继电器电路板激活3秒钟,LED亮起,发出咔嗒声,然后关闭。

设置电子门锁

将电子门锁连接12V电源,对其进行测试。如果需要,可以添加插孔连接器。检查电源,确定电源正极和接地,使用鳄鱼夹临时连接电线和电子门锁线。插入电源,也可以打开电涌保护器,然后电子门锁发出微弱声音,门锁应从固定变为活动状态。

根据不同型号,电子门锁可能有两根或四根电线。四根电线设计为与12V或24V电源兼容。确定电子门锁正常工作,就将电源接地线焊接到接地线上,或者通过其他方式将其永久连接。将正极导线连接到继电器的中间接头,通常标记为“COM”。将电子门锁的正极连接至继电器的常闭闸门(closedgate),通常标记为“NC”,而不是标为“NO”的常开闸门。

如果树莓派已打开,12VAC-DC转换器接入,则运行读取RFID读取器python脚本(以root用户身份)。RFID读取器识别授权RFID标签,继电器激活,打开电子门锁。

在开机时运行脚本

至少仍需要做两件事:设置一种跟踪谁登录的方法;将系统设置为在插入树莓派的时候自动启动。否则,如果发生电源故障,则电子门锁将保持关闭状态,直到手动重置为止。可设置python脚本,在开机的时候运行,一种方法是以root用户身份在Nano中编辑文件“/etc/rc.local”。

sudonano/etc/rc.local

使用完整路径名称,添加指令启动程序。

sudopython

/home/

YOUR_DIRECTORY_PATH/sample.py&

在末尾包括“&”,表明其在后台运行,并确保文本文件的最后一行保持原始状态的“exit0”(不带引号)。重新启动进行测试。python脚本应在启动后立即运行。

追踪RFID刷卡动作

可通过查看日志文件查看何人何时使用了系统,每次python脚本检查的时候,日志文件都会附加时间、ID号和相关用户等信息。但是有些用户可能希望在不使用SSH的情况下访问树莓派并读取文件,可设置一个自动过程,以在每次发生刷卡的时候,将日志文件复制到云存储。这里使用Rclone命令行工具。要使用Rclone,需要获取Google云端硬盘文件夹的API密钥。使用Rclone是因为无法让Python识别PyDrive命令。

Rclone命令行工具

拥有API密钥后,运行:

sudoRclone

config

如果在不使用sudo的情况下运行此命令,看起来正常工作,但是当尝试在python脚本中运行Rclone命令时,将不能正常工作,因为python脚本以root用户身份运行。

Rcloneconfig命令将生成并保存Rclone配置文件。如果不使用root特权生成,python脚本将找不到它,因为它以root用户身份运行。完全按照Rclone文档说明进行配置过程,以设置Google云端硬盘同步。

完成上述步骤,尝试测试命令。登录到Google云端硬盘帐户,然后查看文件是否已上传。取消注释每次刷卡后运行Rclone命令行。这会将日志文件复制到Google云端硬盘。建议为此项目创建一个与个人Google云端硬盘帐户不同的专用Google帐户,然后与您的普通帐户共享用于复制日志文件的文件夹。这样做的原因是Rclone功能强大,能够删除或覆盖Google云端硬盘上的任何文件。在发生事故或某种形式的黑客攻击的情况下,Rclone理论上可以用于在与其连接的相关云存储位置中窃取或勒索数据。这里使用Google云端硬盘存储敏感信息,因此采取了这一步骤来从宝贵的云存储空间中隔离日志文件同步过程。

应用延伸1:门开关

poYBAGJGoKiAVfqTAAKbc2C42TM521.png

RFID读取器进入工作状态,将磁性门传感器连接到树莓派,该传感器读取门状态,从打开状态变为关闭状态(反之亦然)的信息,并将其记录在日志文件中。门的开关在图中以按钮表示,因为其工作方式相同:当门关闭时,电路关闭;而当门打开时,电路也关闭。需要一个上拉电阻,将其连接到树莓派的第一个引脚,该引脚可提供恒定3V电压。

应用延伸2:LCD

poYBAGJGoKOAK0m_AAK7iU_08DI233.png

LCD使树莓派可以为用户提供反馈信息,提升用户体验。大多数传统LCD具有LED背光灯,背光灯具有RGB三个不同的颜色,使得树莓派可以随着文本更改LCD背景颜色,比如在正常使用期间为蓝色,在授予访问权限时变为绿色,在拒绝访问时变为红色。

应用延伸3:门铃

pYYBAGJGoJ-AI-wpAALTBgJNQew945.png

当外来人员来访,可为系统添加按钮和门铃功能,该按钮的一端连接到LCD,共享GND连接,减少穿过墙壁的电线数量。另一端连接到树莓派引脚12(GPIO18)。也可以通过连接到引脚1的上拉电阻,将其拉高。树莓派可以使用另一个继电器来激活蜂鸣器,或者通过其音频插孔激活声音,或者通过SMS短信或其他多种方式发送通知。

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

    关注

    383

    文章

    5781

    浏览量

    234610
  • 门禁系统
    +关注

    关注

    17

    文章

    385

    浏览量

    44791
  • 树莓派
    +关注

    关注

    113

    文章

    1638

    浏览量

    104728
收藏 人收藏

    评论

    相关推荐

    基于RFID门禁系统protues仿真问题

    【protues仿真】这个怎么解决???? 基于RFID门禁系统
    发表于 05-10 19:58

    树莓分享之系统安装!

    : Raspberry Pi(中文名为“树莓”,简写为RPi,(或者RasPi / RPI)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,其系统基于Linux。[1]随着Windows
    发表于 12-19 01:05

    上海直招软硬件开发工程师,懂树莓和python的优先

    上海直招软硬件开发工程师,懂树莓和python的优先工作地址:上海市徐汇区凌云路388号职位要求:多年硬件开发经验,能够独立完成解决方案。对驱动开发及调用精通。有智能柜及门禁系统开发
    发表于 05-05 15:22

    基于RFID和MySQL实现小区门禁系统

    第十五章 用RFID+MySQL实现小区门禁系统RFID522+ESP8266-12N+1602LCD)(Arduino边做边学:从点亮Led到物联网)
    发表于 06-24 08:26

    RFID门禁系统是什么构成的?

      如今RFID门禁系统在我们日常生活中随处可见,而近年来国家重要部门、金融机构、军事单位等高级别重要门禁系统应用需求呈现不断增长的态势。由
    发表于 08-19 06:20

    RFID门禁系统的工作原理是什么?

    自动化、信息化、智能化已经成为时代发展的需求,进入21世纪以来,无限技术、计算机技术继续不断深入发展,物联网行业蒸蒸日上。基于RFID技术的门禁控制系统正是物联网实用性的一个良好体现。门禁
    发表于 08-26 06:10

    树莓怎么制作刷脸门禁系统

    现在实验室用的门禁都是刷卡进入,经常忘记带卡而进不去,所以就用树莓自己做了一个刷脸认证的门禁系统,简单易用,准确性还挺高。接下来详细的说下
    发表于 09-11 11:52

    基于RFID技术的门禁系统

    自动化、信息化、智能化已经成为时代发展的需求,进入21世纪以来,无限技术、计算机技术继续不断深入发展,物联网行业蒸蒸日上。基于RFID技术的门禁控制系统正是物联网实用性的一个良好体现。门禁
    发表于 08-27 07:20

    基于RFID技术的门禁系统

      自动化、信息化、智能化已经成为时代发展的需求,进入21世纪以来,无限技术、计算机技术继续不断深入发展,物联网行业蒸蒸日上。基于RFID技术的门禁控制系统正是物联网实用性的一个良好体现。门禁
    发表于 01-08 15:46

    什么是树莓(Raspberry Pi)

    什么是树莓(Raspberry Pi)?树莓可以做什么?树莓支持的
    发表于 07-30 06:21

    树莓能做什么

    第一课:什么是树莓第二课:树莓能做什么第三课:购买您的第一个树莓第四课:如何安装
    发表于 09-10 07:28

    树莓是什么

    树莓树莓是什么树莓(英文名为Raspberry Pi,简写为RasPi/RPi/RPI)
    发表于 11-12 06:09

    树莓+STM32人脸识别门禁系统的设计资料分享

    在上一篇博客中介绍了该项目的的需求分析以及先期的准备,今天就记录一下在树莓派上的开发过程,我从接触树莓派到完成项目也只是过了俩周的时间,肯定是没有把树莓完全玩透的,遇到问题最好的方法
    发表于 01-20 08:03

    小区的RFID门禁系统是怎样的工作原理

    门禁系统也经历了RFID门禁、指纹门禁、虹膜识别门禁、面部识别
    发表于 11-19 08:32 1.4w次阅读

    基于RFID技术的门禁系统设计

    电子发烧友网站提供《基于RFID技术的门禁系统设计.pdf》资料免费下载
    发表于 10-19 11:45 1次下载
    基于<b class='flag-5'>RFID</b>技术的<b class='flag-5'>门禁</b><b class='flag-5'>系统</b>设计