ESP8266 RFID
Tutorial này hướng dẫn bạn cách sử dụng RFID/NFC với ESP8266. Hệ thống RFID/NFC bao gồm hai thành phần: một đầu đọc và một thẻ. Hai đầu đọc RFID/NFC phổ biến nhất là RC522 và PN532. Tutorial này sẽ sử dụng đầu đọc RC522 RFID/NFC, rẻ và dễ sử dụng.
Đầu đọc RC522 RFID/NFC có thể:
- Lấy UID của thẻ RFID/NFC
- Đổi UID của thẻ RFID/NFC (chỉ khi thẻ hỗ trợ tính năng này)
- Lưu dữ liệu lên thẻ RFID/NFC
- Lấy dữ liệu từ thẻ RFID/NFC
Hướng dẫn này tập trung vào:
- Cách kết nối mô-đun RC522 với ESP8266
- Cách lập trình ESP8266 để giao tiếp với mô-đun RC522 nhằm đọc UID của thẻ RFID
Phần cứng cần chuẩn bị
| 1 | × | ESP8266 NodeMCU ESP-12E | ||
| 1 | × | Recommended: ESP8266 NodeMCU ESP-12E (Uno-form) | ||
| 1 | × | USB Cable Type-A to Type-C (for USB-A PC) | ||
| 1 | × | USB Cable Type-C to Type-C (for USB-C PC) | ||
| 1 | × | RFID/NFC RC522 Kit (reader + tags) | ||
| 1 | × | RFID Key Fob | ||
| 1 | × | RFID Card | ||
| 1 | × | dây jumper | ||
| 1 | × | (Khuyến nghị) Screw Terminal Expansion Board for ESP8266 | ||
| 1 | × | (Khuyến nghị) Power Splitter for ESP8266 Type-C |
Or you can buy the following kits:
| 1 | × | DIYables Sensor Kit (30 sensors/displays) | ||
| 1 | × | DIYables Sensor Kit (18 sensors/displays) |
Về mô-đun RFID-RC522
Bố trí chân của mô-đun RFID-RC522
RFID-RC522 có tám chân, trong số đó một số chân là chung và các chân còn lại được dùng chung cho ba chế độ giao tiếp: SPI, I2C và UART. Chỉ có một chế độ giao tiếp có thể được sử dụng tại một thời điểm. Các chân là:
- GND: phải được kết nối tới GND (0V)
- VCC: phải được kết nối tới VCC (3.3)
- RST: là một chân dùng để reset và power-down. Khi chân này ở mức thấp, tắt nguồn cứng được kích hoạt. Ở cạnh lên, module được reset.
- IRQ: là một chân ngắt có thể thông báo cho vi điều khiển khi một thẻ RFID ở gần.
- MISO/SCL/TX: hoạt động như MISO khi giao diện SPI được bật, hoạt động như SCL khi giao diện I2C được bật và hoạt động như TX khi giao diện UART được bật.
- MOSI: hoạt động như MOSI khi giao diện SPI được bật.
- SCK: hoạt động như SCK khi giao diện SPI được bật.
- SS/SDA/RX: hoạt động như SS khi giao diện SPI được bật, hoạt động như SDA khi giao diện I2C được bật và hoạt động như RX khi giao diện UART được bật.

※ Lưu ý:
- Cách bố trí các chân có thể khác nhau tùy theo nhà sản xuất. LUÔN làm theo nhãn được in trên mô-đun. Hình minh họa ở trên là cấu hình các chân của mô-đun từ nhà sản xuất DIYables.
- Không nối chân VCC với chân 5V. Việc này có thể làm hỏng mô-đun của bạn.
- Thư viện MFRC522 chỉ hỗ trợ chế độ SPI, vì vậy hướng dẫn này sẽ chỉ sử dụng giao tiếp SPI.
Cách thức hoạt động của RFID/NFC
RFID/NFC được cấu thành từ hai phần: đầu đọc và thẻ:
- Đầu đọc được cấu thành từ một mô-đun tần số vô tuyến và một ăng-ten tạo ra trường điện từ ở tần số cao.
- Thẻ thường là một thiết bị thụ động, không cần nguồn điện. Nó có một vi mạch để lưu trữ và xử lý dữ liệu, cũng như một ăng-ten để nhận và truyền tín hiệu. Thẻ được sử dụng để lưu trữ thông tin như UID (Mã nhận dạng duy nhất) và các dữ liệu khác.

Thẻ phải ở gần người đọc để có thể truy cập thông tin mà nó chứa. Quá trình đọc như sau:
- Máy đọc tạo ra một trường điện từ, khiến các electron chảy qua ăng-ten của thẻ và cấp nguồn cho chip.
- Mạch bên trong thẻ sau đó đáp lại bằng cách gửi lại thông tin được yêu cầu cho máy đọc dưới dạng tín hiệu vô tuyến.
- Máy đọc phát hiện tín hiệu và chuyển đổi nó thành dữ liệu.
- ESP8266 đọc dữ liệu từ máy đọc.
Sơ đồ kết nối giữa mô-đun RFID-RC522 và ESP8266

This image is created using Fritzing. Click to enlarge image
Xem thêm Sơ đồ chân ESP8266 và Cách cấp nguồn cho ESP8266.
Nếu bạn sử dụng dây jumper nam-nữ, bạn có thể kết nối trực tiếp ESP8266 với mô-đun RFID-RC522. Tuy nhiên, nếu bạn sử dụng dây jumper nam-nam, bạn phải kết nối ESP8266 với mô-đun RFID-RC522 thông qua một breadboard.
Bảng kết nối của mô-đun RFID/NFC RC522 và ESP8266
| RFID/NFC RC522 | ESP8266 |
|---|---|
| SS | → D8 (SPI CS/SS) |
| SCK | → D5 (SPI CLK) |
| MOSI | → D7 (SPI MOSI) |
| MISO | → D6 (SPI MISO) |
| IRQ | not connected |
| GND | → GND |
| RST | → D2 |
| VCC | → 3.3V |
Mã ESP8266 RFID/NFC
Hướng dẫn từng bước
Để bắt đầu với ESP8266 trên Arduino IDE, hãy làm theo các bước sau:
- Xem bài hướng dẫn ESP8266 - Cài đặt phần mềm nếu đây là lần đầu bạn sử dụng ESP8266.
- Kết nối các thành phần như được trình bày trong sơ đồ.
- Kết nối bo mạch ESP8266 với máy tính của bạn bằng cáp USB.
- Mở Arduino IDE trên máy tính của bạn.
- Chọn bo mạch ESP8266 phù hợp, ví dụ NodeMCU 1.0 (ESP-12E Module), và cổng COM tương ứng của nó.
- Nhấp vào biểu tượng Libraries ở thanh bên trái của Arduino IDE.
- Tìm kiếm “MFRC522” và tìm thư viện do GithubCommunity cung cấp.
- Nhấn nút Install để cài đặt thư viện MFRC522.

- Sao chép mã và mở nó bằng Arduino IDE.
- Nhấp vào nút Upload trên Arduino IDE để biên dịch và tải mã lên ESP8266.
- Mở Serial Monitor.
- Chạm một số thẻ RFID/NFC lên module RFID-RC522.
- Kiểm tra UID trên Serial Monitor.
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.