RFID технология: система контроля доступа на ESP8266 с RC522
RFID технология — надёжный способ создания системы контроля доступа (СКУД) на базе ESP8266 и модуля MFRC522. Считываем UID карт MIFARE 13.56 МГц, проверяем в базе, разрешаем/запрещаем проход. Проект включает локальный сервер, базу MySQL, веб-интерфейс, учёт времени прихода/ухода. Автономная работа или по Wi-Fi. Дешёво, просто, масштабируемо для офиса, дачи, турникетов или умного замка. Полная серия от подключения до графиков посещаемости.
Возможности RFID СКУД на ESP8266
Чтение UID карт/брелоков. Проверка в массиве или MySQL. Вывод статуса на LCD/OLED. Учёт времени прихода/ухода (DS3231). Логи в базу, графики посещаемости. Управление реле, турникетом, buzzer. Точка доступа ESP или подключение к домашнему Wi-Fi. Автономный режим при потере сети.
Компоненты базовой системы
- ESP8266 NodeMCU
- MFRC522 RC522
- Карты MIFARE Classic 1K
- Реле или buzzer (опционально)
- LCD 1602 I2C или OLED (для вывода)
Подключение RC522 к ESP8266
- 3.3V → 3.3V
- GND → GND
- RST → D3 (GPIO0)
- SDA(SS) → D8 (GPIO15)
- MOSI → D7 (GPIO13)
- MISO → D6 (GPIO12)
- SCK → D5 (GPIO14)
Библиотека
MFRC522 (лучшая версия с GitHub). Пример DumpInfo для чтения UID.
Первый скетч: чтение UID
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN D3
#define SS_PIN D8
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(115200);
SPI.begin();
mfrc522.PCD_Init();
Serial.println("Поднесите карту...");
}
void loop() {
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial()) {
String uid = "";
for (byte i = 0; i < mfrc522.uid.size; i++) {
uid += String(mfrc522.uid.uidByte[i] < 0x10 ? "0" : "");
uid += String(mfrc522.uid.uidByte[i], HEX);
}
uid.toUpperCase();
Serial.println("UID: " + uid);
mfrc522.PICC_HaltA();
}
}
Проверяет наличие новой карты (PICC_IsNewCardPresent()).
Считывает UID карты и преобразует его в строку в HEX, добавляя ведущие нули при необходимости.
Преобразует UID в верхний регистр и выводит в Serial Monitor.
Завершает работу с картой (PICC_HaltA()) для следующего считывания.
Расширение системы
Добавьте проверку массива UID, реле на дверь, LCD для статуса, DS3231 для времени, MySQL для логов, веб-интерфейс. Точка доступа ESP для автономии.
Заключение
RFID на ESP8266 — полноценная СКУД от простого чтения карт до базы данных и графиков. Дешёво, надёжно, масштабируемо для дома или офиса.
FAQ — RFID система контроля доступа
Какие карты работают с RC522?
MIFARE Classic 1K/4K (13.56 МГц). NTAG, Ultralight частично. Не низкочастотные 125 кГц.
Дальность чтения?
До 5–10 см стандартно. Увеличьте антенну или мощность для 15–20 см.
Копирование карт?
MIFARE Classic копируется DumpInfo + Write. Защищённые — нет без ключа.
Несколько модулей RC522?
Да, MultiReader — разные SS пины, общая SPI.
Интеграция с реле?
Подключите реле к GPIO, digitalWrite(HIGH) при совпадении UID.
Логи в MySQL?
ESP отправляет GET в PHP-скрипт при событии.
Автономный режим?
Точка доступа ESP + локальный веб-сервер.