arduino 上传项目出错_使用RFID标签和Arduino登录进入Windows计算机

正如我们许多人所知,计算机是在1871年左右发明的,但是直到1961年,我们才对它们进行了密码保护。在19年代初期,我们使用字母数字字符作为计算机的密码,如今,我们拥有多种类型的验证方法,例如密码、图案、手势、指纹识别、面部识别等等。但是,每次短暂休息后,登录办公计算机时,都比较费时。

因此,在本篇文章中,我们将学习如何使用RFID标签解锁Windows笔记本电脑。Arduino开发板和RFID读写器始终连接到计算机,并且要解锁系统,我只需要在RFID阅读器上交换RFID标签即可。借助此Arduino RFID登录Windows项目,我可以非常快速地解锁系统,而无需输入任何密码,稍后,我计划使用办公室ID卡作为RFID标签,因为ID卡中已经装有RFID标签,并且我可以对Arduino进行编程验证。听起来很有趣,所以让我们开始吧……

所需的材料

●    Arduino UNO

●    RC522 RFID读写器

●    RFID标签

●    连接线

●    USB电缆

RC522 RFID模块

市场上有许多类型的RFID读写器,但是在本文中,我们使用了基于RC522 SPI的RFID模块。这很便宜并且可以在购物网站上轻松获得。这种RFID模块带有SPI、UART和I2C接口,但默认情况下,它使用SPI接口。MFRC522 RFID读写器模块如下所示。

3cf488037f32036fb2d50448bb75c040.png

在该项目中,上图的RC522 RFID模块连接到Arduino,而Arduino连接到计算机。将RFID标签放置在此读写器附近时,Arduino会读取rfid标签ID号并将其发送到计算机。

电路原理图

下面给出了将RFID RC522与Arduino连接的完整电路图。

d968a29f4b9d6553e9d2e1a03d6ca782.png

如您所见,连接非常简单。由于RFID模块可通过SPI通信工作,因此我们已将MISO、MOSI、SCK和NSS引脚连接到Arduino Uno板的SPI引脚。RFID模块由Arduino的5V引脚供电。Arduino UNO将始终连接到笔记本电脑,因此我们可以通过笔记本电脑的USB端口为其供电。下表中列出了连接详细信息。

RFID RC522

Arduino

VCC

3.3V

GND

GND

RST

D9

MISO

D12

MOSI

D11

SCK

D13

SDA/NSS

D10

c228e349374c585bf9431fb101790806.png

设置RFID解锁系统

构建如上图所示的电路后,在Arduino与系统(笔记本电脑或PC)之间连接USB电缆。现在,用户需要找到Arduino的com端口。要找到com端口,可以使用设备管理器,也可以在Arduino IDE中找到它,如下所示。我的COM端口号是1;您的可能有所不同,请记下此COM端口号,因为以后将使用它。

7ef6848f4ddc28f90a7b16103d142309.png

现在,用户需要将RC522 Arduino代码上传到您的Arduino模块。完整的代码在本页底部提供。代码上传后,打开串行监视器。然后将RFID标签放在RFID读写器上,您将在串口监视器上看到5个值。用户需要将其复制然后关闭串口监视器。

bb05eaca35b5e113d0331dd70f87aca9.png

从下面的给定链接下载rfid_configuration文件夹。该链接将下载一个包含四个项目的ZIP文件。 ae45b22b4bc3547513e7a339ba33b1bb.png rfid_configuration_arduino_windows_login.zip (252.11 KB, 下载次数: 4)

解压缩ZIP文件后,进入名为32位或64位的文件夹(根据您的操作系统),然后打开名为RFIDcredentials.txt 的记事本。粘贴RFID值并更新系统用户名和密码。如果要添加两张卡,则在第二行中添加相同的凭据,如下所示。

14f73fb71fd433192a703c2fca4fd8aa.png

然后保存并关闭此文件。现在返回并打开RFIDCredSettings记事本,更新其中的Arduino端口,然后保存并关闭。同样,我的COM端口号为1,用您的COM端口号更新它。其余设置为默认值,如下所示。

7f1f55ee50d993c517093394c480fcac.png

现在复制所有四个项目并将其粘贴到C:\Windows\System32中。如果它要求任何许可,只需给出或单击“Yes”。现在运行注册文件以注册更改。

2a6795a619a06330dc9d9edf7dc34cad.png

运行注册文件时,您可能会看到以下对话框。

48a6586d56c917e5064bd0911aa1cf6c.png

点击YES,然后按OK。现在锁定系统,该用户将看到当前用户可用的另一个用户选项。

846acd49d25c0dbcf3c944d4b95cebbc.png

现在,用户可以使用RFID卡解锁系统。也就是,现在我们不需要输入密码,只需将RFID标签放在RFID读写器上,窗口就会立即解锁。

RFID Arduino代码

该项目的代码部分非常简单。首先,我们需要包括头文件并为RFID RST_PIN和SS_PIN定义引脚。如果尚未安装mfrc522库,则可以从该Github链接下载并进行添加。

#include #include #define RST_PIN    9#define SS_PIN     10MFRC522 mfrc522(SS_PIN, RST_PIN);MFRC522: : MIFARE_KEY;

然后在void setup()函数中,我们初始化了串行和SPI通信以及RFID读写器。

void setup(){serial.begin(9600);while(!Serial);SPI.begin();mfrc522.PCD_Init();for(byte i = 0; i < 6; i++)Key.KeyByte[i] = 0xFF;serial.print('>');}

现在在loop函数中,我们等待卡。

void loop(){if( ! mfrc522.PICC_IsNewCardPresent() )   return;if( ! mfrc522.PICC_ReadCardSerial() )   return;send_tag_val (mfrc522.uid.uidByte, mfrc522.uid.size);delay(1000);}

如果找到卡,称为RFID标签的send_tag_val数据将使用串行打印传输到系统。该串行打印值将与我们之前放置的文件进行比较,如果匹配,则窗口将自行解锁。

void send_tag_val (byte *buffer, byte buffersize){   serial.print("ID");   for (byte i = 0; i < buffersize; i++){   serial.print(buffer[i], DEC);   serial.print(" ");}   serial.printIn(0, DEC);    serial.print('>');}

希望您理解该项目并喜欢制作。如果您有任何问题,欢迎在本文下面进行回复。

欢迎打赏+点赞+留言+转发!

更多内容请点击“” 》》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值