RFID технология: система контроля доступа на ESP8266 с RC522

RFID технология — надёжный способ создания системы контроля доступа (СКУД) на базе ESP8266 и модуля MFRC522. Считываем UID карт MIFARE 13.56 МГц, проверяем в базе, разрешаем/запрещаем проход. Проект включает локальный сервер, базу MySQL, веб-интерфейс, учёт времени прихода/ухода. Автономная работа или по Wi-Fi. Дешёво, просто, масштабируемо для офиса, дачи, турникетов или умного замка. Полная серия от подключения до графиков посещаемости.

RFID система контроля доступа ESP8266 RC522 СКУД

Возможности 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();
  }
}
Инициализирует RFID-модуль на пинах SS_PIN и RST_PIN.
Проверяет наличие новой карты (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 + локальный веб-сервер.

📁 Скачать примеры