Raspberry Pi Khóa Cửa RFID
Hướng dẫn này sẽ chỉ bạn cách xây dựng hệ thống khóa cửa sử dụng Raspberry Pi, module RFID/NFC RC522, một relay, khóa solenoid hoặc khóa điện từ, và tùy chọn màn hình LCD. Để giúp bạn dễ dàng hơn, hướng dẫn này sẽ xây dựng khóa cửa RFID từ đơn giản đến phức tạp theo từng bước. Cụ thể, chúng ta sẽ thực hiện:
- Phần 1: Hệ thống khóa cửa RFID đơn giản với Raspberry Pi, bàn phím, khóa solenoid hoặc khóa điện từ, hỗ trợ một thẻ RFID duy nhất
- Phần 2: (Tùy chọn) Thêm hỗ trợ nhiều thẻ RFID
- Phần 3: (Tùy chọn) Thêm màn hình LCD vào khóa cửa RFID
- Phần 4: (Tùy chọn) Thêm cảm biến cửa vào khóa cửa RFID
- Phần 5: (Tùy chọn) Quản lý và lưu trữ các thẻ RFID hợp lệ vào EEPROM nội bộ của Raspberry Pi
- Phần 6: (Tùy chọn) Lưu trữ lịch sử truy cập vào thẻ SD
Bạn có thể chỉnh sửa để thêm mật khẩu cho khóa cửa bằng cách kết hợp với Raspberry Pi - Khóa Cửa Keypad.
Phần Cứng Cần Thiết
| 1 | × | Raspberry Pi 5 | ||
| 1 | × | Bộ Kit RFID/NFC RC522 (đầu đọc + thẻ) | ||
| 1 | × | Thẻ RFID Key Fob | ||
| 1 | × | Thẻ RFID Card | ||
| 1 | × | Khóa Solenoid | ||
| 1 | × | (Thay thế) Khóa Điện Từ | ||
| 1 | × | Relay | ||
| 1 | × | Adapter Nguồn 12V | ||
| 1 | × | Jack Nguồn DC | ||
| 1 | × | Dây Jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Block Shield for Raspberry Pi | ||
| 1 | × | (Khuyến nghị) Raspberry Pi Prototyping Base Plate & Breadboard Kit | ||
| 1 | × | (Khuyến nghị) HDMI Touch Screen Monitor for Raspberry Pi |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về Module RFID/NFC RC522 và Khóa Điện Từ
Nếu bạn chưa quen thuộc với Module RFID/NFC RC522, khóa điện từ, khóa solenoid (bao gồm sơ đồ chân, chức năng và lập trình), các hướng dẫn sau có thể cung cấp thêm thông tin:
Các Thành Phần Của Hệ Thống Khóa Cửa
Hệ thống khóa cửa bao gồm hai thành phần chính:
- Khóa Cửa: Một Raspberry Pi, một relay, một đầu đọc RFID/NFC, và một khóa solenoid.
- Chìa Khóa Cửa: Thẻ RFID/NFC.
Cách Hoạt Động Của Khóa Cửa RFID/NFC
- Người dùng chạm thẻ RFID/NFC vào đầu đọc RFID/NFC, đầu đọc sẽ đọc UID từ thẻ.
- Raspberry Pi sau đó lấy UID này và so sánh với các UID đã được thiết lập trong code.
- Nếu UID khớp với một trong những chìa khóa được ủy quyền, Raspberry Pi sẽ tắt khóa điện từ, từ đó mở khóa cửa.
- Sau một khoảng thời gian nhất định, Raspberry Pi sẽ kích hoạt relay để khóa cửa lại.
Sơ Đồ Kết Nối
- Khóa Cửa RFID RC522 với Khóa Solenoid

This image is created using Fritzing. Click to enlarge image
- Khóa Cửa RFID RC522 với Khóa Điện Từ

