Этот проект реализует систему управления доступом с распознаванием лиц на базе модуля Hi-Link HLK-FM225 и микроконтроллера ESP32. Управление системой и просмотр журнала осуществляется через веб-интерфейс.
- ESP32 — микроконтроллер с поддержкой Wi‑Fi
- HLK-FM225 — модуль распознавания лиц
- Веб-интерфейс — для управления пользователями и журналом событий
- SPIFFS — хранение журнала событий во встроенной файловой системе
- Кнопка и светодиоды — аппаратный интерфейс управления
- 🚪 Разблокировка через распознавание лица (ручная или с кнопки)
- 👤 Регистрация новых пользователей
- ❌ Удаление пользователей по UID
- 📜 Журнал событий (дата, UID, имя)
- 🌐 Удалённое управление через Wi‑Fi
- ⏰ Синхронизация времени через NTP
| Компонент | Пин ESP32 |
|---|---|
| RX (модуля HLK) | GPIO 16 |
| TX (модуля HLK) | GPIO 17 |
| Кнопка разблокировки | GPIO 4 |
| LED Busy (ожидание) | GPIO 5 |
| LED OK (успех) | GPIO 18 |
| LED Fail (ошибка) | GPIO 19 |
После подключения к Wi-Fi ESP32 запускает веб-сервер на порту 80. Перейдите по IP-адресу устройства в браузере, чтобы открыть интерфейс.
Интерфейс содержит:
- Форму регистрации пользователя
- Удаление по UID
- Кнопку «Старт» для распознавания
- Журнал разблокировок с временными метками
Измените в коде данные своей сети:
const char* ssid = "SSID";
const char* password = "PASS";Используется NTP-сервер для синхронизации времени. Временная зона задаётся через:
configTzTime("UTC-3", "pool.ntp.org", "time.nist.gov");Журнал последних 100 разблокировок хранится в файле unlocklog.json на SPIFFS.
.
├── FM-225.ino
├── README.md
└── data/
└── unlocklog.json (создаётся автоматически)
/enroll?username=Имя— зарегистрировать пользователя/deluser?id=UID— удалить пользователя по UID/delall— удалить всех пользователей/unlock— инициировать распознавание/log— получить журнал в JSON
- Соберите схему согласно подключению
- Загрузите прошивку на ESP32
- Подключитесь к Wi‑Fi
- Перейдите по IP ESP32 в браузере
- Управляйте пользователями и доступом
HLK-FM225 — компактный модуль распознавания лиц с поддержкой до 100 пользователей. Подключается по UART, поддерживает команды добавления, удаления, распознавания.
Разработка и интеграция — Floks