แนวคิดนำไปเพื่อพัฒนา การเข้าถึงระบบ ระบบสารสนเทศ และเครื่อข่าย Network computer ภายในโรงเรียน ( สนับสนุน Project 63-64 ในทีม ASP )
ชื่อโปรเจค เข้าสู่ระบบคอมพิวเตอร์ Windows ด้วยแท็ก RFID และ Arduino
ทีมพัฒนา ASP
ดังนั้นในโครงการนี้เราจะเรียนรู้วิธีการปลดล็อคแล็ปท็อปของ Windows โดยใช้แท็ก บอร์ด Arduino และเครื่องอ่าน RFID จะเชื่อมต่อกับคอมพิวเตอร์อยู่เสมอและเพื่อปลดล็อคระบบฉันต้องสลับแท็ก RFID ของฉันไปที่เครื่องอ่าน RFID ด้วยโครงการเข้าสู่ระบบหน้าต่าง RFID RFID Arduinoนี้ฉันสามารถปลดล็อคระบบได้อย่างรวดเร็วและไม่ต้องพิมพ์รหัสผ่านใด ๆ หลังจากนั้นฉันวางแผนที่จะใช้บัตรประจำตัวสำนักงานของฉันเป็นแท็ก RFID เนื่องจากบัตรประจำตัวของฉันมีแท็ก RFID อยู่แล้ว Arduino เพื่อตรวจสอบมัน ฟังดูน่าสนใจแล้วเริ่มกันเลย……
วัสดุที่ต้องการ:
- Arduino UNO (สามารถใช้ Arduino ใดก็ได้)
- RC522 เครื่องอ่าน RFID
- แท็ก RFID
- สายเชื่อมต่อ
- สาย USB
RC522 โมดูล RFID:
มีหลายประเภทของผู้อ่าน RFID ที่มีอยู่ในตลาด แต่ในโครงการนี้เราได้ใช้RC522 SPI ตามโมดูล เว็บไซต์นี้มีราคาถูกและหาซื้อได้ง่าย นี่คือ RFID มีอินเทอร์เฟซ SPI, UART และ I2C แต่โดยปกติแล้วจะมาพร้อมกับอินเตอร์เฟส SPI MFRC522 RFID Readerโมดูลแสดงอยู่ด้านล่าง
เราเคยใช้โมดูล RFID กับ Arduino มาก่อนในการสร้างโครงการ RFID ที่ยอดเยี่ยมอื่น ๆเช่น
ในโครงการนี้RC522 RFID Module ที่แสดงด้านบนเชื่อมต่อกับ Arduino และ Arduino เองเชื่อมต่อกับคอมพิวเตอร์ เมื่อวางแท็ก RFID ใกล้กับเครื่องอ่านนี้ Arduino จะอ่านหมายเลขรหัสแท็ก rfid และส่งไปยังคอมพิวเตอร์
แผนภูมิวงจรรวม:
แผนภาพวงจรที่สมบูรณ์เพื่อเชื่อมต่อกับ RC522 กับ Arduinoได้รับด้านล่าง
อย่างที่คุณเห็นการเชื่อมต่อนั้นค่อนข้างง่าย เนื่องจากโมดูล RFID ทำงานร่วมกับการสื่อสาร SPI เราจึงได้เชื่อมต่อ MISO, MOSI, SCK และ NSS pin เข้ากับ SPI ของบอร์ด Arduino Uno โมดูล RFID นั้นใช้พลังงานจากขา 5V ของ Arduino Arduino UNO นั้นจะเชื่อมต่อกับแล็ปท็อปอยู่ตลอดเวลาดังนั้นเราจึงสามารถเชื่อมต่อกับพอร์ต USB ของแล็ปท็อปได้ รายละเอียดการเชื่อมต่อแสดงอยู่ในตารางด้านล่าง
RFID RC522 | ARDUINO |
V CC | 3.3V |
GND | GND |
RST | D9 |
มิโซะ | D12 |
MOSI | D11 |
SCK | D13 |
SDA / NSS | D10 |
การตั้งค่าระบบปลดล็อค RFID:
หลังจากสร้างวงจรดังภาพด้านบนให้เชื่อมต่อสาย USB ระหว่าง Arduino และระบบ (แล็ปท็อปหรือพีซี) ตอนนี้ผู้ใช้ต้องการค้นหาพอร์ต com สำหรับ Arduino ในการค้นหาพอร์ต com คุณสามารถใช้ตัวจัดการอุปกรณ์หรือหาได้ใน Arduino IDE ดังที่แสดงด้านล่าง หมายเลขพอร์ต COM ของฉันที่นี่คือ 1 คุณอาจจะแตกต่างกันให้จดบันทึกหมายเลขพอร์ต COM นี้เนื่องจากจะใช้ในภายหลัง
ตอนนี้ผู้ใช้จำเป็นต้องอัปโหลดรหัส RC522 Arduinoไปยังโมดูล Arduino ของคุณ รหัสที่สมบูรณ์จะได้รับที่ด้านล่างของหน้านี้ คำอธิบายของรหัสจะถูกกล่าวถึงในภายหลังในบทความนี้ หลังจากรหัสจะถูกอัปโหลดเปิดจอภาพแบบอนุกรม จากนั้นวางแท็ก RFID ไว้บนเครื่องอ่าน RFID และคุณจะเห็นค่า 5 ค่าบนมอนิเตอร์อนุกรม ผู้ใช้ต้องการคัดลอกและปิดมอนิเตอร์อนุกรม ค่าของฉันจะแสดงในภาพรวมการตรวจสอบพอร์ตอนุกรมด้านล่าง
ดาวน์โหลดโฟลเดอร์ rfid_configuration จากลิงค์ที่ระบุด้านล่าง ลิงก์จะดาวน์โหลดไฟล์ ZIP พร้อมด้วยสี่รายการ
ดาวน์โหลด rfid_configuration ไฟล์ ZIP
หลังจากแตกไฟล์ ZIP เข้าไปในโฟลเดอร์ชื่อ 32 บิตหรือ 64- บิต (ตามระบบปฏิบัติการของคุณ) และเปิด notepad ชื่อ RFIDcredentials.txt วางค่า RFID และอัพเดตชื่อผู้ใช้และรหัสผ่านของระบบ หากคุณต้องการเพิ่มไพ่สองใบแล้วเพิ่มข้อมูลประจำตัวเดียวกันในแถวที่สองตามที่แสดงด้านล่าง
จากนั้นบันทึกและปิดไฟล์นี้ ตอนนี้กลับมาและเปิดแผ่นจดบันทึก RFIDCredSettings และอัปเดตพอร์ต Arduino ในนั้นจากนั้นบันทึกและปิด หมายเลขพอร์ต COM อีกครั้งคือ 1 ให้อัปเดตด้วยหมายเลขพอร์ต COM ของคุณ ปล่อยให้ส่วนที่เหลือเป็นค่าเริ่มต้นที่แสดงด้านล่าง
ตอนนี้คัดลอกทั้งสี่รายการแล้ววางใน C: \ Windows \ System32 หากมันขออนุญาตใด ๆ เพียงแค่ให้หรือคลิกที่ใช่ ตอนนี้รันไฟล์ register เพื่อลงทะเบียนการเปลี่ยนแปลง
เมื่อคุณเรียกใช้ไฟล์ลงทะเบียนคุณอาจได้รับกล่องโต้ตอบต่อไปนี้
กดใช่แล้วตกลง ตอนนี้ล็อคระบบและผู้ใช้จะเห็นตัวเลือกผู้ใช้อื่นพร้อมใช้งานกับผู้ใช้ปัจจุบันของคุณ
ตอนนี้ผู้ใช้สามารถปลดล็อคระบบโดยใช้บัตร RFID ความหมายตอนนี้เราไม่จำเป็นต้องใส่รหัสผ่านเพียงแค่วางแท็ก RFID ไว้บนเครื่องอ่าน RFID และหน้าต่างจะถูกปลดล็อคทันที
รหัส RFID Arduino:
ส่วนการเข้ารหัสของโครงการนี้ง่ายและง่าย คำอธิบายของการเดียวกันจะได้รับ ก่อนอื่นเราต้องรวมไฟล์ส่วนหัวและกำหนดพินสำหรับ RFID RST_PIN และ SS_PIN หากคุณไม่ได้ติดตั้งไลบรารี mfrc522ไว้คุณสามารถดาวน์โหลดและเพิ่มจากลิงค์ต่อไปนี้
#include <SPI.h> #include <MFRC522.h> #define RST_PIN 9 #define SS_PIN 10 MFRC522 mfrc522 (SS_PIN, RST_PIN); MFRC522:: MIFARE_KEY;
จากนั้นในการตั้งค่าโมฆะเราได้เริ่มต้นการสื่อสารอนุกรมและSPIและเครื่องอ่าน RFID
การตั้งค่าเป็นโมฆะ () { serial.begin (9600); ในขณะที่ (อนุกรม!); SPI.begin (); mfrc522.PCD_Init (); สำหรับ (byte i = 0; i <6; i ++) Key.KeyByte [i] = 0xFF; serial.print ( '>'); }
ขณะนี้อยู่ในฟังก์ชันลูปเรากำลังรอการ์ด
เป็นโมฆะห่วง () { if (! mfrc522.PICC_IsNewCardPresent ()) กลับ; if (! mfrc522.PICC_ReadCardSerial ()) กลับ; send_tag_val (mfrc522.uid.uidByte, mfrc522.uid.size); ล่าช้า (1000) }
หากการ์ดพบว่า send_tag_val เรียกว่าข้อมูลแท็ก RFID จะถูกถ่ายโอนไปยังระบบโดยใช้การพิมพ์แบบอนุกรม ค่าการพิมพ์แบบอนุกรมนี้จะถูกเปรียบเทียบกับไฟล์ที่เราวางไว้ก่อนหน้านี้และหากตรงกับที่หน้าต่างจะปลดล็อคตัวเอง
เป็นโมฆะ send_tag_val (ไบต์บัฟเฟอร์ *, บัฟเฟอร์ไบต์) { serial.print ( "รหัส"); สำหรับ (byte i = 0; i <buffersize; i ++) { serial.print (บัฟเฟอร์ [i], DEC); serial.print (""); } serial.printIn (0, DEC); serial.print ( '>'); }
การทำงานที่สมบูรณ์ของโครงการจะแสดงในวิดีโอด้านล่าง หวังว่าคุณจะเข้าใจโครงการและสนุกกับการสร้างมัน หากคุณมีปัญหาใด ๆ ให้ปล่อยไว้ในส่วนความคิดเห็น นอกจากนี้โปรดใช้ฟอรัมเพื่อคำถามด้านเทคนิคอื่น ๆ
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522 (SS_PIN, RST_PIN);
MFRC522 :: คีย์ MIFARE_Key
การตั้งค่าเป็นโมฆะ ()
{
Serial.begin (9600);
ในขณะที่ (! อนุกรม);
SPI.begin ();
mfrc522.PCD_Init ();
สำหรับ (byte i = 0; i <6; i ++)
key.keyByte [i] = 0xFF;
Serial.print ( '>');
}
เป็นโมฆะห่วง ()
{
if (! mfrc522.PICC_IsNewCardPresent ())
กลับ;
if (! mfrc522.PICC_ReadCardSerial ())
กลับ;
send_tag_val (mfrc522.uid.uidByte, mfrc522.uid.size);
ล่าช้า (1000)
}
เป็นโมฆะ send_tag_val (ไบต์บัฟเฟอร์ *, ไบต์บัฟเฟอร์ buffer ขนาด)
{
Serial.print ( "ID:");
สำหรับ (byte i = 0; i <bufferSize; i ++)
{
Serial.print (บัฟเฟอร์ [i], DEC);
Serial.print ("");
}
Serial.println (0, DEC);
Serial.print ( '>');
}