Безопасный DIY RFID-замок на ESP8266
Кратко
Краткое руководство по сборке защищённой RFID-системы управления доступом на базе WeMos D1 Mini (ESP8266) и модуля PN532. Пошагово — компоненты, прошивка, подключение, настройка пользователей, тесты и рекомендации по безопасности.
Важно: этот проект предполагает работу с электроникой и дверными замками. Отключайте питание при монтаже и соблюдайте технику безопасности.
Введение
RFID-контроль доступа давно доступен на рынке, но многие массовые решения уязвимы: модуль считывателя часто установлен с внешней стороны двери и может быть легко обойден (например, проволокой или скрепкой). В этом руководстве мы соберём более защищённую DIY-систему доступа на базе ESP8266 (WeMos D1 Mini / NodeMCU) и PN532, которую можно интегрировать с вашим электронным замком. Система позволит открывать дверь зарегистрированной RFID-картой, меткой или смартфоном и даст базовый веб-интерфейс для управления пользователями.
Что вам понадобится
- WeMos D1 Mini (совместим также NodeMCU).
- Одноканальный релейный модуль (реле для коммутации цепи замка).
- Кабель Micro-USB для питания и прошивки.
- Провода DuPont (male–female или female–female) или кабель-перемычки.
- Женская перемычка (female berg strip) по желанию.
- Модуль PN532 RFID/NFC (альтернатива: MFRC522, RDM6300 или Wiegand-интерфейсные датчики). PN532 выбран за компактность и удобный диапазон считывания.
- Паяльник и припой.
- Бокорезы, термоусадка, мультиметр — рекомендовано для надёжного монтажа.
Краткие определения
- ESP8266: микроконтроллер с Wi‑Fi (WeMos D1 Mini и NodeMCU — распространённые платы на его основе).
- PN532: модуль RFID/NFC, поддерживает несколько протоколов (I2C/SPI/HSU). В этом руководстве используется SPI.
- Реле: электрически изолированное переключающее устройство для управления цепью питания замка.
Шаг 1 — Прошивка D1 Mini
Мы будем использовать проект ESP-RFID (репозиторий на GitHub). Прошивка доступна в виде двоичного файла generic.bin.
- Скачайте архив esp-rfid-1.0.2.zip и распакуйте его на рабочем столе. В архиве есть файл generic.bin; при желании можно опробовать нестабильную сборку v1.3.3, но в рабочей установке предпочтительнее стабильная версия.
- Скачайте и запустите ESPHomeFlasher (инструмент для прошивки ESP-плат).
- Подключите D1 Mini или NodeMCU к компьютеру через Micro-USB.
- В ESPHomeFlasher нажмите кнопку обновления списка портов и выберите COM-порт, соответствующий плате.
- Нажмите “Browse” и укажите файл generic.bin, который вы распаковали ранее.

- Нажмите “Flash ESP” и дождитесь окончания процесса. Прошивка займет несколько секунд.

- После прошивки устройство автоматически перезагрузится (при необходимости отключите и подключите питание снова).
Шаг 2 — Первичная настройка RFID (через точку доступа)
После прошивки плата создаёт точку доступа ESP-RFID-xxxxx. Нужно подключиться к ней для начальной конфигурации.
На смартфоне или ноутбуке в списке Wi‑Fi сетей найдите точку ESP-RFID-xxxxx и подключитесь (по умолчанию точка открытая).
Временно отключите мобильный интернет (чтобы браузер не перенаправлялся) и откройте веб-браузер.
В адресной строке введите 192.168.4.1 и нажмите Enter. По умолчанию логин/пароль: admin/admin.
Перейдите в Меню → Настройки оборудования. Выберите:
- Reader Type: PN532
- SPI SS: GPIO-2
- Остальные параметры оставьте по умолчанию и нажмите Сохранить.
Перейдите в Меню → Настройки → Общие настройки:
- Измените пароль администратора с admin на длинный и сложный пароль. Это критично для безопасности устройства.
- При желании измените Host Name и настройте автоматический перезапуск (Auto Restart) — каждые 24 ч / 7 дней / 30 дней.
Меню → Беспроводная сеть: задайте надёжный пароль для точки доступа или переключитесь в режим Client, чтобы подключить устройство к вашей домашней Wi‑Fi сети.

- После изменения настроек нажмите “Save” и затем “Save & Reboot” внизу страницы. Устройство перезапустится и применит новые настройки.

