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

Модель системы контроля и управления доступом на предприятии на базе Arduino

С изобретением и широким распространением микроконтроллеров появились небывалого разнообразия возможности для развития пользовательской электроники. Одна из сфер применения программируемых чипов – различные СКУД. Такие системы разрабатываются и продаются, но цены на готовые комплексы представляются чрезмерно большими. Например, стоимость минимального комплекта программного обеспечения (ПО)SP09 от ведущего российского производителя систем безопасности – PERCoсоставляет 265 евро [1].

Необходимость расходов, которые несут потребители для того, чтобы возместить производителям постоянные затраты материальных, человеческих ресурсов (на производство преграждающих устройств, замков, печатных плат и т.д.) не вызывает сомнений. Однако, в смете имеет место и программное обеспечение. Проприетарное, не обновляемое,оно, единожды окупив продажей некоторого количества своих лицензий затраты на разработку, далее не может справедливо также высоко цениться. Тем временем по всему миру разворачиваются проекты категории freeandopen-sourcesoftware(FOSS), а исходный код различных уважаемых, известных платных решений становится общедоступным.Последнее нередко происходит в связи с давлением перспективы быть вытесненными с рынка за нерентабельностью использования в сравнении с применением свободных аналогов. В связи с этим мы считаем, что создание программно-аппаратного решения с открытыми исходным кодом и архитектурой поможет решить выше описанную проблему.

В ходе разработки нами были изучены:

  1. Touch memory –технология, Touch memory key,
  2. OneWire – технология, протокол взаимодействия,
  3. Промышленные аналоги СКУД,
  4. Проектировочная платформа Arduino.

Основой нашего программно-аппаратного комплекса стал контроллер ATMega328p, используемый на плате Arduino. Основной причиной его использования послужил низкий порог вхождения в процесс разработки: готовые IDE (англ. IntegratedDevelopmentEnvironment), набор открытых библиотек и примеров к ним, дешевизна оборудования для программирования контроллера.

1-Wire(OneWire) – технология, изобретённая для упрощения и удешевления подключения небольших, не требующих высокой мощности питания и пропускной способности канала устройств. Данная технология позволяет подключать по одному физическому каналу несколько устройств, управляющихся одноимённым протоколом[2].Эта возможность обеспечивается используемым принципом передачи данных. Биты синхронизируются временными слотами (TimeSlots) и определяются их продолжительностью. Для работы проекта потребуется библиотека OneWire[3].

Устройством для хранения UIDTouchmemoryилиiButton[4] - оригинальное семейство микросхем, разработанных и выпускаемых фирмой DallasSemiconductor, USA. Каждая такая микросхема заключена в стальной герметичный цилиндрический корпус, служащий для защиты. Нами были использованы ключи, относящиеся к семействуDS1990Aс восьмибайтовым ПЗУ [5, 6]. В младшем байте содержится код семейства, для DS1990A он всегда будет равен 01h.В шести последующих байтах содержится серийный номер ключа (уникальный 48-битный код). Последний байт называется cyclicredundancycheck (CRC) - это контроль четности, обеспечивающий подлинность переданных данных (рис. 1).

602148198.png

Рис. 1. Структура ПЗУ ключа

Работа контроллера состоит из считывания идентификатора ключа, сигнализирования, отправки информации контролирующему СКУД устройству посредством интерфейса USB, получения от последнего команды (на открытие, игнорирование и ожидание нового ключа или просто на игнорирование) и реакции на команду. Со стороны ПО на персональном компьютере пользователям, в соответствии с уровнем их прав, предоставляются различные возможности взаимодействия со СКУД. При получении данных от контроллера производится сверка UID (англ. UserIdentifier – идентификатор пользователя) с хранимыми в базе данных и, в случае совпадения, на мониторе отображается информация. Был разработан простой протокол взаимодействия. Для определения, вход или выход совершается сотрудником, используется дополнительный байт. Чтобы ускорить процесс реализации, была создана визуализация протокола в виде блок-схемы (рис. 2).

473817670.png

Рис. 2. Блок-схемы визуализации протокола

Выбранная в качестве базы для разработки системы платформа Arduino снабжена специализированным ПО [7].

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

Ниже представлены схема сборки и внешний вид аппаратной части системы (рис. 3,4).

3331968271.png

Рис. 3. Принципиальная схема

1958285599.png

Рис. 4. Внешний вид результата сборки

