Windows PC 锁定/解锁使用 RFID
组件和用品
| × | 1 | ||||
| × | 1 | ||||
| × | 3 |
必要的工具和机器
|
应用和在线服务
|
关于这个项目
你好!
每次电脑/笔记本电脑被锁定时,您是否经常因为输入密码来解锁它而感到厌烦?我习惯于每天将它锁定很多次,没有什么比每次我想解锁它时一遍又一遍地输入密码/pin 更烦人的了。当对某样东西的需求变得必不可少时,您将被迫寻找获得它的方法。俗话说,“需要是发明之母”,我懒惰的头脑开始想到一种简单而便宜的方法来解锁我的个人电脑/笔记本电脑,每次我不得不锁定它。当我检查我的东西时,我发现了一个 RC522 RFID 模块。那时我决定做一个 RFID 系统。
RFID: 射频识别 (RFID) 是最古老的无线技术之一。 RFID 芯片用于以数字方式存储信息,然后可以通过电磁场和无线电波在对象之间共享这些信息。它可能不是超级先进,但许多制造商看到了这项技术的真正潜力,无论它有多老。
在这个项目中,我将解释如何制作一个简单的 RFID 系统,只需轻轻一按 RFID 卡/标签即可锁定/解锁您的 Windows 计算机。有了这个系统,每次锁定笔记本电脑/PC 时都不会再有解锁它的麻烦。
图>该项目的核心是 Arduino Pro Micro(或者您可以使用 Arduino Leonardo) 使用 ATmega32U4 芯片。本项目选择带有ATmega32U4的开发板非常重要 芯片。对于此应用程序,我们不能使用 Arduino Uno、Mega 2560、Pro Mini 或 Arduino Nano 等开发板。详细信息在以下步骤中。
构建原型。
我建议您在将电路焊接到 PCB 之前在面包板上构建原型。这将帮助您更好地了解连接,并允许您修复链接连接时发生的任何错误。考虑到这个项目,构建原型并不是一项艰巨的任务。我们只需要建立几个连接,我们就可以上传代码了。连接描述如下。在 Arduino 上,许多引脚是不可更改的。由于此设备使用 SPI 总线,因此不允许切换引脚,引脚 14、15 和 16 必须保持如图所示。 RST 和 SDA 是用户指定的。
- RC-522 RFID 模块的设计输入电压仅为 3.3 伏 .它是一个非常敏感的设备,因此任何更高的值都可能会过热并损坏模块。 Arduino Pro Micro 的 VCC 将为您提供 5 伏电源。制作电路图中所示的分压器(或使用 5 V 至 3.3 V 降压模块)以产生 3.3 伏的电源电压。将 3.3 V 电源连接到 RFID 模块的 VCC。
- RST 连接到 Arduino 的引脚 5。 (您可以在代码中更改此引脚。)
- 将 GND 引脚接地。
- IRQ 引脚 - 未连接。
- MISO 连接到 Arduino 的 14 脚。
- MOSI 连接到 Arduino 的 16 脚。
- SCK 连接到 Arduino 的 15 引脚。
- SDA 连接到 Arduino 的引脚 10。 (这也是用户定义的引脚。)
就是这样!,简单易行。只需插入数据线,我们就可以上传代码并测试设备了。
代码。
带有 ATmega32u4 芯片的 Arduino Leonardo/Micro 具有内置的 USB 通信。这允许 Leonardo/Micro 在连接的计算机上显示为鼠标或键盘。
我们使用keyboard.h 核心库让arduino 将击键发送到连接的计算机。
代码的工作非常简单。
- 您的 RFID 卡/标签的 UID 和您的 windows 密码/PIN 存储在代码中。
- 当向 RFID 阅读器显示正确的卡片时,arduino 将同时发送用于锁定窗户的按键和用于解锁窗户的密码。
- 如果窗口处于锁定状态,锁定它的按键将不起作用,该命令将解锁锁定的计算机。
- 否则,如果窗口已经解锁,命令将锁定它。 (解锁码也会同时出现,但由于锁定和解锁键击之间只有一点延迟,Windows 开始执行锁定命令并且不会读取当时到来的解锁码命令。)
您必须对我提供的代码进行一些小的更改,以便您自己探索和使用它。
- 将原型连接到计算机。
- 启动 Arduino IDE 并打开我在此处提供的代码。
- 从工具栏转到工具 -> 板并为 Arduino Pro micro 和 Arduino Leonardo 选择 Arduino Leonardo。
- 检查是否选择了 COM 端口。
- 将代码上传到 arduino。
- 打开串行监视器 (Ctrl+Shift+M)。
- 扫描您的卡片/标签。
- 串行监视器中显示的输出的第一行是您的卡/标签的 UID。记下这个值。
- 现在返回代码编辑器并更改字符串“card1”的值 "到您刚刚记下的 UID(在我的代码中,您可以在第 41 行找到它)。
- 转到代码的最后一部分,你会发现一行写着“Keyboard.print("PASSWORD"); "(代码中的第 80 行。)将此值更改为您的 Windows 解锁代码。
- 现在将修改后的代码上传到 arduino。
- 扫描卡片/标签以测试原型。
这是使用 RFID 标签在计算机中输入密码的基本代码。您可以修改代码以添加更多卡片/标签,并为各种应用为每张卡片设置不同的密码。
焊接。
图> 图> 图>这是一个非常小而简单的电路。与其花费大量时间制作定制 PCB,不如将其焊接到原型 PCB 板上。
始终使用接头连接 arduino 和 RFID 模块,否则焊接时长时间暴露在高温下可能会永久损坏这些板。
按照电路图焊接所有连接,并将 arduino 和 RFID 模块连接到 PCB 板上。我已经使用直角母头将 RFID 模块水平连接到 PCB 板,以方便为其制作外壳。
务必确保在焊接后测试设备是否有任何可能的连接松动或故障。
制作外壳。
图>我用我在车库里找到的纸板箱做了一个简单的外壳。我使用相同的纸板为它制作了一个支架,并在外壳上切出孔,用于连接电缆和 arduino 中的 LED。然后我用碳纤维纹理贴纸包裹了整个设置,并在板上 LED 所在的孔上贴了一个半透明的深色贴纸。
制作案例完全取决于您的想象力。在下面的评论部分分享您的想法。!
结果。
观看视频以了解设备的运行情况。
请记住,这只是一个简单的爱好项目,非常适合家庭用户。在将其用于个人用途之前,请考虑潜在的安全漏洞。我不能保证任何安全性。
在我们的日常生活中应用 RFID + keyboard.h 的可能性有很多。我是为了锁定/解锁我的电脑而制作的。你要做什么?请在下面的评论中告诉我!
谢谢!
代码
- 使用 RFID 锁定/解锁 Windows PC。
Windows PC 使用 RFID 锁定/解锁。C/C++
Arduino Code.#include#include #include #define SS_PIN 10#define RST_PIN 5#define KEY_RETURN 0xB0 //返回键的十六进制值为0xB0 . MFRC522 mfrc522 (SS_PIN, RST_PIN);char Enter =KEY_RETURN; //返回键声明为Enter.String readid;String card1="48b45a10"; //将此值更改为您的卡的UID。无效设置(){ Serial.begin(9600);键盘开始(); SPI.begin(); mfrc522.PCD_Init();}void temp(byte *buffer, byte bufferSize)//函数将卡的uid存储为字符串数据类型。{ readid=""; for(byte i =0;i
示意图
制造工艺