Важно:
- Не оставляйте устройство с паролем по умолчанию.
- Для эксплуатации в постоянной сети предпочтительнее режим Client с присвоением статического IP и ограничением доступа через маршрутизатор (VLAN/Firewall).
Шаг 3 — Подключение PN532 и реле к D1 Mini / NodeMCU
Отключите питание перед подключением проводов. Ниже таблица соединений между платой и периферией.
| NodeMcu/WeMos D1 Mini Pins | PN532 Pins | Relay Module |
| D8 (GPIO-15) | SS | |
| D7 (GPIO-13) | MOSI | |
| D6 (GPIO-12) | MISO | |
| D5 (GPIO-14) | SCK | |
| D4 (GPIO-2) | INPUT | |
| Vin/5V | VCC | VCC |
| G | GND | Ground |
Используйте DuPont-кабели или спаяйте провода для надёжного соединения. Если вы не умеете паять — потренируйтесь на ненужных деталях или используйте клеммные колодки.

Включите SPI-режим на модуле PN532: переведите DIP‑переключатели в позиции 0 и 1, как на картинке.

После подключения можно будет считывать RFID-метки и добавлять пользователей.
Шаг 4 — Добавление RFID-карт и пользователей
- Подключите устройство к питанию (Micro-USB).
- Подключитесь к точке доступа esp-rfid или к вашей локальной сети (если вы настроили Client mode).
- Откройте 192.168.4.1 в браузере и перейдите Меню → Users.
- Поднесите карту или метку к PN532. Появится форма “Add a new User” с считанным ID карты.
- Введите имя пользователя и выберите Access Type: Always, Disabled или Administrator. Рекомендуется сразу добавить карту администратора.

- Задайте поле “Valid until” (дата окончания доступа), если нужно временное разрешение.
- Нажмите “Save Changes”.
Советы по учёту карт:
- Присвойте понятные имена (например, “Иван Иванов — квартира 12”).
- Ведите отдельный журнал выдачи/аннулирования для аудита.
Шаг 5 — Интеграция с электрическим замком и тестирование
Когда карта считается, прошивка посылает сигнал на реле, которое замыкает/размыкает цепь питания замка.
- Изучите схему вашего замка: это электромагнитный замок (fail-safe/hold) или электромеханический замок с кнопкой? Правильный тип коммутации (нормально разомкнутый/нормально замкнутый) влияет на корректное подключение.
- Подключите провода триггера замка к контактам реле (обычно общий и нормально-разомкнутый).
- Убедитесь, что питание замка соответствует допустимому напряжению и току реле. Если ток нагрузки слишком велик, используйте внешнее реле подходящей мощности или SSR.