This image is created using Fritzing. Click to enlarge image
※ Lưu ý:
Các nhà sản xuất có thể sắp xếp thứ tự chân khác nhau, vì vậy điều quan trọng là dựa vào các nhãn in trên module. Sơ đồ chân được mô tả ở trên hiển thị cách sắp xếp chân cho các module được sản xuất bởi nhà sản xuất DIYables.
Code Raspberry Pi - Một Thẻ Duy Nhất
Các Bước Thực Hiện
- Đảm bảo bạn đã cài đặt Raspbian hoặc bất kỳ hệ điều hành tương thích Raspberry Pi nào khác trên Pi của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối với cùng mạng cục bộ với PC của bạn.
- Đảm bảo Raspberry Pi của bạn được kết nối internet nếu bạn cần cài đặt một số thư viện.
- Nếu đây là lần đầu tiên bạn sử dụng Raspberry Pi, xem Raspberry Pi - Cài Đặt Phần Mềm
- Kết nối PC của bạn với Raspberry Pi qua SSH bằng SSH client tích hợp trên Linux và macOS hoặc PuTTY trên Windows. Xem cách kết nối PC với Raspberry Pi qua SSH.
- Đảm bảo bạn đã cài đặt thư viện RPi.GPIO. Nếu chưa, hãy cài đặt bằng lệnh sau:
- Kích hoạt giao diện SPI trên Raspberry Pi bằng cách làm theo hướng dẫn tại Raspberry Pi - how to enable SPI inteface
- Đảm bảo bạn đã cài đặt thư viện spidev. Nếu chưa, hãy cài đặt bằng lệnh sau:
- Đảm bảo bạn đã cài đặt thư viện mfrc522. Nếu chưa, hãy cài đặt bằng lệnh sau:
- Tạo một file script Python rfid_lock.py và thêm code sau:
- Lưu file và chạy script Python bằng cách thực thi lệnh sau trong terminal:
Script chạy trong một vòng lặp vô hạn liên tục cho đến khi bạn nhấn Ctrl + C trong terminal.
Để xác định UID của thẻ RFID/NFC, hãy chạm thẻ RFID/NFC vào module RFID-RC522, UID sẽ được hiển thị trên Terminal.
Khi bạn đã có UID của mình:
- Sửa đổi dòng 18 của code trên bằng cách thay thế byte keytagUID[4] = {0xFF, 0xFF, 0xFF, 0xFF}; với UID của bạn, ví dụ byte keytagUID[4] = {0x3A, 0xC9, 0x6A, 0xCB};
- Upload code đã sửa đổi lên Raspberry Pi của bạn
- Đặt thẻ RFID/NFC lên module RFID-RC522
- Kiểm tra kết quả trên Terminal
- Kiểm tra khóa điện từ để đảm bảo nó không bị khóa.
- Chạm một thẻ RFID/NFC khác vào module RFID-RC522.
- Kiểm tra kết quả trên Terminal
※ Lưu ý:
- Để phục vụ mục đích thử nghiệm, thời gian mở khóa đã được đặt thành 2 giây; tuy nhiên, điều này nên được tăng lên khi sử dụng trong thực tế hoặc cho các cuộc trình diễn.
- Việc cài đặt thư viện MFRC522 là bắt buộc. Để biết thêm thông tin, vui lòng tham khảo hướng dẫn Raspberry Pi - RFID.
Code Raspberry Pi - Nhiều Thẻ
Code dưới đây cho phép nhiều thẻ được ủy quyền.
Lặp lại các bước tương tự như trên và sau đó nhấn mỗi thẻ lên module RFID-RC522. Kết quả trên Terminal sẽ xuất hiện như sau:
Bạn có thể mở rộng code đề cập ở trên cho bốn thẻ RFID, hoặc nhiều hơn.
Video Tutorial
Việc sản xuất video tốn rất nhiều thời gian. Nếu video hướng dẫn hữu ích cho việc học của bạn, hãy đăng ký kênh YouTube để ủng hộ. Nếu nhu cầu đủ cao, chúng tôi sẽ cố gắng làm thêm nhiều video.