Система контроля доступа на Wiren Board

в 22:40, , рубрики: Без рубрики

Система контроля доступа на Wiren Board Всем привет!

Мы уже писали о том, что делаем Wiren Board — компактный индустриальный компьютер с Wi-Fi, GPRS, GPS, NFC и Ethernet под управлением Linux. На его основе можно быстро делать готовые устройства, задействовав нужные модули.
Чтобы показать его возможности, мы решили сделать законченное устройство. Сегодняшняя статья — про систему контроля доступа на Wiren Board.

Идея устройства

В общежитиях нашей альма-матер — МФТИ — есть объекты инфраструктуры общественного пользования — прачечные и спортивные комнаты. На протяжении многих лет доступ к ним осуществлялся путем получения ключа у охранника с записью в журнале.

Конечно же, это весьма неудобно. Хорошим решением было бы сделать пропускную систему по карточкам.

Не так давно мы узнали, что студенты нашего института решили сделать пропускную систему в общежитии — чтобы вход в прачечную и спортивную комнаты стал возможным только по персональной карте.

Мы решили помочь родному институту.

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

Реализация

Как обычно строятся такие системы? Простые автономные СКУД включают в себя:

  1. Считыватель карт
  2. Контроллер замка (может быть объединен с считывателем)
  3. Электромагнитный замок
  4. Кнопка выхода (с обратной стороны)

Программируются обычно с помощью мастер-карты.

В сетевых решениях ставят дополнительно сервер СКУД, преобразователи интерфейсов и прокладывается линия RS-485, по которой сервер общается с контроллерами.

Естественно, можно было использовать готовые системы, которых много на рынке, но у них обнаружились различные фатальные недостатки. А мы вспомнили, что у нас есть Wiren Board, который может и карты считывать, и замком управлять, и с сервером связываться по Ethernet, то есть объединяет в себя все компоненты. Мы решили сделать “умный” контроллер доступа.

Нам не потребуется прокладка отдельной линии RS-485 до сервера, нужно только подключение к СКС по Ethernet, а это не проблема в общежитии. И сам сервер в виде отдельного компьютера (да ещё и с Windows) в серверной не нужен, достаточно поднять виртуальный сервер. Питание на устройство подаётся по Ethernet (PoE) — не нужно задумываться, где подключить блок питания и как протянуть от него провода до двери.

Конечно, на рынке есть неплохие решения в виде сетевых контроллеров СКУД, но они поставляются с закрытым ПО, и реализовать на них поддержку социальных карт будет затруднительно. Стандартная функциональность считывания сектора с карточки в нашем случае не подходит, так как контроллер должен извлечь данные из нужных секторов, расшифровать её, а по полученной информации построить запрос к базе для регистрации карточки.

Также СКУД необходимо интегрировать с существующими и будущими самописными системами: сайтом, системой записи в прачечную и т.д. Закрытое сложное ПО делает это весьма сложной задачей. Ещё оно может быть платным, с подпиской или лицензией — лишние проблемы.

Железо

Что мы будем задействовать в Wiren Board:
NFC — для чтения Социальных карт (карты типа Mifare Classic)
Ethernet — для связи с БД
транзисторные выходы для управления магнитным замком и светодиодами индикации
GPIO для подключения кнопки “Выход”
Power over Ethernet — чтобы уменьшить число подводимых кабелей и не заботиться о розетке

Схема подключения изображена на рисунке.
Система контроля доступа на Wiren Board
Зеленый и красный светодиоды выполняют функции индикации. Кнопка выхода по требованиям безопасности должна быть трёхконтактной и обеспечивать механическое размыкание цепи электромагнитного замка. При нажатии на кнопку пара контактов размыкается и средний контакт замыкается на третий, идёт сигнал на плату. Управляющий транзистор закрывается, разрывая цепь питания замка на 3-4 секунды.

Система контроля доступа на Wiren Board

Электромагнитный замок управляется подачей 12В через транзисторный выход. Для питания использовались Passive PoE-инжекторы от Ubiquiti.

Был подобран подходящий по размерам корпус, и устройства заняли свои законные места у дверей.

Система контроля доступа на Wiren Board

Софт

Программная часть и логика работы системы очень простые.

Используются социальные карты, которые есть у большинства студентов. Теоретически, можно пользоваться любой ISO 14443-совместимой меткой, например, банковской картой, брелоком Mifare, или даже смартфоном с NFC.

Вся информация хранится в БД MySQL на удалённом сервере. Там хранится список пользователей (список студентов факультета), список карточек каждого пользователя, логи и т.д. Для каждой карточки хранится заводской номер, её тип и дополнительная информация, зависящая от типа карточки: ФИО, номер и срок действия социальной карты; номер одноразовой карты метро и т.д.

При поднесении карты, контроллер считывает её заводской номер и отправляет запрос в БД. Если номер карточки нашёлся в соответствующей таблице, контроллер открывает дверь и добавляет запись в журнал. Если номер не нашёлся, то контроллер пытается идентифицировать карту
и считать ФИО и прочую информацию с социальной карточки и номер с карточки метро. Если пользователь с нужным именем и датой рождения есть в таблице пользователей, карточка автоматически регистрируется в системе.

Для упрощения системы контроллер общается напрямую с БД MySQL посредством вызова хранимых процедур. Конечно же прямого доступа к таблицам у контроллера нет.

Клиентская часть, запущенная на контроллере, написана на Python и занимает несколько десятков строк.

Заключение

Получившийся контроллер понравился даже нам, поэтому мы решили выпустить его в продажу как готовое устройство. В качестве опций доступны все возможности, которые предоставляет Wiren Board, например, GPRS для резервирования канала связи, или подключение к линии RS-485. К устройству также можно подключить внешние считыватели, дополнительные замки и кнопки.

Подробное описание самого компьютера Wiren Board можно найти на портале документации, а в магазине можно купить образец. Также ждём ваших замечаний и предложений на нашем форуме и в комментариях.

Автор: poglazoff

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js