Тесты:
- Приложите карту администратора и убедитесь, что реле срабатывает и замок открывается.
- Проверьте логи в веб-интерфейсе (если доступны) на предмет ошибок.
- Проверяйте работу при отключении Wi‑Fi (локальная работа считывателя должна оставаться).
Безопасность — рекомендации и жёсткие меры
Важно: базовая прошивка может использовать HTTP и локальную веб-страницу, поэтому защищайте устройство сетевыми средствами.
Рекомендации по усилению безопасности:
- Всегда меняйте пароль администратора и пароль точки доступа на сложные.
- Переведите устройство в режим Client и подключите к выделенной защищённой сети (используйте отдельный SSID для IoT-устройств).
- Назначьте статический IP и разрешите доступ к устройству только с внутренних адресов через маршрутизатор/файрвол.
- Отключите прямой доступ в интернет для устройства: не нужен внешний доступ к веб-интерфейсу.
- Физическая защищённость: разместите плату и реле внутри защищённого корпуса у двери (не справа снаружи), чтобы злоумышленник не имел доступа к SPI/SS контакту и разъёму.
- Разделение PN532 и платы: при необходимости используйте экранированный 6-жильный кабель и подавайте питание от удалённого источника; держите считыватель снаружи, а сам контроллер и реле — внутри.
- Используйте опторазвязку или дополнительно механическое реле с отдельным питанием для изоляции цифровой части от силовой цепи замка.
- Периодически обновляйте прошивку и следите за репозиторием проекта ESP-RFID.
Ограничения и риски:
- Если веб-интерфейс не защищён HTTPS, перехват пароля в локальной сети возможен; используйте сетевые меры защиты.
- Эксплуатация в общежитии/многоквартирном доме требует согласования: убедитесь, что установка разрешена.
Когда этот подход НЕ подходит
- У вас есть проприетарный дверной контроллер, использующий специализированный протокол (Wiegand или шифрованные метки), без возможности интеграции — тогда потребуется совместимый считыватель или профессиональная система.
- Если замок требует высокого тока или напряжения, превышающего возможности используемого реле — нужен внешний промышленный контактор.
- Высокие требования аудита и журналирования входов (например, юридически значимые записи) лучше закрывать через коммерческие решения с централизованным логированием.
Альтернативные подходы
- Использовать MFRC522 (дешевле, но с меньшим радиусом и функциональностью).
- Готовые контроллеры доступа с поддержкой Wiegand и RCP для крупных проектов.
- Использовать Bluetooth/NFC-ключи на основе смартфона через Home Assistant или платформи MQTT.
Проверочные тесты и критерии приёмки
Критерии приёмки (минимум для сдачи работы):
- Добавление и удаление пользователя работает без ошибок.
- Администраторская карта всегда открывает дверь.
- При попытке использовать отключённую/отключённую карту доступ не даётся.
- Срабатывание реле соответствует времени, указанному в настройках (например, 1–3 секунды).
- При перезагрузке устройства все ранее добавленные пользователи сохраняются.
- Система корректно ведёт себя при сбое Wi‑Fi (локальное считывание не зависит от облака).
Тест-кейсы:
- TC01: Добавить новую карту — ожидаемый результат: отображение ID, сохранение имени, доступ.
- TC02: Временный доступ — ожидаемый результат: по истечении срока карта блокируется.
- TC03: Нагрузка замка — ожидаемый результат: реле коммутирует цепь без перегрева.
- TC04: Сетевая изоляция — ожидаемый результат: при отключении Wi‑Fi управление локальными картами сохраняется.
Чек-листы по ролям
Installer (монтажник):
- Проверить источник питания и силу тока замка.
- Установить плату и реле в защищённом корпусе.
- Обеспечить надёжное заземление и убрать оголённые контакты.
- Проверить корректность соединений по таблице.
Admin (владелец/администратор):
- Поменять пароль администратора и SSID/пароль точки доступа.
- Добавить карту администратора и тестовую карту пользователя.
- Настроить резервную процедуру на случай сбоя питания.
User (пользователь карты):
- Хранить карту метку аккуратно, не сгибать и не помещать рядом с источниками сильного магнитного поля.
Мини-методология внедрения (быстрый план)
- Планирование: выяснить тип замка и требования по питанию/защите.
- Прототип: собрать на столе и проверить все функции.
- Монтаж: установить устройство в корпус и подключить к замку.
- Тестирование: выполнить тест-кейсы и критерии приёмки.
- Ввод в эксплуатацию: обучить пользователей и добавить журнал выдачи карт.
- Поддержка: периодические проверки, обновления и аудит логов.
Набор рекомендаций по безопасности (hardening)
- Физически скрывайте плату и разъёмы: реле и контроллер внутри защитного бокса.
- Используйте отдельный источник питания для замка и контроллера с предохранителями.
- Если возможно, ограничьте веб-доступ по IP/MAC через маршрутизатор.
- Логируйте попытки доступа и периодически просматривайте записи.
Пример сценариев отказа и откат
- Сбой питания замка: предусмотрите механическое аварийное открытие (например, электронный ключ или разблокировка изнутри).
- Потеря админ-карты: иметь резервный способ доступа (физический ключ или отдельная мастер-карта в безопасном месте).
Глоссарий (1 строка)
- RFID: радиочастотная идентификация для бесконтактных карт и меток.
- PN532: популярный модуль для чтения NFC/RFID.
- SPI: последовательный интерфейс для подключения периферии (Serial Peripheral Interface).
- Реле: электромеханический переключатель для силовых цепей.
Локализация и эксплуатационные примечания
- В многоквартирных домах уточните требования по вмешательству в общедомовое электрооборудование.
- Применяйте маркированные провода и цветовое кодирование для упрощения последующего обслуживания.
Краткое резюме
Этот проект позволяет собрать более защищённую DIY систему RFID-доступа на базе ESP8266 и PN532 с веб-интерфейсом для управления пользователями. Следуя рекомендациям по безопасности, физической установке и сетевому ограничению доступа, вы получите гибкую систему управления замком, которую можно интегрировать в домашнюю сеть.
Последние советы
- Тестируйте устройство в лабораторных условиях прежде чем устанавливать на входную дверь.
- Держите запасной физический способ доступа (ключ или резервная карта) в безопасном месте.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента