Система контроля и управления доступом в некатегорированные помещения
Разработка системы контроля и управления доступом в некатегорированные помещения, реализуемой в виде аппаратно-программного комплекса с клиент-серверной архитектурой. Разработка и описание алгоритмов функционирования системы, ее программной части.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 22.02.2019 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
Пензенский государственный университет
ПОЛИТЕХНИЧЕСКИЙ ИНСТИТУТ
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА БАКАЛАВРА
на тему
Система контроля и управления доступом в некатегорированные помещения
Студент Любезнов Алексей Павлович
Руководитель Дубравин А.В.
Пенза, 2017
ЗАДАНИЕ НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ БАКАЛАВРА
1. Студент Любезнов Алексей Павлович, гр. 13ВВ1, факультета вычислительной техники, направления 09.03.01.
2. Тема работы: «Система контроля и управления доступом в некатегорированные помещения».
Тема утверждена приказом ПГУ № 599/о от "22" мая 2017 г.
3. Руководитель работы Дубравин А. В.
4. Задание на работу (назначение разработки, исходные данные и т.п.)
Разработать систему контроля и управления доступом в некатегорированные помещения. Система реализуется в виде аппаратно_программного комплекса с клиент-серверной архитектурой. Данная система должна осуществлять аутентификацию личности при помощи средств радиочастотной идентификации (RFID), контроль доступа в помещение, управление электромеханическими замками и ведение журнала доступа.
5. Перечень подлежащих разработке вопросов
Исследование основных принципов функционирования системы контроля и управления доступом. Произведение анализа требований к системе. Выбор технологий, применяемых при проектировании и разработке. Архитектура системы. Разработка и описание алгоритмов функционирования системы.
Календарный график выполнения работы
№ п/п |
Наименование этапов работы |
Объем работы |
Срок выполнения |
Подпись руководителя |
|
1 |
Изучение предметной области |
10% |
13.03.2017 - 20.03.2017 |
||
2 |
Анализ требований |
10% |
21.03.2017 - 28.03.2017 |
||
3 |
Выбор технологий, применяемых при проектировании и разработке |
10% |
29.03.2017 - 04.04.2017 |
||
4 |
Разработка архитектуры системы |
10% |
05.04.2017 - 12.04.2017 |
||
5 |
Разработка алгоритмов |
10% |
13.04.2017 - 20.04.2017 |
||
6 |
Проектирование аппаратной части |
15% |
21.04.2017 - 04.05.2017 |
||
7 |
Разработка прошивки и АИС |
25% |
05.05.2017 - 31.05.2017 |
||
8 |
Оформление пояснительной записки |
10% |
01.05.2017 - 09.06.2017 |
РЕФЕРАТ
СКУД, АППАРАТНО_ПРОГРАММНЫЙ КОМПЛЕКС, АИС, RFID, ЭЛЕКТРОМЕХАНИЧЕСКИЙ ЗАМОК
Цель работы - исследовать основные принципы функционирования системы контроля и управления доступом, произвести анализ требований к системе, рассмотреть архитектуру системы, разработать и описать алгоритмы функционирования системы.
В результате проведенной работы была разработан аппаратно-программный комплекс с клиент-серверной архитектурой, осуществляющий аутентификацию личности при помощи средств радиочастотной идентификации (RFID), контроль доступа в помещение, управление электромеханическими замками и ведение журнала доступа.
Данный комплекс рекомендуется устанавливать в организациях для ограничения или контроля доступа в помещения. Система может быть внедрена на предприятия, где требуется ограничить круг лиц, имеющих право доступа в помещения, либо вести «табель посещаемости».
СОДЕРЖАНИЕ
- ПЕРЕЧЕНЬ ПРИНЯТЫХ СОКРАЩЕНИЙ
- ВВЕДЕНИЕ
- 1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
- 1.1 Назначение, классификация и состав СКУД
- 1.2 Идентификатор пользователя
- 1.3 Контроллеры
- 1.4 Устройства идентификации личности (считыватели)
- 2. АНАЛИЗ ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ
- 2.1 Требования к управляющему контроллеру СКУД
- 2.2 Требования к устройству идентификации личности
- 2.3 Требования к исполнительному устройству
- 3. АНАЛИЗ НЕФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ
- 3.1 Требования к производительности
- 3.2 Требования к безопасности и надежности
- 4. АРХИТЕКТУРА СИСТЕМЫ
- 5. ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ
- 5.1 Аппаратная часть
- 5.2 Программная часть
- 5.2.1 Выбор языка программирования и фреймворка
- 5.2.2 Выбор СУБД
- 6. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА
- 6.1 Аппаратное обеспечение
- 6.1.1 Разработка структурной схемы
- 6.1.2 Разработка принципиальной схемы
- 6.2 Программное обеспечение
- 6.2.1 Клиентская часть (прошивка)
- 6.2.2 Серверная часть (контроллер СКУД)
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
- ПРИЛОЖЕНИЕ
ПЕРЕЧЕНЬ ПРИНЯТЫХ СОКРАЩЕНИЙ
АИС -- автоматизированная информационная система
ОС -- операционная система
ПО -- программное обеспечение
СУБД -- система управления базой данных
MITM -- man-in-the-middle («человек посередине»)
RFID -- Radio Frequency Identification (радиочастотная идентификация)
TM -- Touch Memory
ORM --Object-Relational Mapping (объектно-реляционное отображение)
ВВЕДЕНИЕ
Неоспоримым фактом является то, что безопасность занимает высокую позицию в нашей жизни. Это является причиной того, что развитие технологий, обеспечивающих безопасность, является неотъемлемой частью научно_технического прогресса.
Технологии, которые позволяют нам чувствовать себя в комфорте и безопасности, совершенствовались с каждым витком развития человечества: в древности защиту обеспечивали замки с деревянным ригелем и простейшим секретом. Позже, с освоением способов обработки металла, замки стали металлическими, появились английские замки, которые используются и по сей день.
В наше время, в эру высоких технологий, электроники и интернет_коммуникаций, технологии защиты сильно расширили свои возможности. Появились электрические замки, системы автоматического управления и средства аутентификации.
Система контроля и управления доступом (СКУД) является достаточно эффективным средством контроля безопасности. Нет альтернативы таким системам в офисах, территория которых всегда открыта для свободного доступа или расположенных на арендуемых площадях.
Расширить возможности систем контроля и управления доступом позволили сетевые технологии. Благодаря им повысилась степень защищенности, стала возможным дистанционная настройка системы, появились более широкие возможности персонализации.
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
Важным рубежом любого объекта является система контроля и управления доступом. С использованием современных технических средств, хорошо организованная система контроля и управления доступом позволяет решать целый спектр задач:
· Учет рабочего времени -- существуют алгоритмы, позволяющие делать отметки времени, связанные с моментом идентификации. Это дает доступ к новым опциям;
· Контроль своевременности прихода и ухода сотрудников -- над отметками времени можно производить арифметические действия. Эта возможность позволяет выполнять операции по расчету времени, которое сотрудник провел на работе, отсюда можно извлекать информацию о ставке, на которую претендует сотрудник;
· Защита конфиденциальности информации -- идентификация производится без указания персональных данных, злоумышленник не сможет получить несанкционированный доступ к информации;
· Контроль въезда и выезда транспорта -- возможности системы позволяют осуществлять управления доступом не только для аудиторий и помещений, но и для закрытых режимных территорий;
· Противодействие воровству -- система контроля и управления доступом как правило в своем составе имеет электронный замок, который обеспечивает надежную бесперебойную работу;
· Противодействие нанесению материального ущерба -- электронные замки последних поколений оснащены антивандальным корпусом, что дает гарантию защиты от материального ущерба.
1.1 Назначение, классификация и состав СКУД
СКУД -- объединенные в комплексы электронные, механические, электротехнические, аппаратно-программные и иные средства, обеспечивающие возможность доступа определенных лиц в определенные зоны (территория, здание, помещение) и ограничивающие доступ лицам, не имеющим такого права. Такие системы могут осуществлять контроль перемещения людей и транспорта по территории охраняемого объекта, обеспечивать безопасность персонала, а также сохранность материальных и информационных ресурсов предприятия. Системы контроля и управления доступом используются на промышленных предприятиях, в офисах, магазинах, на автостоянках и автосервисах, в жилых помещениях.
Контроль не только существенно повышает уровень безопасности, но и позволяет оперативно реагировать на поведение персонала и посетителей. Также важной задачей для многих предприятий является необходимость контролировать график и вести учет рабочего времени. Особое внимание уделяется системам, позволяющим выстраивать необходимые конфигурации из стандартных блоков, учитывая все особенности предприятия.
Существующий ГОСТ Р 51241-98 «Средства и системы контроля и управления доступом», который устанавливает классификацию, общие технические требования и методы испытаний, подразделяет СКУД по:
· Способу управления;
· Числу контролируемых точек доступа;
· Функциональным характеристикам;
· Виду объектов контроля;
· Уровню защищенности системы от несанкционированного доступа.
В соответствии с документом Р 78.36.005--99, утверждённым МВД России, все СКУД делятся на четыре класса.
СКУД 1-го класса -- малофункциональные системы малой емкости, работающие в автономном режиме и осуществляющие допуск всех лиц, имеющих соответствующий идентификатор. В такой системе используется ручное или автоматическое управление исполнительными устройствами, а также световая и/или звуковая сигнализация.
СКУД 2-го класса -- монофункциональные системы. Они могут быть одноуровневыми и многоуровневыми и обеспечивают работу как в автономном, так и в сетевом режимах. Допуск лиц (групп лиц) может осуществляться по дате, временным интервалам. Система способна обеспечить автоматическую регистрацию событий и автоматическое управление исполнительными устройства.
СКУД 3-го и 4-го классов, как правило, являются сетевыми. В них используются более сложные идентификаторы и различные уровни сетевого взаимодействия (клиент-сервер, интерфейсы считывателей карт Виганда или магнитных карт, специализированные интерфейсы и др.).
На сегодняшний день существует очень много разновидностей систем контроля и управления доступом разных производителей, а также ее компонентов. Несмотря на уникальность каждой конкретной СКУД, она содержит 4 основных элемента:
· Идентификатор пользователя (карта-пропуск, ключ);
· Устройство идентификации;
· Управляющий контроллер;
· Исполнительные устройства.
Общая схема СКУД показана на рисунке 1.
Рисунок 1 — Общая схема СКУД
1.2 Идентификатор пользователя
Идентификатор пользователя -- это устройство или признак, по которому определяется пользователь. Для идентификации применяются атрибутные и биометрические идентификаторы. В качестве атрибутных идентификаторов используют автономные носители признаков допуска: магнитные карточки, брелки TM, карты радиочастотной идентификации. Каждый идентификатор характеризуется определенным уникальным двоичным кодом. В СКУД каждому коду ставится в соответствие информация о правах и привилегиях владельца идентификатора. В настоящее время применяются:
· Бесконтактные карты радиочастотной идентификации;
· Магнитные карты;
· Штрих-кодовые карты;
· Ключ-брелок «TM».
1.3 Контроллеры
Контроллеры -- устройства, предназначенные для обработки информации от считывателей идентификаторов, принятия решения и управления исполнительными устройствами. Именно контроллеры разрешают проход через пропускные пункты. Контроллеры различаются емкостью базы данных и буфера событий, обслуживаемых устройств идентификации.
Независимо от типа применяемых считывателей контроллеры должны поддерживать следующие режимы доступа:
· По одной карте и/или ПИН-коду;
· Доступ с подтверждением оператором.
Основу современных систем контроля и управления доступом составляют автоматические и автоматизированные системы. Современные автоматические и автоматизированные СКУД, в зависимости от способа управления, подразделяются на три основных типа:
· Автономные;
· Сетевые (централизованные);
· Комбинированные (распределенные).
Автономные контроллеры -- полностью законченные устройства, предназначенные для обслуживания, как правило, одной точки прохода. Возможность объединения с другими аналогичными контроллерами не предусмотрена. Существует много видов таких устройств: контроллеры, совмещенные со считывателем, контроллеры, встроенные в электромагнитный замок и т. д.
Как правило, автономные контроллеры рассчитаны на обслуживание небольшого числа пользователей, обычно не более 500 человек. Они работают с одним исполнительным устройством без передачи информации на центральный пункт охраны и без контроля со стороны оператора. Примером подобной системы контроля доступа может служить достаточно простая комбинация: «электромагнитный (электромеханический) замок + считыватель карт идентификации». Если необходимо контролировать только одну дверь и в будущем расширение системы контроля доступа не планируется, это оптимальное и достаточно недорогое решение.
Сетевые контроллеры могут работать в сети под управлением компьютера. В этом случае решение принимает ЭВМ с установленным специализированным ПО. Сетевые контроллеры применяются для создания СКУД любой степени сложности. Число сетевых контроллеров в системе может быть от двух до нескольких сотен. В этом случае размеры СКУД определяются по числу устройств идентификации, а не по числу контролируемых дверей, поскольку на каждую дверь может быть установлено одно-два устройства идентификации в зависимости от применяемой технологии прохода.
Используя сетевые контроллеры, администрация получает ряд дополнительных возможностей:
· Получение отчета о присутствии или отсутствии сотрудников на работе;
· Уточнение местонахождения конкретного сотрудника;
· Ведение табеля учета рабочего времени;
· Составление отчета о перемещении сотрудников практически за любой период времени;
· Формирование временных графиков прохода сотрудников;
· Ведение базы данных сотрудников.
Сетевые СКУД используются на крупных предприятиях и в тех случаях, если нужны ее специфические возможности, такие, как учет рабочего времени сотрудников.
1.4 Устройства идентификации личности (считыватели)
Для идентификации личности современные электронные системы контроля доступа используют устройства нескольких типов в зависимости от применяемого вида идентификатора пользователя.
Устройства идентификации (считыватели) расшифровывают информацию, записанную на карточках или ключах других типов, и передают ее в контроллер чаще в виде цифровой последовательности. Считыватели карточек доступа могут быть контактные и бесконтактные. Возможны следующие способы ввода признаков:
· Ручной -- осуществляемый путем нажатия клавиш, поворота переключателей и т. д.;
· Контактный -- в результате непосредственного контакта между считывателем и идентификатором;
· Дистанционный (бесконтактный) -- при поднесении идентификатора к считывателю на определенное расстояние.
2. АНАЛИЗ ФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ
После оценки задачи и анализа предметной области были выделены основные компоненты разрабатываемой СКУД:
· Управляющий контроллер СКУД (сетевой);
· Устройство идентификации личности;
· Исполнительное (заграждающее) устройство.
2.1 Требования к управляющему контроллеру СКУД
Контроллер СКУД должен обеспечивать прием и обработку информации от устройства идентификации личности, принятие решения о разрешении доступа и возврат ответа обратно на устройство идентификации личности.
Протоколы обмена информацией и интерфейсы сетевого и канального уровней должны использоваться стандартных типов и обеспечивать необходимую помехоустойчивость, скорость обмена информацией, а также, при необходимости, защиту информации.
Программное обеспечение управляющего контроллера СКУД должно обеспечивать:
· Инициализацию идентификаторов (занесение кодов идентификаторов в базу данных);
· Аутентификацию личности по идентификатору и принятие решения о разрешении доступа;
· Ведение журнала доступа;
· Ведение и поддержание баз данных;
· Возможность управления исполнительными устройствами в случае чрезвычайных ситуаций;
2.2 Требования к устройству идентификации личности
Устройство идентификации личности должно обеспечивать получение кода с идентификатора пользователя, его декодирование и передачу полученной информации на управляющий контроллер. Для упрощения системы данный контроллер также осуществляет управление исполнительным устройством.
2.3 Требования к исполнительному устройству
Исполнительные (заграждающие) устройства должны обеспечивать в закрытом состоянии физическое препятствие проходу в помещение, здание, зону или на территорию и открывание запирающего механизма при подаче управляющего сигнала от управляющего контроллера.
Исполнительные (заграждающие) устройства должны иметь возможность механического аварийного открывания в случае пропадания электропитания, возникновения пожара или других ситуаций. Аварийная система открывания должна быть защищена от возможности использования ее для несанкционированного проникновения.
Умышленное повреждение наружных электрических цепей не должно приводить к срабатыванию исполнительного устройства.
Для нормально закрытых механизмов должна быть предусмотрена защита наружных электрических цепей от подачи по ним напряжения, приводящего к срабатыванию исполнительного устройства.
3. АНАЛИЗ НЕФУНКЦИОНАЛЬНЫХ ТРЕБОВАНИЙ
3.1 Требования к производительности
Клиентское ПО должно обеспечивать стабильную работу при наличии установленного стабильного соединения с сервером. Время ответа от сервера не должно превышать 1 секунды. Данное требование определяет технологии, находящиеся на серверной стороне, таких как ОС, язык программирования, веб_сервер, СУБД.
3.2 Требования к безопасности и надежности
Сетевое взаимодействие между клиентом и сервером должно быть защищено от прослушивания, атак MITM («человек посередине») и подмены пакетов. Для этого необходимо использовать шифрование трафика.
Также должна обеспечиваться надежность работы системы. Для этого на клиентской стороне необходимо использовать Watchdog механизмы для предотвращения зависания контроллера, а на серверной стороне использовать системы мониторинга.
4. АРХИТЕКТУРА СИСТЕМЫ
Одной из главных составляющих успешного создания и внедрения аппаратно-программного комплекса является правильно выбранная архитектура. От этого выбора зависит успех разработки в целом, эффективность функционирования, возможность масштабирования в будущем.
При выборе архитектуры необходимо учитывать множество факторов, таких как назначение системы, требуемая производительность, условия эксплуатации системы, требования надежности и безопасности, масштабируемости, особенности объекта, на котором будет расположен разрабатываемый комплекс. Другим, не менее важным моментом, является способность архитектуры и выбранных аппаратно-программных средств обеспечить коллективную разработку, повторное использование кода.
Для данной системы контроля и управления доступом было принято решение использовать беспроводную локальную вычислительную сеть и трехзвенную клиент-серверную архитектуру. Такой выбор объясняется сложностью разрабатываемой системы как в качественном, так и в количественном отношении, необходимостью масштабирования и соединения всех объектов в единую сеть. Архитектура представлена на рисунке 2.
Рисунок 2 — Архитектура системы
После проведения анализа функциональных требований к разрабатываемой системе контроля и управления доступом, в архитектуру системы были заложены следующие аппаратно-программные средства:
· Модуль ESP8266 компании Espressif, используемый в качестве устройства идентификации личности;
· Плата RDM630, используемая в качестве считывателя;
· Raspberry Pi 3B, используемый в качестве аппаратной составляющей контроллера СКУД;
· Программная платформа NodeJS и фреймворк Express, используемые в качестве программной составляющие контроллера СКУД.
Модуль ESP8266 -- это комплексное и автономное решение для сетей Wi-Fi. Причем это не просто Wi-Fi модуль, а полноценный 32-х битный микроконтроллер, имеющий интерфейсы SPI, UART, I2C, набором портов ввода/вывода GPIO. Данный модуль идеально подходит для реализации устройства идентификации личности, так как он имеет богатую периферию, позволяющую подключить к нему считыватель карт доступа и исполнительное устройство; компания-разработчик предусмотрела возможность разработки собственного ПО, а стоимость данного модуля составляет ~70 рублей (в зависимости от курса доллара).
RDM630 -- популярный считыватель карт стандарта EM4100 (125 кГц), работающий по UART интерфейсу. Данный модуль позволяет использует простой, но надежный протокол передачи данных, что позволяет быстро интегрировать его с разрабатываемой системой. Модуль имеет небольшой размер, встроенный контроллер световой и звуковой индикации, а также имеет довольно низкую цену (~120 рублей).
Raspberry Pi 3B -- одноплатный компьютер размером с кредитную карту. При небольшой стоимости (~2000 рублей) данный компьютер имеет 4-х ядерный 64-х битный процессор, 1 гигабайт оперативной памяти, сетевые интерфейсы Ethernet, Wi-Fi и Bluetooth. Компьютер работает под управлением операционной системы Linux. Высокая вычислительная мощность, наличие сетевых интерфейсов, операционная система и низкая цена делают данный одноплатный компьютер идеальным вариантом для использования его в качестве управляющего контроллера СКУД. Внешний вид компьютера представлен на рисунке 3.
Рисунок 3 — Raspberry Pi 3B
Данная модель компьютера интересна количеством интерфейсов для взаимодействия. Эту особенность можно использовать для расширения возможностей системы в дальнейшем. Устройство оснащено следующими интерфейсами:
· Композитный видеовыход HDMI. Разрешение варьируется от 640х350 (EGA) до 1920х1200 (WUXGA);
· Аудиовыход 3.5мм jack;
· USB-порта, объединённых внутренним хабом. К ним, помимо прочего, можно подключить клавиатуру и мышь;
· CSI-2 -- для подключения камеры по интерфейсу MIPI;
· DSI -- для подключения штатного дисплея.
В качестве низкоуровневых интерфейсов доступны:
· 40 портов ввода-вывода общего назначения;
· UART (Serial);
· IІC/TWI;
· SPI с селектором между двумя устройствами;
· Пины питания: 3,3 В, 5 В и земля.
Для коммуникации на Raspberry Pi 3 Model B доступны интерфейсы:
· Ethernet на 10/100 Мбит с выходом на стандартное гнездо 8P8C (RJ45);
· Wi-Fi 802.11n и Bluetooth 4.1, обеспечиваемые микросхемой Broadcom BCM43438.
Расположение всех интерфейсов представлено на рисунке 4.
Рисунок 4 — Схема расположения интерфейсов
5. ТЕХНОЛОГИИ ПРОЕКТИРОВАНИЯ И РАЗРАБОТКИ
После проведения анализа всех требований и разработки архитектуры системы были выбраны технологии проектирования и разработки для следующих частей комплекса.
5.1 Аппаратная часть
Для проектирования и создания принципиальных схем было принято решение использовать EAGLE. EAGLE -- программый комплекс, разработанный компанией Autodesk, для черчения электрических схем и трассировки печатных плат электронных приборов. EAGLE пользуется популярностью из-за своей бесплатной лицензии и наличия в интернете большого количества библиотек компонентов.
Eagle предоставляет пользователям следующие возможности:
· Гибкий и удобный редактор библиотеки компонентов;
· Графический редактор схем;
· Редактор печатных плат;
· Редакторы устройств для создания новых компонентов;
· Автоматическую трассировку печатных плат;
· CAM-процессор, преобразующий файл печатной платы в серию файлов для её изготовления.
Также существует возможность воспользоваться сторонним трассировщиком, экспортируя плату в любой популярный формат. Все переходы между модулями происходят внутри самой программы. EAGLE имеет обширную библиотеку стандартных электронных компонентов с их кратким описанием, удобный редактор элементной базы и логические модули, проверяющие подключение и расположение компонентов на плате. Из преимуществ EAGLE над аналогичными программами специалисты отмечают возможность отката событий на любое количество шагов назад, отсутствие проблем при работе на старых компьютерах, мощный скриптовый язык, наличие драйверов для вывода результата на плоттер или принтер. Возможность экспорта результата работы в рендерер POV-Ray позволяет формировать трехмерные модели плат.
5.2 Программная часть
5.2.1 Выбор языка программирования и фреймворка
Так как клиентская часть реализуется на микроконтроллере ESP8266, то качестве языка программирования был выбран C++. Для данного микроконтроллера существует масса различных SDK, которые состоят из следующих компонентов:
· Компилятора. Компилятор для Xtensa LX106 входит в пакет компиляторов GNU Compiler Collection;
· Библиотек для работы с периферией контроллера, стеков протоколов WiFi, TCP/IP и др.
· Средств загрузки исполняемого файла в память программ микроконтроллера.
Для данной работы был выбрано «Arduino IDE for ESP8266». Это дополнение к IDE Arduino, позволяющее программировать ESP8266 так же легко, как любые другие модули Arduino. При этом доступен сетевой функционал ESP8266. В данном пакете используется компилятор GCC и загрузчик прошивки ESPTool.
В качестве программной платформы для серверной части был выбран NodeJS. Данная программная платформа, основанная на движке V8 (транслирующем Javascript в машинный код), разработанный компанией Google, превращает Javascript из узкоспециализированного языка в язык общего назначения. NodeJS добавляет возможность Javascript взаимодействовать с устройствами ввода-вывода через свой API (написанный на C++), подключать другие внешние библиотеки, написанные на разных языках, обеспечивая вызовы к ним из Javascript-кода. В основе NodeJS лежит событийно_ориентированное и асинхронное (или реактивное) программирование с неблокирующим вводом/выводом.
В качестве фреймворка для реализации веб-приложения (сервера) был выбран Express. Express является каркасом для веб-приложений на NodeJS, реализованный как свободное и открытое программное обеспечение. Он спроектирован для создания веб-приложений и API. Де-факто является стандартным каркасом для NodeJS приложений.
5.2.2 Выбор СУБД
Для хранения информации о сотрудниках, картах и журналах доступа было принято решение использовать реляционную базу данных. В качестве СУБД была выбрана MySQL, которая использует язык запросов SQL. MySQL -- это самая распространенная полноценная серверная СУБД. MySQL очень функциональная, свободно распространяемая СУБД, которая успешно работает с различными сайтами и веб приложениями.
Преимущества MySQL:
· Простота в работе -- СУБД MySQL очень проста в установке. Дополнительные приложения, например, GUI, позволяет очень продуктивно работать с хранилищем;
· Богатый функционал -- СУБД MySQL поддерживает большинство функционала SQL;
· Безопасность -- СУБД MYSQL содержит большое количество функций, обеспечивающих безопасность, которые поддерживается по умолчанию;
· Масштабируемость -- СУБД MySQL легко работает с большими объемами данных и легко масштабируется;
· Скорость -- упрощение некоторых стандартов позволяет СУБД MySQL значительно увеличить производительность.
Недостатки MySQL:
· Известные ограничения -- по задумке в СУБД MySQL заложены некоторые ограничения функционала, которые иногда необходимы в особо требовательных приложениях;
· Проблемы с надежностью -- из-за некоторых способов обработки данных СУБД MySQL (связи, транзакции, аудиты) иногда уступает другим СУБД по надежности;
· Медленная разработка -- СУБД MySQL технически является открытым ПО, но существуют жалобы на процесс ее разработки. Стоит заметить, что существуют другие довольно успешные СУБД, созданные на базе MySQL, например, MariaDB.
6. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА
6.1 Аппаратное обеспечение
6.1.1 Разработка структурной схемы
После проведения анализа требований и разработки архитектуры была составлена структурная схема, графическое представление которой присутствует на рисунке 5.
Рисунок 5 — Структурная схема
Аппаратная часть разрабатываемой СКУД представляет собой совокупность следующих компонентов:
· Центральный процессор;
· Считыватель;
· Исполнительное устройство;
· Блок питания;
· Программатор.
Данные компоненты формируют устройство идентификации личности.
Центральный процессор (микроконтроллер ESP8266) для взаимодействия с внешним миром использует UART интерфейс. Так как одновременная работа считывателя и программатора невозможна (микроконтроллер ESP8266 имеет только один UART интерфейс), то оба устройства поочередно работают с центральным процессором посредством мультиплексирования шины UART (в приоритете находится программатор).
Программатор используется для первичной установки прошивки и конфигурирования контроллера.
В качестве исполнительного устройства выступает электромеханический замок Smartec ST-RL073SI. Электромеханический замок ST-RL073 торговой марки Smartec является устройством соленоидного типа и предназначен для установки двери: гаражные ворота, калитки, двери складских помещений и может работать при температуре от -40 до +50 °C. Данная модель комплектуется двумя цилиндрами для механического ключа и изготавливаются из никелированной стали. Данные электромеханические замки относятся к типу «нормально закрытые» и устанавливаются накладным способом.
Блок питания работает от сети переменного тока в диапазоне напряжений от 85 до 265 вольт (при полной нагрузке). Имеет два выхода: 5 вольт (1 ампер) и 12 вольт (1 ампер). Выход «5 вольт» используется для питания центрального процессора (через понижающий до 3.3 вольт линейный стабилизатор), считывателя и программатора. Для электропитания электромеханического замка ST-RL073 используется источник постоянного тока с напряжением 12 вольт, от которого устройство потребляет 1 ампер. Данный блок питания укладывается в заявленные рамки.
6.1.2 Разработка принципиальной схемы
На основе разработанной структурной схемы необходимо разработать принципиальную схему. Принципиальная схема -- графическое изображение (модель), служащее для передачи с помощью условных графических и буквенно-цифровых обозначений (пиктограмм) связей между элементами электрического устройства.
Методика составления принципиальных схем состоит в том, что перед началом выполнения чертежа, необходимо разбить устройство на функциональные блоки, а именно: выделить питающие элементы, цепи блокировок, конечные входные устройства и прохождение сигнала до решающего устройства, решающее устройство и обмен данными с другим оборудованием. В лучшем случае, если эти части удастся изобразить на отдельных листах. Движение сигналов схемы всегда имеет направление слева-направо. Предполагается, что входные конечные устройства расположены в левой части схемы, а выходные конечные устройства - в правой. В то же время ток питания в принципиальных схемах должен быть направлен сверху - вниз. Верхняя часть схемы соответствует большему потенциалу напряжения. Не рекомендуется перегружать схему соединительными проводами, так как главной целью остается показать путь входных информационных сигналов и их движения к решающему устройству. Второстепенные сигналы для желательно обозначать ссылками. Допускается выносить менее значимые элементы на отдельные листы.
Разработанная принципиальная схема представлена на рисунке 6.
контроль доступ помещение программный
Рисунок 6 — Принципиальная схема
6.2 Программное обеспечение
Любой аппаратно-программный комплекс предполагает разработку ПО для обеспечения работы аппаратной части. Во время выполнения данной работы программное обеспечение разрабатывалось для клиентской и серверной части комплекса. Так как клиентской частью в данной системе является микроконтроллер ESP8266, то для него разрабатывается прошивка на языке C++ с использование официального SDK от компании-разработчика контроллера. Контроллер СКУД в данном комплексе является серверной частью. Применяемые для проектирования и разработки технологии описаны в предыдущем разделе.
6.2.1 Клиентская часть (прошивка)
Задачей данного этапа разработки системы является составление алгоритма работы контроллер, формализация данного алгоритма и написание программного кода (прошивки) на языке программирования.
Алгоритм - совокупность последовательных шагов, схема действий, приводящих к желаемому результату. Необходимо разбить задачу на логические блоки и описывать каждый из них отдельно.
На этапе проектирования аппаратной части были зафиксированы используемые в системе компоненты, структурной, а затем и принципиальной схемой были определены способы их взаимодействия.
Работа контроллера стоит из двух основных шагов: инициализация и основной цикл работы.
На этапе инициализации производится подключение к сети и проверка доступности контроллера СКУД. Если инициализация прошла успешно, то контроллер переходит в основной цикл работы.
В основном цикле контроллер опрашивает считыватель на предмет наличия считанного кода карты радиочастотной идентификации. Если подтверждается факт наличия кода карты, то контроллер загружает его в свою память, производит нормализацию полученных данных и отправляет запрос на контроллер СКУД о разрешении доступа. После этого контроллер переходит в режим ожидания ответа. В этот момент контроллер СКУД производит аутентификацию данных карты, принимает решение о разрешении доступа и отправляет ответ обратно контроллеру точки прохода. Получив ответ, контроллер, в зависимости от результата, отправляет команду исполнительному устройству. Параллельно с этим выполняется световая и звуковая индикация в зависимости от полученного ответа.
Графическое представление данного алгоритма представлено на рисунке 7.
Рисунок 7 — Графическое представление алгоритма
После составления и формализации алгоритма работы контроллера было разработано программное обеспечение (прошивка). Исходный код представлен в приложении А.
6.2.2 Серверная часть (контроллер СКУД)
Серверная часть реализуется в виде веб-приложения на программной платформе NodeJS с использованием фреймворка Express. В качестве базы данных используется реляционная база данных MySQL.
Первостепенным является определение модели данных (модели базы данных). Было выделено четыре основных модели:
· Пользователи;
· Карты доступа;
· Таблица связи «Пользователь-Карта»;
· Журнал доступа.
Графическое представление модели базы данных представлена на рисунке 8.
Рисунок 8 — Графическое представление модели БД
Для более продуктивной работы с базой данных используется ORM SequelizeJS. ORM -- это технология программирования, которая позволяет преобразовывать несовместимые типы моделей в ООП, в частности, между хранилищем данных и объектами программирования. ORM используется для упрощения процесса сохранения объектов в реляционную базу данных и их извлечения, при этом ORM сама заботится о преобразовании данных между двумя несовместимыми состояниями. Большинство ORM-инструментов в значительной мере полагаются на метаданные базы данных и объектов, так что объектам ничего не нужно знать о структуре базы данных, а базе данных -- ничего о том, как данные организованы в приложении. ORM обеспечивает полное разделение задач в хорошо спроектированных приложениях, при котором и база данных, и приложение могут работать с данными каждый в своей исходной форме.
Ключевой особенностью ORM является отображение, которое используется для привязки объекта к его данным в БД. ORM как бы создает «виртуальную» схему базы данных в памяти и позволяет манипулировать данными уже на уровне объектов. Отображение показывает, как объект и его свойства связанны с одной или несколькими таблицами и их полями в базе данных. ORM использует информацию этого отображения для управления процессом преобразования данных между базой и формами объектов, а также для создания SQL-запросов для вставки, обновления и удаления данных в ответ на изменения, которые приложение вносит в эти объекты.
Само веб-приложение реализуется в соответствии с концепцией MVC.
MVC (Model-View-Controller) -- схема разделения данных приложения, пользовательского интерфейса и управляющей логики на три отдельных компонента: модель, представление и контроллер -- таким образом, что модификация каждого компонента может осуществляться независимо.
Модель (Model) предоставляет данные и реагирует на команды контроллера, изменяя свое состояние.
Представление (View) отвечает за отображение данных модели пользователю, реагируя на изменения модели.
Контроллер (Controller) интерпретирует действия пользователя, оповещая модель о необходимости изменений.
Для обработки запросов используется шаблон «Router» (маршрутизация).
Маршрутизация -- это механизм, с помощью которого запросы (в соответствии с заданным URL и методом HTTP) находят путь к обрабатывающему их коду. Данный шаблон строится вокруг простой концепции маршрутизации запросов к отдельным частям бизнес-логики на базе некоторого определенного критерия. В программировании этот шаблон лучше всего представлен такими конструкциями, как switch-case и if-then-else. Наглядно его можно рассмотреть на рисунке 9.
Рисунок 9 — Шаблон «Router»
Маршрутизатор, в сущности, является компонентом, прозрачным для клиента. Он отвечает за получение запроса и выяснение, куда его следует передать для обработки. Заданный набор критериев определяет место назначения сообщения. Критерии маршрутизации могут быть статическими или динамическими. Статическая маршрутизация подразумевает то, что правила маршрутизации остаются неизменными. Это означает, что одному и тому же бизнес-компоненту отправляется одно и тоже сообщение, независимо от текущих состояний. Динамическая маршрутизация подразумевает, что использование некоторого набора текущих состояний влияет на маршрут сообщения. Имеется в виду, что при многократной отправке, одно и тоже сообщение может (или не может) быть отправлено для обработки одному и тому же бизнес-компоненту.
Важно помнить, что клиент не имеет ни малейшего представления о том, какая модель маршрутизации используется. В идеале, клиенту вообще не следует знать о том, что используется маршрутизация - это ведет к очень важному решению, включающему управление сессиями или состояниями.
В разрабатываемом серверном приложении используется две основные ветви маршрутизации:
· Обслуживание устройств идентификации личности;
· Панель администрирования.
Ветвь обслуживания устройств идентификации личности содержит лишь один маршрут -- аутентификация данных карты, полученных от считывателя и принятие решения о разрешении доступа.
В качестве входных параметров данный обработчик получает код карты доступа. Далее производится попытка аутентификации. Для этого делается выборка из базы данных. Если был возвращен положительный результат, то обработчик заносит данный запрос в журнал и сообщает устройству идентификации личности, что доступ разрешен. В противном случае возвращается сообщение о запрете доступа.
Ветвь панели администрирования имеет множество обработчиков, позволяющих администратору системы:
· Создавать, редактировать и удалять аккаунты из базы данных;
· Добавлять и привязывать к аккаунтам карты доступа;
· Просматривать журнал доступа;
· Управлять исполнительными элементами вручную (функционал для чрезвычайных ситуаций).
Исходный код серверной части представлен в приложении Б.
ЗАКЛЮЧЕНИЕ
В результате проведенной работы была разработана система контроля и управления доступом, осуществляющая аутентификацию личности при помощи средств радиочастотной идентификации (RFID), контроль доступа в помещение, управление электромеханическими замками и ведение журнала доступа.
Данную систему рекомендуется устанавливать в организациях для ограничения или контроля доступа в помещения. Система может быть внедрена на предприятия, где требуется ограничить круг лиц, имеющих право доступа в помещения, либо вести «табель посещаемости».
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
1. ГОСТ Р 51241-98. Средства и системы контроля и управления доступом. Классификация. Общие технические требования. Методы испытаний. Москва: Стандартинформ, 2009
2. Р 78.36.005-99. Выбор и применение систем контроля и управления доступом. Москва, 1999
3. Кулямин В.В. Анализ предметной области и требования к ПО // Технологии программирования. Компонентный подход, URL: http://panda.ispras.ru/~kuliamin/lectures-sdt/sdt-b ook-20 06.pdf.
ПРИЛОЖЕНИЕ А. ТЕКСТ ПРОГРАММЫ КЛИЕНТСКОЙ ЧАСТИ
#include <ESP8266WiFi.h>
#include <ESP8266HttpClient.h>
const char *ssid = "wifi-name";
const char *password = "wifi-password";
const char *host = "192.168.0.1";
const int outputPort = 4;
const int outputDelay = 400;
void setup()
{
pinMode(outputPort, OUTPUT);
digitalWrite(outputPort, LOW);
Serial.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
}
void loop()
{
if (Serial.available())
{
char *code = Serial.ReadStringUntil("\n");
HTTPClient http;
http.begin("https://192.168.0.1/api/private/card/" + code);
int httpCode = http.GET();
if (httpCode > 0)
{
String response = http.getString();
if (response == "ACCEPT")
{
digitalWrite(outputPort, HIGH);
delay(outputDelay);
digitalWrite(outputPort, LOW);
}
}
}
}
ПРИЛОЖЕНИЕ Б. ТЕКСТ ПРОГРАММЫ СЕРВЕРНОЙ ЧАСТИ
ФАЙЛ INDEX.JS
import http from 'http'
import path from 'path'
import express from 'express'
import bootable from 'bootable'
import bootableEnv from 'bootable-environment'
import Config from 'nconf'
import Utils from './utils'
const app = bootable(express())
app.phase(bootableEnv(path.join(__dirname, 'setup/environments'), app))
app.phase(bootable.initializers(path.join(__dirname, 'setup/initializers')))
app.phase(bootable.routes(path.join(__dirname, 'routes'), app))
app.boot((err) => {
if (err) {
console.log(err)
throw new Error(err)
}
const port = Utils.normalizePort(Config.get('server:port') || process.env.PORT || '3000') + Utils.getClusterIndex()
app.set('port', port)
const server = http.createServer(app)
server.listen(port)
server.on('error', (err) => {
if (err.syscall !== 'listen') {
throw err
}
const bind = `Port ${port}`
switch (err.code) {
case 'EACCES': {
console.error(`${bind} requires elevated privileges`)
process.exit(1)
break;
}
case 'EADDRINUSE': {
console.error(`${bind} is already in use`)
process.exit(1)
break;
}
default: {
throw err
}
}
})
server.on('connection', (socket) => {
socket.setNoDelay(true)
})
server.on('listening', () => {
console.log(`Game server listening on port ${server.address().port}`)
})
})
ФАЙЛ DATABASE.JS
import FS from 'fs'
import path from 'path'
import Sequelize from 'sequelize'
class Database {
static instance;
constructor() {
if (this.instance) {
return this.instance
}
this._sequelize = null
this._models = {}
this.instance = this
}
setup(modelsPath, database, username, password, options) {
if (arguments.length === 3) {
this._sequelize = new Sequelize(database, username)
} else if (arguments.length === 4) {
this._sequelize = new Sequelize(database, username, password)
} else if (arguments.length === 5) {
this._sequelize = new Sequelize(database, username, password, options)
}
this.init(modelsPath)
}
init(modelsPath) {
const modelFiles = FS.readdirSync(modelsPath).filter(file => {
return (file.indexOf('.') !== 0) && (/\.js$/ig.test(file))
})
modelFiles.forEach((file) => {
const model = this._sequelize.import(path.join(modelsPath, file))
this._models[model.name] = model
});
Object.keys(this._models).forEach((modelName) => {
if ('associate' in this._models[modelName]) {
this._models[modelName].associate(this._models)
}
})
}
testConnection() {
return this._sequelize.authenticate()
}
sync(options) {
return this._sequelize.sync(options)
}
get models() {
return this._models
}
}
export default new Database()
ФАЙЛ SETUP/ENVIRONMENT/ALL.JS
import express from 'express';
import path from 'path';
import logger from 'morgan';
import cookieParser from 'cookie-parser';
import bodyParser from 'body-parser';
export default function() {
this.set('views', path.join(__dirname, '../../views'));
this.set('view engine', 'jade');
this.use(express.static(path.join(__dirname, '../../public')));
this.use(logger('dev'));
this.use(bodyParser.json());
this.use(bodyParser.urlencoded({ extended: false }));
this.use(cookieParser());
this.set('trust proxy', true);
this.use(logger('common'));
this.use(bodyParser.json());
this.use(bodyParser.urlencoded({
extended: false
}));
};
ФАЙЛ SETUP/INITIALIZERS/00_GENERAL.JS
import config from 'nconf';
import path from 'path';
export default function() {
config.file({
'file': path.join(__dirname, `../../config/${this.get('env')}.json`)
});
};
ФАЙЛ SETUP/INITIALIZERS/05_DATABASE.JS
import path from 'path';
import Utils from '../../utils';
import Database from '../../database';
import Config from 'nconf';
export default function(done) {
Utils.debug('Configuring database');
const databaseConfig = Config.get('database');
Database.setup(path.join(__dirname, '../../models'), databaseConfig.database, databaseConfig.username, databaseConfig.password, {
host: databaseConfig.host,
dialect: 'mysql',
logging: Utils.debug
});
Utils.debug('Testing connection to database');
Database.testConnection().then(() => {
Utils.debug('Connection to database has been established successfully');
}).then(() => {
Utils.debug('Synchronizing database models');
return Database.sync();
}).then(() => {
Utils.debug('Database models has been synchronized successfully');
done();
}).catch((err) => {
Utils.debug(`Database error: ${err}`);
done(err);
});
};
ФАЙЛ SETUP/INITIALIZERS/10_SESSION.JS
import session from 'express-session';
import redisStoreConnect from 'connect-redis';
const redisStore = redisStoreConnect(session);
export default function() {
this.use(session({
key: 'sessionId',
secret: '46a28a45aec83a5b6e841d3a5f4c14bd',
store: new redisStore(),
cookie: {
maxAge: 172800000
}
}));
};
ФАЙЛ SETUP/INITIALIZERS/15_PASSPORT.JS
import Passport from 'passport';
import bcrypt from'bcrypt';
const LocalStrategy = require('passport-local').Strategy;
import Database from '../../database';
const Users = Database.models['User'];
export default function() {
this.use(Passport.initialize());
this.use(Passport.session());
Passport.use(new LocalStrategy({
usernameField: 'form-phone',
passwordField: 'form-password'
}, (login, password, done) => {
Users.find({
where: {
phone: `+${login}`
}
}).then((user) => {
if(user) {
if(user && bcrypt.compareSync(password, user.password)) {
return done(null, user);
} else {
return done(null, false, { message: 'incorrect' });
}
} else {
return done(null, false, { message: 'incorrect' });
}
}).catch((err) => {
return done(err);
})
}));
Passport.serializeUser((user, done) => {
done(null, user.userId);
});
Passport.deserializeUser((id, done) => {
Users.find({
where: {
userId: id
}
}).then((user) => {
done(null, user.get({
plain: true
}));
}).catch((err) => {
done(err)
});
});
};
ФАЙЛ UTILS/INDEX.JS
import Debug from 'debug'
class Utils {
normalizePort = (value) => {
const port = parseInt(value, 10)
if(isNaN(port)) {
return value
}
if(port >= 0) {
return port
}
}
getClusterIndex = () => {
if (process.env.NODE_APP_INSTANCE) {
return +process.env.NODE_APP_INSTANCE
}
return 0
}
debug = (...params) => {
return Debug(process.env.npm_package_name)(...params)
}
}
export default new Utils()
ФАЙЛ ROUTES/INDEX.JS
import requireTree from 'require-tree';
const controllers = requireTree('../controllers');
const middlewares = requireTree('../middlewares');
export default function() {
this.get('/',
middlewares.authRequired,
controllers.render('index'));
this.get('/authenticate', middlewares.alreadyAuthorized, controllers.render('authenticate'));
this.post('/authenticate', middlewares.alreadyAuthorized, controllers.user.login);
this.get('/logout', middlewares.authRequired, controllers.user.logout);
this.use(middlewares.ajaxAuthCheck);
this.get('/api/private/card/:code, middlewares.private, controllers.card);
this.use(middlewares.online);
this.use((req, res, next) => {
const err = new Error('Not Found');
err.status = 404;
next(err);
});
this.use((err, req, res) => {
res.status(err.status || 500).render('error');
});
};
ФАЙЛ MIDDLEWARES/AUTHREQUIRED.JS
export default (req, res, next) => {
req.isAuthenticated()
? next()
: res.redirect('/authenticate');
};
ФАЙЛ MIDDLEWARES/ALREADYAUTHORIZED.JS
export default (req, res, next) => {
req.isAuthenticated()
? res.redirect('/')
: next();
};
ФАЙЛ MIDDLEWARES/AJAXAUTHCHECK.JS
export default (req, res, next) => {
req.isAuthenticated()
? next()
: res.status(401).json({error: 'auth_need'});
};
ФАЙЛ MIDDLEWARES/PRIVATE.JS
import Config from 'nconf';
export default (req, res, next) => {
if (req.query.token === Config.get('privateAPI:token')) {
next();
} else {
const err = new Error('access_denied');
err.status = 403;
next(err);
}
}
ФАЙЛ CONTROLLERS/CARD.JS
import async from 'async';
import _ from 'underscore';
import Database from '../../database';
const User = Database.models['User'];
const Card = Database.models['Card'];
export default (req, res) => {
const user = req.user;
async.waterfall([
(cb) => {
async.parallel({
tasks: (callback) =>{
User.findAll({
where: {
id: user.id
}
}).then((users) => {
callback(null, users);
}).catch(() => {
callback(new Error('unrecognized_error'));
})
},
solveRecords: (callback) => {
TaskInfo.findAll({
where: {
userId: user.userId
}
}).then((tasksInfo) => {
callback(null, tasksInfo);
}).catch(() => {
callback(new Error('unrecognized_error'));
});
}
}, cb);
},
(data, cb) => {
const users = _.compact(
data.users.map((task) => {
const solveRecord = _.some(data.solveRecords, (record) => record.taskId === task.taskId);
const {
taskId,
title,
latitude,
longitude
} = task;
return {
taskId,
title,
coordinates: {
latitude,
longitude
},
taskSolved: solveRecord
};
})
);
cb(null, tasks);
}
], (err, tasks) => {
err
? res.status(404).json(err.message)
: res.status(200).json(tasks);
});
};
ФАЙЛ FRONT/WEBPACK.CONFIG.JS
const path = require('path')
const fs = require('fs')
const _ = require('lodash')
const webpack = require('webpack')
const appDirectory = fs.realpathSync(process.cwd())
...Подобные документы
Принципы работы систем контроля и управления доступом, принцип их работы и оценка возможностей. Сравнительное описание методов идентификации. Разработка информационно-компьютерной системы контроля и управления доступом. Создание аппаратной подсистемы.
дипломная работа [1,7 M], добавлен 26.07.2013Технологии управления доступом в помещение. Организационно-управленческая характеристика ООО "Новые информационные технологии". Анализ системы технического и программного обеспечения. Разработка проекта системы контроля и управления доступом "Кодос".
дипломная работа [71,6 K], добавлен 16.01.2014Особенности решения задачи контроля и управления посещением охраняемого объекта. Создание системы как совокупности программных и технических средств. Классификация систем контроля и управления доступом. Основные устройства системы и их характеристика.
презентация [677,7 K], добавлен 03.12.2014Назначение, классификация и состав системы контроля управления доступом. Основные характеристики биометрических средств идентификации личности. Идентификация пользователя по радужной оболочке глаз. Разработка алгоритма функционирования устройства.
дипломная работа [1,1 M], добавлен 25.11.2014Анализ существующих систем контроля и управления доступом различных фирм-производителей. Анализ технических и эксплуатационных характеристик различных систем, разработка системы контроля и управления доступом. Предложение плана реализации системы.
дипломная работа [2,7 M], добавлен 07.06.2011Организационные основы защиты информации на предприятии. Общие принципы построения систем контроля и управления доступом. Виды запирающих устройств. Аппаратура и материалы, методика и порядок выполнения работы. Базовое программное обеспечение проекта.
дипломная работа [4,7 M], добавлен 30.06.2011Описание возможностей системы контроля и управления доступом, область ее деятельности и нормативная база использования, принципы функционирования. Обзор российского рынка, тенденции и перспективы его дальнейшего расширения. Этапы разработки и внедрения.
курсовая работа [1,8 M], добавлен 15.01.2015Организационные основы защиты информации на предприятии. Общие принципы построения систем контроля и управления доступом. Характеристика объекта, текущего оборудования и программного обеспечения. Классификация воздушных и воздушно-тепловых завес.
дипломная работа [5,7 M], добавлен 13.04.2014Понятие, назначение, задачи и классификация системы контроля и управления доступом, ее основные компоненты. Сравнительный анализ деятельности производителей данных систем: Legos, Parsec, PERCo. Выбор архитектуры системы, оборудование и его размещение.
дипломная работа [7,7 M], добавлен 07.06.2014Автономные, сетевые и интегрированные контроллеры - интеллектуальный элемент системы контроля управления доступом. Управление локальными, централизованными и распределенными СКУД. Характеристика iSecure Pro как самостоятельной микропроцессорной системы.
реферат [2,6 M], добавлен 23.01.2011Проведение анализа в области идентификации личности по биометрическим параметрам. Формирование массива данных из исходной информации для подсистемы контроля управления доступом с аутентификацией по речевому сигналу. Способ проверки подлинности голоса.
курсовая работа [3,1 M], добавлен 29.08.2015Система контроля и управления доступом как базовый компонент интегрированных систем. Структура и основные элементы систем видеонаблюдения. Области применения и обзор программного обеспечения систем видеонаблюдения. Интегрированные системы безопасности.
дипломная работа [1,8 M], добавлен 25.07.2015Ознакомление с основными возможностями и особенностями программно-аппаратного комплекса Менуэт 2000. Назначение системы управления доступом (СУД), ее возможности, режимы работы. База данных объекта контроля. Менеджер сети замков системы Менуэт 2000.
лабораторная работа [1,6 M], добавлен 17.01.2011Назначение и устройство микропроцессорной системы контроля. Описание функциональной схемы микропроцессорной системы контроля. Расчет статической характеристики канала измерения. Разработка алгоритма функционирования микропроцессорной системы контроля.
курсовая работа [42,0 K], добавлен 30.08.2010Разработка автоматизированной информационной системы для учета и контроля выполнения ремонтных работ, и предоставления услуг по разработке программного обеспечения компании "МегионСофтОйл", разработка алгоритмов приложений программной системы и модулей.
дипломная работа [5,3 M], добавлен 29.06.2012Система контроля и управления доступом на предприятии. Анализ обрабатываемой информации и классификация ИСПДн. Разработка модели угроз безопасности персональных данных при их обработке в информационной системе персональных данных СКУД ОАО "ММЗ".
дипломная работа [84,7 K], добавлен 11.04.2012Общая характеристика и функциональное назначение проектируемого программного обеспечения, требования к нему. Разработка и описание интерфейса клиентской и серверной части. Описание алгоритма и программной реализации приложения. Схема базы данных.
курсовая работа [35,4 K], добавлен 12.05.2013Системы контроля и управления доступом: контроллерные и программные. Технические тенденции их развития. Структура и элементы систем видеонаблюдения, области их применения и программное обеспечение. Интегрированные системы безопасности, уровни интеграции.
дипломная работа [1,7 M], добавлен 13.10.2015Средства и технологии разработки приложений баз данных. Компоненты управления доступом к БД. Описание программного окружения доступа к данным. Механизм получения и отправки данных. Специфика связи внутреннего представления с интерфейсом приложения.
презентация [29,4 K], добавлен 19.08.2013Общая характеристика, состав и классификация систем управления доступом. Обеспечения сохранности информации. Составление рекомендации по наиболее рациональной организации и применению технических систем управления доступом в органах внутренних дел.
курсовая работа [46,3 K], добавлен 14.01.2012