Пользователи ПО могут обладать одним из 3х типов привилегий: администратор, директор, охранник. Для каждого из них предусмотрен индивидуальный интерфейс, позволяющий охраннику сверять фотографию на мониторе с лицом проходящего через контрольно-пропускной пункт (КПП), директору – просматривать журнал посещения предприятия сотрудниками, администратору – обеспечивать работоспособность системы.

933056208.png

Рис. 5. Интерфейс формы охранника

Для примера возьмем комплект ПО и оборудования PERCo-KT02.3 с активированным PERCo-SP13,его стоимость составит 1135 евро [8].Стоимость же компонентов для нашей СКУД составит:

Таблица 1

Итоговая стоимость компонентов

Обозначение

Кол-во

Тип

Свойства

Стоимость

LED1

1

RGB LED

4х контактный RGBсветодиод

0,93 € / 1 шт.

R3,R4,R5,R6

4

220Ωрезистор

допуск ± 5% сопротивление 220Ω

1,74 € / 200 шт.

SG1

1

Buzzer 12mm

Зуммер 12мм

0,79€ / 1 шт.

S2

1

Button

Контактная кнопка 12мм

0,29€/ 1 шт.

R7,R8

2

4,7kΩрезистор

допуск ± 5% сопротивление 4,7kΩ

1,79€/ 200 шт.

VCC 12V

1

VCC

Блок питания 12В 1А

2,14€/ 1шт.

 

1

МК

ArduinoNano(Rev. 3)

3,19€/ 1 шт.

 

1

Реле

songle srd-05vdc-sl-s

1,07 € / 1 шт.

 

1

Lock

Магнитный замок

16,72€/ 1 шт.

Итого: ~ 25,19 €

На данном этапе цель работы продолжает казаться достижимой: цена на комплектующие, уже использующиеся в нашем аппаратном комплексе, составляет менее 5% от цены, установленной за комплект оборудования, поставляемого известными производителями. Кроме заметной разницы в стоимостях аппаратных систем, следует ещё раз подчеркнуть отсутствие затрат, связанных с проприетарностью нашей СКУД, благодаря абсолютной открытости её исходного кода и архитектуры. Любой желающий имеет ничем не ограниченную возможность обратиться к серверам GitHubс целью полного или частичного копирования для себя наших наработок и пользоваться ими на условиях открытой лицензии GPLтретьей или более поздней версии[9],также вы можете ознакомиться с видео презентацией по ссылке в описание проекта.

Ожидается увеличение (не более, чем в два раза) издержек за счёт добавления таких периферийных компонентов, как удлинённые кабели (USBи провода к интерфейсам считывания и к магнитному замку) и корпус из оргстекла или подобного материала.

ПО требует доработки не в меньшей степени. Набор библиотек для графического интерфейса, который мы использовали для его создания —WindowsForms. Это так, потому что только с ним мы были достаточно знакомы на момент начала разработки. Теперь, когда нам начали преподавать теорию распределённых вычислительных систем (РВС), мы понимаем, что программа для ПК должна быть полностью переработана — переписана с использованием Web-технологий: необходимо вынести логическую часть из приложения клиента в приложение сервера, оставив первому только возможность получения интерфейса в Web-браузере.

Проблема выбора платформы для реализации этих планов пока остаётся для нас открытой: поверхностное ознакомление с возможностями и особенностями каждой из них ещё только начинается.

Видео

1563302284.JPG3793659885.JPG

Литература и примечания:

[1] Комплекты ПО S-20 https://www.perco.ru/products/sistemy-kontrolya-dostupa/sistema-kontrolya-dostupa-s-20/komplekty-programmnogo-obespecheniya/

[2] OneWirehttp://en.wikipedia.org/wiki/1-Wire

[3]Latest version of the libraryhttp://playground.arduino.cc/Learning/OneWire

[4] iButtonhttp://www.ibutton.ru/about/info/

[5] DS1990A datasheethttp://datasheets.maximintegrated.com/en/ds/DS1990A.pdf

[6] Копирование ключей iButtonDS1990Ahttp://electromost.com/news/kopirovanie_kljuchej_ibutton_ds1990a/2011-05-04-26

[7] Arduino code tutorials and exampleshttp://arduino.cc/en/Tutorial/HomePage

[8] Прайс-лист электронные проходные с ПО https://www.perco.ru/download/price/price_PERCo.pdf

[9] Страница проекта на GitHubhttps://github.com/veter069/OneWireArdiuno2015

Автор: Bruce

Расчет импульсного трансформатора
Наши приложения в

Подписаться на новости
Введите Ваш e-mail

Усилители мощности
Блоки питания
Arduino
Программаторы
Радиоконструкторы
Прочее...