Биометрический контроль рабочего времени по отпечатку пальца на ESP8266

Надоел мне бардак на работе с учетом рабочего времени и я решил создать своими силами систему, которая на выходе выдавала бы мне готовый табель. Стал изучать разработки других людей. В основном это были системы с использованием RFID меток , различных электронных ключей (RC522) и на микроконтроллере Arduino. Эти варианты я исключил сразу т.к. метки и ключи можно передать другому. И тут я вспомнил, что на aliexpress продают сканеры отпечатков пальцев(fingerprint). Изучив данный девайс получше, заказал следующий перечень деталей.

микроконтроллер с wifi ESP8266
сканер отпечатков пальцев FPM10A
UART конвертер
Экран Nextion 3.2 Хотя можно и другого размера
Пьезодинамик
Блок питания 5В 2А или такой

Логику процесса придумал следующую:
Соединяем FRM10a и UART конвертер и заливаем в память сканера 2 отпечатка пальцев каждого сотрудника с помощью программы SFGDemo. Соединяем ESP8266, FPM10A, Nextion 3.2, динамик и БП (см. схему). При подаче питания, ESP8266 подключается к точке доступа, проверяет соединение с сервером. При отсутствии ошибок сканер включается. Если поднести палец к нему, он произведет поиск в своей базе и при удаче передаст id пальца в микроконтроллер. ESP8266 в свою очередь передаст этот id на сервер (PHP+MySQL). Сервер сопоставит id c базой сотрудников. Запишет время события и отправит ответ микроконтроллеру. ESP8266 выведет ответ на экран.  Таблицу записей событий будет обрабатывать программа на PHP и выдавать мне готовый табель. Микроконтроллер также раз в 30 секунд получает дату и время с сервера и выводит их на экран, заодно и проверяет связь.

Вот что у меня получилось

Кто хочет собрать такую же, вот исходники . Нет только файлов обрабатывающие таблицы и выдающие табель. Сервер также не защищен от sql- инъекций т.к. он будет доступен только в локальной сети и ограниченному числу людей. Чтоб запустить сервер установите любую AMP сборку, например AppServ. Через PHPmyAdmin cоздайте БД  с именем fp и создайте нужные таблицы с помощью файлика mysql. Для загрузки интерфейса в экран качайте Nextion Editor.

Добавлено после месяца тестирования:

В течении июня я тестировал данный девайс у себя на работе. Возникла всего лишь одна проблема. У сотрудников которые работают руками на пальцах появляются царапины, раны и пр дефекты. В следствии этого пальцы не распознавались. Приходилось подбирать опытным путем. Большой проблемой было выбрать нужный палец у уборщицы т.к. она постоянно работает в воде и с чистящими средствами. В начале дня её палец нормально определялся, а в конце рабочей смены с 5-6 раза. На данный момент система работает очень хорошо. В любой момент я могу посмотреть кто пришел на работу, а кто нет. Табель рабочего времени я могу смотреть через любой браузер. Мне не нужен сотрудник ведущий табель. Теперь мой табель выглядит так:

Сотрудники стали более дисциплинированными. В общем моя разработка удалась на все 100.

 

Добавить комментарий

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.