МИНИСТЕРСТВО ОБРАЗОВАНИЯ И МОЛОДЁЖНОЙ ПОЛИТИКИ ВЛАДИМИРСКОЙ ОБЛАСТИ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЛАДИМИРСКОЙ ОБЛАСТИ
«АЛЕКСАНДРОВСКИЙ ПРОМЫШЛЕННО-ПРАВОВОЙ КОЛЛЕДЖ» (ГБПОУ ВО АППК)
![]() |
ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
Вид работы: Дипломная работа
Специальность 09.02.05 Прикладная информатика (по отраслям)
Тема: Оптимизация и разработка СКУД систем для образовательных и охраняемых организаций
Студент(ка) группы ВТ-41 Капранов А.С.
( ФИО) (подпись) (дата)
Руководитель |
Павлова А.А ( ФИО) |
(подпись) |
(дата) |
Рецензент |
Чайка С.В. ( ФИО) |
(подпись) |
(дата) |
ВКР допущена к защите Зам директора по УИР Григорьева Т.А. « » 2023г |
Оценка Председатель ГЭК Григорьев В.В. Секретарь ГЭК Богословская О.А. Дата защиты « » 2023г |
Александров
2023г.
РАССМОТРЕНО
на заседании методсовета отделения ППССЗ Председатель М.В. Севрюкова
« » 2023 г.
Специальность 09.02.05 Прикладная информатика (по отраслям) Группа ВТ-41
Форма обучения очная
ЗАДАНИЕ НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ
Вид работы: Дипломная работа
Студент Капранов Александр Сергеевич
1. Тема ВКР Оптимизация и разработка СКУД систем для образовательных и охраняемых организаций
2.
3. Срок сдачи ВКР 14 июня 2023 г.
4. Исходные данные по ВКР
Информация о предприятии, информация о сотрудниках, нормативные документы предприятия, информация о СКУД системах и средах.
5. Содержание разделов ВКР Введение
Исследовательский раздел включает в себя характеристику предприятия и задачи для разработки; построение диаграммы AS-IS; Постановку задачи.
Специальный раздел включает в себя постановку технического задания.
Технологический раздел включает в себя результаты решения задачи и разработку руководство пользователя
Технико-экономическое обоснование проекта Заключение
Список литературы
Приложение
6. Перечень приложений к ВКР Приложение 1. Презентация к защите ВКР
Дата выдачи задания
Руководитель: |
Павлова А.А. |
|
|
|
|
(подпись) |
(дата) |
Студент: |
Капранов А.С. |
|
|
|
|
(подпись) |
(дата) |
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ.. 5
1. ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ.. 5
1.1 Описание рассматриваемого предприятия. 6
1.2 Разработка IDEF диаграммы.. 9
1.3 Понятие и назначение систем контроля и управления доступом.. 10
1.4 Основные задачи, решаемые СКУД.. 12
1.5 Основные компоненты СКУД.. 13
1.6 Классификация СКУД.. 15
1.6.1 Автономные СКУД.. 16
1.6.2 Сетевые СКУД.. 18
1.6.3 Универсальные СКУД.. 20
1.7 Постановка задачи для разработки проекта. 21
1.8 План управления проектом.. 23
1.9 Классификация и обоснование выбора программного обеспечения технических средств. 26
1.9.1 Сравнительный анализ СКУД систем.. 27
2. СПЕЦИАЛЬНЫЙ РАЗДЕЛ.. 30
2.1 Техническое задание. 30
2.1.1 Цели и назначения системы.. 30
2.1.2 Требования к структуре и функционированию.. 31
2.1.3 Требования к численности и квалификации персонала. 32
2.1.4 Требования к надежности. 33
2.1.5 Требования к безопасности. 33
2.1.6 Требования к защите от несанкционированного доступа к данным.. 34
2.1.7 Требования к эксплуатации, обслуживанию и ремонту. 35
2.1.8 Требования к функциям, выполняемым системой. 35
2.1.9 Требования к организационному обеспечению.. 35
2.1.10 Требования к методическому обеспечению.. 36
2.1.11 Требования к техническому обеспечению.. 36
2.1.12 Требования к программному обеспечению.. 36
2.1.13 Требования к информационному обеспечению.. 37
2.2 Аппаратная часть. 38
2.2.1 Первичная структурная схема. 38
2.2.2 Подбор компонентной базы устройства. 39
2.2.3 Полная структурная схема. 48
2.2.4 Разработка электрической принципиальной схемы устройства. 49
2.2.5 Программная часть. 55
2.2.6 Выбор остальных элементов устройства. 72
2.2.7 Разработка корпуса устройства. 72
2.2.8 Диаграмма работы устройства. 75
2.2.9 Изготовление прототипа устройства. 76
2.3 Новые технологии выполнения функций. 77
3. ЭКОНОМИЧЕСКОЕ ОБОСНОВАНИЕ.. 79
ЗАКЛЮЧЕНИЕ.. 82
СПИСОК ЛИТЕРАТУРЫ... 83
ПРИЛОЖЕНИЕ.. 84
Приложение А.. 84
Приложение Б.. 87
Приложение В.. 92
Приложение Г.. 94
В настоящее время автоматизированные системы контроля и управления доступом (СКУД) являются составной частью информационной инфраструктуры и незаменимым элементом системы безопасности современного предприятия.
Системы контроля и управления доступом (СКУД) – это эффективная контрольно-пропускная система, которая позволяет управлять безопасностью объекта и осуществлять контроль доступа. Целью работы является демонстрация возможности реализации модели СКУД на базе программно совместимого аналога arduino, которая будет существенно более выгодной в коммерческом плане по сравнению с существующими промышленными аналогами.
В общем случае под системой контроля и управления доступом понимают совокупность программно-технических и организационно-методических средств, с помощью которых решается задача контроля и управления помещениями предприятия, а также оперативный контроль за передвижением персонала и временем его нахождения на территории предприятия. С помощью системы контроля и управления доступом, предприятие имеет возможность поднять уровень общей безопасности, а также сократить затраты на ее обеспечение. Кроме того, СКУД предполагает меньшее количество персонала для обслуживания, она экономична в потреблении электроэнергии.
Одним из направлений обеспечения информационной безопасности на предприятии или в организации является инженерно-техническая защита, в рамках которой используются системы контроля и управления доступом.
Перед проектирующим систему информационной защиты организации специалистом нередко ставится задача обеспечения для сотрудников защиты на некоторой территории, внутри которой возможен свободный обмен. В качестве элемента такой системы можно предложить устройства, разрабатываемые на базе плат Arduino.
Для того, чтобы система четко и бесперебойно выполняла свои функции, решала все поставленные задачи и обеспечивала максимальный экономический эффект от своей эксплуатации, она должна быть грамотно спроектирована, качественно смонтирована, интегрирована с другими системами безопасности . Проектирование и разработку СКУД будем рассматривать для предприятия МБОУ гимназия №2 г. Александров.
![]() |
Анализ СКУД буду проводить с привязкой к конкретному предприятию, а именно к МБОУ гимназия №2 г. Александров. Трёхэтажное здание, имеющее один вход, расположено по адресу: улица Ческа-Липа, 5, Александров, Владимирская область, 601655. В учебном корпусе школы располагаются кабинеты где обучаются ученики, кабинет директора, мастерские которые разделены на мальчиков и девочек, спортивный зал, а так же актовый и танцевальный зал.
В системе управления школы функционируют не отдельные модули, работающие по известным образовательным моделям, а их оптимальная комбинация. Их деятельность определена следующими стратегическими требованиями:
· полный охват направлений работы;
· координация и взаимосвязь деятельности различных подразделений;
· адаптивность управленческой модели к изменяющимся социально-экономическим условиям, открытость, позволяющая субъектам управления своевременно вводить в имеющуюся систему новые структуры, отказываться от устаревших;
· использование в управлении школой современных информационных технологий;
· оптимальное для данной модели привлечение квалифицированных специалистов, в том числе из числа общественности к принятию управленческих решений.
Структура управления в школе построена с целью обеспечения оптимального сочетания государственных и общественных начал в интересах всех участников этого процесса.
В структуре управления выделяется 4 уровня управления:
первый уровень – директор Комкова Елена Николаевна – главное административное лицо, воплощающее единоначалие и несущее персональную ответственность за все, что делается в образовательном учреждении всеми субъектами управления
второй уровень – первый заместитель директора по УВР образовательного
третий уровень - методические объединения.
В школе работают четыре методитеских обьединения
· предметов естественно-математического цикла
· предметов гуманитарного цикла
· начальных классов
· МО классных руководителей четвертый уровень - учащиеся, родители и учителя.
Учебно-воспитательный процесс:
· контроль за выполнением программы всеобуча;
· контроль за состоянием преподавания учебных дисциплин, выполнением учебных программ и достижения государственного стандарта образования;
· контроль за реализацией права учащихся на получение образования;
· контроль за состоянием трудового воспитания и профориентации обучающихся;
· контроль качества знаний, умений и навыков учащихся;
· контроль за внеклассной работой по предметам;
· контроль за обеспечением условий сохранения и развития здоровья учащихся в образовательном процессе.
Педагогические кадры:
· контроль за выполнением решений и нормативных документов вышестоящих органов;
· контроль за работой методических объединений;
· контроль за выполнением решений педагогических и методических объединений;
· контроль за самообразованием учителей;
· контроль за состоянием методической работы;
· контроль за повышением квалификации учителей.
Управление педагогической системой, как и управление любой социальной системой есть прежде всего, процесс переработки информации, состоящий из трех основных этапов: сбор информации, ее переработка и выдача управленческого решения.
Уровень учителей – уровень учителей-предметников, классных руководителей, воспитателей и т.п. На рассматриваемом уровне предполагается создание новых организационных структур: временных творческих лабораторий и научно-исследовательских групп и коллективов, методических советов, проблемных семинаров, школы учителя-экспериментатора и др.
Уровень учащихся – здесь обучающиеся создают свои структуры: органы управления, советы, комитеты, комиссии, секции, клубы и объединения, могут создаваться структуры, куда входят педагоги и обучающиеся.
В школе развивается ученическое самоуправление. Структура школьного управления строится на 3-х уровнях: на первом – базисном – ученическое самоуправление в классном коллективе, на втором – школьная, ученическая, на третьем – общешкольное самоуправление в коллективе школы. Содержание работы органов самоуправления определяется видами деятельности учащихся.
Организационная структура предприятия представлена на рисунке 1.
Рисунок 1 - Организационная структура предприятия
В штате находится около 1400 сотрудников и учеников. Контроль доступа осуществляется на одном входе в здание, план которого представлен на рисунке 2.
Рисунок 2 - План здания
Диаграмма IDEF0 используется для создания функциональной модели, отображающей структуру и функции системы, а также потоки информации и материальных объектов, связывающие эти функции. Эта диаграмма изображает систему в состоянии «как есть». На данный момент пропускной режим на рассматриваемом предприятии осуществляется следующим образом: сотрудник предъявляет свое удостоверение вахтеру, который записывает в свой журнал его фамилию и время прихода, после чего пропускает в здание. Изобразим это в виде контекстной диаграммы IDEF0, которая представлена на рисунке 3.
Рисунок 3 - IDEF0 диаграмма
После составления контекстной IDEF0 диаграммы выполняют процесс декомпозиции, заключающийся в разбиении основного процесса на функциональные подсистемы. В результате декомпозиции процесс «Организация пропускного режима» разобьется на три подсистемы: предъявление удостоверения вахтеру, идентификация сотрудника, запись данных в журнал.
Далее процессы, которые требуют более глубокого рассмотрения, снова разбивают на подсистемы. Чтобы показать главные недостатки существующей пропускной системы на предприятии, а именно: человеческий фактор и время, требуемое для записи данных в журнал, произведем декомпозицию процессов «идентификация сотрудника» и «запись данных в журнал».
Полученные диаграммы IDEF0 первого и второго уровней изображены на рисунках 4 и 5 соответственно.
Рисунок 4 - IDEF0 диаграмма 1 уровня
Рисунок 5 - IDEF0 диаграмма 2 уровня
К началу XXI века на рынке технических средств обеспечения безопасности появилось огромное количество систем контроля и управления доступом (СКУД). ГОСТ Р 51241-98 «Средства и системы контроля и управления доступом. Классификация. Общие технические требования. Методы испытаний», утвержденный Постановлением Госстандарта России от 29.12.1998 N 472, дает такое определение: система контроля и управления доступом (СКУД) - совокупность средств контроля и управления, обладающих технической, информационной, программной и эксплуатационной совместимостью. Под контролем и управлением доступом в ГОСТе понимается следующее: комплекс мероприятий, направленных на ограничение и санкционирование доступа людей, транспорта и других объектов в (из) помещения, здания, зоны и территории.
Вышеуказанный нормативно-технический документ дает обобщенное определение, поэтому, отвечая на различные вопросы и обсуждая технические характеристики СКУД, часто сталкиваешься с тем, что в конце разговора у человека возникает вопрос: а зачем вообще всё это надо? Чтобы разобраться рассмотрим наглядный пример.
Возьмем небольшую компанию, состоящую из нескольких отделов: отдела продаж, дирекции, секретариата, отдела комплектации, склада, бухгалтерии и серверной. В компанию ведут две уличные двери: главный вход (вход с улицы) и дополнительный (вход со двора) и 6 внутренних дверей, контролируемых СКУД. Два уличных входа, входы на склад и в отдел комплектации, вход в бухгалтерию и вход в кассу контролируются на проход в обе стороны (на вход и на выход), входы в дирекцию и серверную контролируются только в одну сторону (только на вход). Организация доступа в рабочее время может выглядеть следующим образом: все сотрудники имеют право ходить через главный и дополнительный входы; на склад имеют право доступа только люди, непосредственно связанные с комплектацией и отгрузкой (заведующий складом, кладовщик и т.д.), в бухгалтерию - только бухгалтеры, в кассу - только кассир. Уборщица имеет доступ во все помещения, кроме серверной, но только с 8.00 до 9.00. Привилегированная группа пользователей (директора, начальник службы охраны и т.д.) имеют право ходить везде и в любое время.
Люди, наделённые определёнными одинаковыми полномочиями, составляют определённую группу доступа. Группа доступа характеризуется определёнными точками прохода, через которые этой группе доступ разрешён, и временным профилем, состоящим из нескольких временных интервалов, в течение которых разрешена возможность прохода через разрешенные точки (дверь, турникет, шлагбаум). Точка прохода может быть двухсторонней - когда проход в обе стороны осуществляется по карточке, или односторонней - когда вход осуществляется по предъявлению карточки, а выход - по нажатию кнопки.
Абсолютно все события, происходящие в системе, протоколируются и (при необходимости) появляются на мониторе у охранника (можно охраннику выводить только тревожные события). При современных объемах жёстких дисков эти протоколы могут храниться неограниченное количество времени. Стандартная функция любого программного обеспечения СКУД - просмотр протоколов по различным критериям, что позволяет воспроизвести любое, как недавнее, так и давно прошедшее событие, просмотреть все тревожные события за истекший месяц, выяснить, где вчера ходил заведующий складом Иванов П.П. В конце дня можно посмотреть, кто остался в офисе после 18:00, или осуществить быстрый поиск сотрудника в рабочее время. Можно контролировать действия охраны, если, например, охранник должен ежечасно обходить все помещения и отмечаться на всех считывателях. Можно смело сказать, что возможности различных СКУД ограничиваются только фантазией проектировщиков, а по большому счету, реализовать можно любую идею.
Современные системы контроля и управления доступом эффективно решают задачи обеспечения безопасности любого уровня, осуществляют предупреждение о проникновении посторонних лиц на подконтрольную территорию, а также способствуют повышению дисциплины труда благодаря учету рабочего времени сотрудников компании. Высокий уровень безопасности может достигаться дублированием идентификации. Например, дополнительно к проверке электронного ключа посетителя может применяться ввод кода доступа с клавиатуры, либо идентификация голоса. В современных комплексах СКУД присутствует подсистема "тихой тревоги", которая вводится в случае какой-либо угрозы и оповещает о ней службу безопасности.
С помощью СКУД может осуществляться управление любыми дверьми, являющимися частями системы. Возможно слежение за дверьми по максимально дозволенной продолжительности её нахождения в открытом состоянии. По истечении максимально допустимого времени возникает сигнал тревоги (он может быть разным: звуковой сигнал непосредственно у проблемной двери, сообщение на пульт дежурного и прочие варианты). Под управлением операционной системой запирающие механизмы могут открываться и закрываться в определённые периоды времени. Для проведения всех необходимых шнуров питания и подключения к локальной сети может быть использована структурированная кабельная система или прокладка одиночных кабелей.
В основе задач, решаемых системой контроля и управления доступом, лежит возможность разграничения полномочий персонала по времени и точкам доступа. Таким образом, типичными задачами, возлагаемыми на СКУД являются:
· распределение прав доступа между клиентами;
· протоколирование фактов прохода через контрольные точки;
· работа с пропусками и их идентификация;
· автоматический учет рабочего времени;
· отображение информации о нештатных ситуациях;
· централизованное управление системой контроля доступа.
Кроме всего прочего, возможно выполнить интеграцию СКУД с системами видеоконтроля и охранно-пожарной сигнализации для повышения уровня безопасности.
На рисунке 6 показана схема устройства простейшей СКУД.
Рисунок 6 - Схема устройства простейшей СКУД
СКУД состоит из следующих частей:
Контроллеры - основа аппаратной части системы, её «мозги» - к ним подключается необходимое дополнительное оборудование: считыватели, интерфейсные модули, замки, герконы (дверные контакты), кнопки выхода, охранные датчики и прочее периферийное оборудование. По способу управления контроллеры СКУД делятся на три класса: автономные, централизованные (сетевые) и комбинированные.
Автономные контроллеры
Полностью законченное устройство, предназначенное для обслуживания, как правило, одной точки прохода. Встречаются самые разнообразные вариации: контроллеры, совмещенные со считывателем, контроллеры, встроенные в электромагнитный замок и так далее. Автономные контроллеры рассчитаны на применение самых разных типов считывателей. Как правило, автономные контроллеры рассчитаны на обслуживание небольшого количества пользователей, обычно до пятисот.
Сетевые контроллеры
Термин, обозначающий возможность работы контроллеров в сети под управлением компьютера. В этом случае функции принятия решения ложатся на персональный компьютер с установленным специализированным программным обеспечением. Сетевые контроллеры применяются для создания СКУД любой степени сложности. При этом администрация получает огромное количество дополнительных возможностей (получение отчета о наличии или отсутствии сотрудников на работе, возможность вести автоматический табель учета рабочего времени и др.)
Комбинированные контроллеры
Совмещают в себе функции сетевых и автономных контроллеров. При наличии связи с управляющим компьютером контроллеры работают как сетевое устройство, при отсутствии связи - как автономные.
Считыватели - устройства, предназначенные для считывания информации с идентификатора, и передачи этой информации в контроллер СКУД.
Идентификаторы - устройства, хранящие информацию о пользователе. Идентификаторами могут быть магнитные карточки, бесконтактные PROXIMITY карты, брелки Touch Memory, различные радиобрелки, изображение радужной оболочки глаза, отпечаток пальца, отпечаток ладони и многие другие физические признаки. Каждый идентификатор характеризуются определенным уникальным двоичным кодом. В системе каждому коду ставится в соответствие информация о правах и привилегиях владельца идентификатора. Сейчас применяются следующие типы карт:
Бесконтактные радиочастотные (PROXIMITY) карты - наиболее перспективный в данный момент тип карт. Бесконтактные карточки срабатывают на расстоянии и не требуют четкого позиционирования, что обеспечивает их устойчивую работу и удобство использования, высокую пропускную способность. Считыватель генерирует электромагнитное излучение определенной частоты и, при внесении карты в зону действия считывателя, это излучение через встроенную в карте антенну запитывает чип карты. Получив необходимую энергию для работы, карта пересылает на считыватель свой идентификационный номер с помощью электромагнитного импульса определенной формы и частоты.
Магнитные карты - наиболее широко распространенный вариант. Существуют карты с низкокоэрцитивной и высококоэрцитивной магнитной полосой и с записью на разные дорожки. Карты Виганда - названные по имени ученого, открывшего магнитный сплав, обладающий прямоугольной петлей гистерезиса. Внутри карты расположены отрезки проволоки из этого сплава, которые, при перемещении мимо них считывающей головки, позволяют считать информацию. Эти карты более долговечны, чем магнитные, но и более дорогие. Один из недостатков - то, что код в карту занесен при изготовлении раз и навсегда.
Штрих-кодовые карты - на карту наносится штриховой код. Существует более сложный вариант - штрих-код закрывается материалом, прозрачным только в инфракрасном свете, считывание происходит в ИК-области.
Ключ-брелок “Touch memory” - металлическая таблетка, внутри которой расположен чип ПЗУ. При касании таблетки считывателя, из памяти таблетки в контроллер пересылается уникальный код идентификатора.
Для временных сотрудников и посетителей оформляются временные или разовые пропуска - карточки с ограниченным сроком действия.
Интерфейсные модули - бывают двух основных типов:
для подключения считывателей, замков, герконов и кнопок выхода к контроллерам и для подключения контроллеров к компьютеру. Все устройства в системе общаются между собой по определённым правилам, которые называются протоколами. Существуют стандартные протоколы, и это позволяет использовать в одной системе оборудование разных производителей.
Исполнительные устройства - замки, турникеты, шлагбаумы, калитки. Считав информацию с карты (или другого устройства идентификации), контроллер сверяет её со своей базой данных и принимает решение: давать или не давать команду на исполнительное устройство.
«Датчик положения двери» - для корректной работы СКУД контроллер должен понимать, что происходит на «охраняемой территории»: открыта или закрыта дверь; если открыта, то как долго; провернулся ли после считывания турникет и в какую сторону, поднят или опущен шлагбаум и т.д. Наличие датчиков положения позволяет отличить считывание, после которого ничего не произошло, от «фактического прохода», и добавляет охранные функции, поскольку любое открывание - как штатное, так и нештатное - протоколируется системой.
Вспомогательное оборудование - блоки бесперебойного питания, датчики, кнопки, проводка и т.д.
Программное обеспечение - осуществляет настройку и управление оборудованием, мониторинг его параметров, систематизацию и архивирование всей информации системы. Оно также осуществляет поддержку обмена данными между контроллерами и компьютером мониторинга, управление доступом и мониторинг пунктов прохода, работу с базами данных и регистрацию владельцев идентификаторов, позволяют осуществлять визуальную идентификацию владельцев “электронных пропусков” на проходной и для формирования различных отчетов, а также выполнять дополнительный набор функций.
Системы контроля и управления доступом классифицируют по:
1. способу управления системой контроля доступа:
a. автономные;
b. централизованные (сетевые);
c. универсальные.
2. количеству контролируемых точек доступа:
a. автономные;
b. централизованные (сетевые);
c. универсальные.
d. малой емкости (менее 16 точек)
e. средней емкости (не менее 16 и не более 64 точек)
f. большой емкости (64 точки и более)
3. функциональным характеристикам:
a. СКУД с ограниченными функциями
b. СКУД с расширенными функциями
c. Многофункциональные СКУД
4. виду объектов контроля, осуществляющие:
a. контроль доступа физических объектов
b. контроль доступа к информации
5. уровню защищенности системы от несанкционированного доступа к информации:
a. нормальной
b. повышенной
c. высокой
Обобщенная схема классификации СКУД представлена на рисунке 7.
Рисунок 7 - Классификация СКУД
![]() |
Автономные СКУД служат для управления одной или несколькими точками доступа, без передачи информации на центральный пульт и без контроля со стороны оператора и без использования управляющего компьютера.
Часто автономные системы не имеют считывателя на «выход» и для открывания двери изнутри помещения используется обычная электрическая кнопка выхода. Контроллер автономной системы должен иметь функцию программирования - занесения кодов идентификаторов в память. Для этого в большинстве моделей применяется упрощенный способ программирования на основе использования «мастер-ключа». «Мастер-ключ» это идентификатор, при считывании которого контроллер переходит в режим записи кодов идентификаторов в память. Все последующие считанные идентификаторы заносятся в память системы и становятся действующими. Современные автономные СКУД имеют возможность хранить в памяти до нескольких сотен кодов идентификаторов.
Схема устройства автономной СКУД представлена на рисунке 8.
Рисунок 8 - Схема устройства автономной СКУД
В некоторых автономных СКУД предусмотрена возможность расширения. Достигается это различными способами:
· за счет объединения нескольких контроллеров в сеть тем или иным способом;
· путем увеличения мощности и усложнения самого контроллера, что позволяет подключать к нему более 2х считывателей, а следовательно, контролировать большее количество дверей (точек прохода);
· подключение стыковочных модулей для связи контроллера или нескольких контроллеров к управляющему компьютеру для возможностей расширенного программирования.
Однако, несмотря на подобные возможности, при необходимости установки трех и более точек прохода, или количестве идентификаторов от пятидесяти и выше, автономные системы СКУД устанавливать уже нецелесообразно. Прежде всего, это связано с большими трудностями обслуживания системы и поддержания ее в «актуальном» состоянии по отношению к изменяющимся требованиям по правам прохода и спискам разрешенных/запрещенных к проходу идентификаторов, а также с невысокой надежностью и долговечностью подобных систем.
Достоинства автономных систем:
· невысокая стоимость;
· простота программирования системы;
· отсутствие большого количества кабельных соединений;
· оперативность и сравнительная простота монтажа;
· удобство использования для небольших объектов, не нуждающихся в особенно надежной пропускной системе.
Недостатки:
· неудобство процесса программирования в случае количества дверей от трех и более, и пользователей более пятидесяти;
· отсутствие возможности оперативного воздействия на процесс прохода;
· отсутствие возможности обработки протокола событий и получения выборочных отчетов по заданным критериям;
· отсутствие возможности или большие трудности администрирования системы (например, удаления/замены в памяти системы утерянных/скомпрометированных ключей);
· отсутствие возможности интеграции с охранными системами и видеонаблюдением;
· отсутствие возможности задавать временные интервалы доступа;
· низкая надежность систем к несанкционированному доступу или взлому.
Сетевые (централизованные) СКУД служат для управления большим количеством точек доступа с обменом информацией с центральным пультом, в качестве которого применяется компьютер (сервер), и контролем и управлением системой со стороны оператора.
Это огромный класс СКУД, главная особенность которых в том, что они имеют возможность конфигурирования аппаратуры и управления процессом доступа с компьютерных терминалов. Различные сетевые СКУД имеют свои индивидуальные особенности и различаются по:
· архитектуре,
· возможностям,
· масштабу (предельному количеству считывателей/точек прохода),
· количеству управляющих компьютеров,
· типу применяемых считывателей,
· степени устойчивости к взлому и электромагнитным воздействиям.
Большинство сетевых СКУД сохраняют все достоинства автономных систем, основное из которых - работа без использования управляющего компьютера. Это означает, что при выключении управляющего компьютера система фактически превращается в автономную. Контролеры данных систем, так же как и автономные контроллеры, имеют собственный буфер памяти кодов карт пользователей и событий, происходящих в системе.
Типовой вариант исполнения сетевой версии СКУД включает следующие элементы:
· головной контроллер. Это центральное устройство системы, которое контролирует работу остальных контроллеров;
· второстепенные контроллеры. Данные устройства подключаются к головному контроллеру с помощью интерфейса RS-485. К второстепенным контроллерам подключаются различные периферийные устройства;
· периферийные устройства. Это считыватели, турникеты, автоматические калитки, шлагбаумы, электромеханические замки, т.д. Количество данных устройств зависит от количества дверей, а также пожеланий конкретного заказчика;
· компьютер с установленным программным обеспечением. Система контроля может включать несколько компьютеров. Программное обеспечение может быть серверным, а также клиентским. Компьютер с серверным программным обеспечением подключается к головному контроллеру. Серверное программное обеспечение позволяет просматривать информацию, полученную всеми контроллерами, блокировать/разблокировать двери, открывать/закрывать двери, загружать поэтажные планы, следить за работой контроллеров по этим планам, составлять картотеку сотрудников, т.д. Остальные компьютеры по сети подключаются к компьютеру с серверным программным обеспечением. На них устанавливается клиентское программное обеспечение. Клиентское программное обеспечение не позволяет менять какие-либо настройки системы, а только просматривать информацию о состоянии системы.
Схема устройства сетевой СКУД представлена на рисунке 9.
Рисунок 9 - Схема устройства сетевой СКУД
Включают в себя функции как автономных, так и сетевых систем. Работают в сетевом режиме под управлением центрального устройства и переходят в автономный режим при возникновении отказов в сетевом оборудовании, в центральном устройстве или при обрыве связи.
Широкие технические возможности универсальных систем контроля доступа позволяют рассматривать их как основу для построения интегрированных систем безопасности. Особенно перспективна интеграция СКУД с системами охранно-пожарной сигнализации (ОПС) и системами охранного видеонаблюдения.
Сетевые и универсальные СКУД могут обеспечивать ряд дополнительных возможностей:
· сбор и обработку информации о перемещении лиц по объекту;
· организацию и учет рабочего времени;
· управление освещением, лифтами, вентиляцией и другой инженерной автоматикой на объекте;
· управление режимами работы и автоматикой автостоянок;
· обеспечение охранной и пожарной сигнализации (ОПС);
· управление средствами охранного видеонаблюдения.
Схема устройства универсальной СКУД представлена на рисунке 10.
Рисунок 10 - Схема устройства универсальной СКУД
Необходимо создать СКУД систему для оптимизации работы в школе. Систему СКУД можно сделать в разных видах.
Система контроля и управления доступом (СКУД) — совокупность программно-аппаратных технических средств контроля и средств управления, имеющих целью ограничение и регистрацию входа-выхода объектов на заданной территории через «точки прохода»: двери, ворота, КПП.
Программно-аппаратный комплекс — это набор технических и программных средств, работающих совместно для выполнения одной или нескольких сходных задач.
АСПБ как система дистанционного контроля промышленной безопасности представляющая собой комплекс программно-аппаратных средств и системно-технических решений, позволяет уполномоченным лицам по промышленной безопасности на предприятиях, эксплуатирующих ОПО, получать полную картину состояния производственной безопасности в рамках предусмотренной законодательством Системы управления промышленной безопасностью (СУПБ).
Програ́ммное обеспе́чение — программа или множество программ, используемых для управления компьютером. Имеются и другие определения из международных и российских стандартов: совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ.
Сетево́е обору́дование — устройства, необходимые для работы компьютерной сети, например: маршрутизатор, коммутатор, концентратор, коммутационная панель и др. Можно выделить активное и пассивное сетевое оборудование.
Язы́к программи́рования — формальный язык, предназначенный для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, определяющих внешний вид программы и действия, которые выполнит исполнитель под её управлением.
Сетевые приложения — это программное обеспечение, отвечающее за стабильную работу компьютерной сети организации.
Компьютерная сеть – это точка соединения между компьютером пользователя и частной или общественной сетью; Сетевую карту компьютера; Точку соединения коммутируемой телефонной сети общественного пользования и телефона; Точку соединения двух сетей между собой.
Интерфейс (объектно-ориентированное программирование) — конструкция в коде программы, используемая для описания совокупности возможностей, предоставляемых классом или компонентом.
Видеолекция – вид учебных материалов, представленных как неинтерактивный видеоряд; это снятая на плёнку сокращённая лекция, дополненная схемами, таблицами, фотографиями и видеофрагментами, иллюстрирующими подаваемый в лекции материал.
Экспертная система – компьютерная система, в основе которой лежит база знаний в определенной предметной области.
Электронный словарь – компьютерная база данных, содержащая особым образом закодированные словарные статьи, позволяющие осуществлять быстрый поиск нужных слов, часто с учетом морфологических форм и с возможностью поиска сочетаний слов (примеров употребления), а также с возможностью изменения направления перевода.
Электронный справочник – справочник, построенный на гипертекстовой основе. Информационно-поисковая система – система, предназначенная для поиска документов в информационных массивах, базах данных и всей совокупности
информационных ресурсов.
Электронный лабораторный практикум – учебное издание, позволяющее имитировать процессы, протекающие в изучаемых реальных объектах, или смоделировать эксперимент, не осуществимый в реальных условиях.
Аппаратно-программные комплексы – система аппаратных средств и программного обеспечения, предназначенные для выполнения через сеть виртуальных практических (лабораторных) работ.
Учебная компьютерная игра – учебная игровая программа по дисциплине, ориентированная на развитие умений и навыков.
Развивающая компьютерная игра – игровая программа, ориентированная на развитие способностей, навыков обучающихся.
Исходя, из вышеперечисленных пунктов вариантов разработки СКУД системы для образовательного учреждения МБОУ гимназия №2. Было выбрано создать СКУД систему на базе Arduino с применением различных интерфейсов вывода данных.
· Сетевой интерфейс вывода данных (вывод данных входа непосредственно на сайт)
· Локальный вывод данных – на локальный компьютер который стоит непосредственно у вахтера.
· Отправка сообщений родителям на номера телефонов о том – пришел ребенок или ушёл из школы.
· Оправка классным руководителям информации кто из класса пришёл сегодня на урок. Вывод производится в Telegram бота.
· Аппаратно-техническая часть выполнения работа. Постройка на базе ардуино рабочего модуля.
· Создание и разработка базы данных на MySQL.
· Создание сетевой точки на домашнем компьютере при помощи phpMyAdmin
Данная работа разрабатывается на компьютере. Все данные хранятся на нем. В работе будет предоставлена вся нужная информация – коды, скриншоты и видеоролики работы системы.
1. Изучение предметной области.
1.1. Разработка технического задания на разработку проекта.
1.1.1. Определение функциональных возможностей проекта.
1.1.2. Разработка дизайна электронной и локальной программы.
1.1.3. Разработка структуры работы программ.
1.1.4. Разработка иерархии программ и их связей.
1.1.5. Создание рабочего макета на базе arduino.
1.1.6. Разработка telegram бота и связка его с сисемой.
1.1.7. Разработка базы данных на MySQL.
1.1.8. Разработка локально-программного продукта.
1.1.9. Разработка сетевого вывода информации.
1.1.10. Разработка домашнего сервера для сайта.
1.2. Сбор и сортировка информации.
1.2.1. Сбор информации.
1.2.2. Перевод информации в электронный вид.
1.2.3. Сортировка информации в соответствии с иерархией проекта.
1.3. Согласование представленной информации с заказчиком.
2. Разработка проекта
2.1. Выбор среды разработки пособия.
2.1.1. Поиск и анализ сред разработки.
2.1.2. Обоснование выбора.
2.2. Разработка проекта.
2.2.1. Поиск и анализ сред разработки.
2.2.2. Обоснование выбора.
2.2.3. Дизайн ПО..
2.2.4. Создание программного обеспечения.
2.2.5. Графическое оформление ПО.
2.2.6. Тестирование ПО на основе сделаного рабочего макета.
3. Реализация проекта.
3.1. Согласование разработки с заказчиком.
3.2. Разработка документации по проекту.
3.2.1. Разработка инструкции работника-наладчика по работе со СКУД.
3.2.2. Разработке инструкции оператора по работе со СКУД.
3.2.3. Разработка инструкции по работа с электронным ПО.
3.3. Разработка мероприятий по продвижению проекта.
4. Этап завершения проекта.
4.1. Оформление отчета по проекту.
4.2. Получение рецензии на проект.
4.3. Разработка презентации.
5. Сдача проекта.
![]() |
Графическое отображение плана управления проектом
Таблица 1. Этапы и длительность работ
№ |
Этапы |
Длительность |
1 |
Разработка СКУД системы |
44 |
2 |
Знакомство с рабочей областью |
12 |
3 |
Составление технического задания |
6 |
4 |
Возможности проекта |
2 |
5 |
Содержание проекта |
2 |
6 |
Структура системы |
2 |
7 |
Сбор материалов и рабочих данных |
4 |
8 |
Сбор необходимой информации |
2 |
9 |
Сортировка материала/информации |
2 |
10 |
Разработка ПО |
13 |
11 |
Выбор |
6 |
12 |
Обоснование выбора |
1 |
13 |
Разработка проекта |
5 |
14 |
Размещение материала |
1 |
15 |
Реализация проекта |
9 |
16 |
Разработка документации |
3 |
17 |
расчёт мероприятий по проекту |
4 |
18 |
экономическая эффективность проекта |
1 |
19 |
Продвижение проекта |
1 |
20 |
Этап завершения проекта |
6 |
21 |
Оформление отчёта |
1 |
22 |
Получение рецензии |
2 |
23 |
Разработка презентации |
2 |
24 |
Защита проекта |
1 |
Рисунок 11 – Диаграмма Ганта
Электронное учебное пособие разрабатывалась на компьютере, состоящем из следующих компонентов:
Ноутбук MacBook:
· Процессор – Apple M1
· Оперативна память – 8, 00 ГБ.
· Видеокарта – Apple M1.
· Монитор – Retina экран.
· Клавиатура – MacBook.
· Мышь – Apple Magic Mouse.
Персональный компьютер:
· Процессор – AMD Ryzen 7 2700x
· Оперативна память – 32, 00 ГБ.
· Видеокарта – Invidia Geforge GTX 1060.
· Монитор – Acer 1080x.
· Клавиатура – 4Tech.
· Мышь – A4 X7.
Программные средства:
· MS Windows 11
· MacOS Monterey
· MS Office (Word, PowerPoint, Excel, Visio)
· phpMyAdmin
· Photoshop
· ArduinoIDE (С++)
· Thonny (Python)
· Open Server
· MySQL
· Telegram (bot)
· Eclipse (JavaScript)
· Microsoft Visual Studio (C#)
· Google Chrome
· ChatGPT
ArduinoIDE
Среда разработки Arduino состоит из встроенного текстового редактора программного кода, области сообщений, окна вывода текста(консоли), панели инструментов с кнопками часто используемых команд и нескольких меню. Для загрузки программ и связи среда разработки подключается к аппаратной части Arduino.
Программа, написанная в среде Arduino, называется скетч. Скетч пишется в текстовом редакторе, имеющем инструменты вырезки/вставки, поиска/замены текста. Во время сохранения и экспорта проекта в области сообщений появляются пояснения, также могут отображаться возникшие ошибки. Окно вывода текста(консоль) показывает сообщения Arduino, включающие полные отчеты об ошибках и другую информацию. Кнопки панели инструментов позволяют проверить и записать программу, создать, открыть и сохранить скетч, открыть мониторинг последовательной шины
Средой Arduino используется принцип блокнота: стандартное место для хранения программ (скетчей). Скетчи из блокнота открываются через меню File > Sketchbook или кнопкой Open на панели инструментов. При первом запуске программы Arduino автоматически создается директория для блокнота. Расположение блокнота меняется через диалоговое окно Preferences.
Одними из самых популярных производителей СКУД являются такие компании, как BOLID и PERCo.
СКУД производства компании BOLID
Рассмотрим СКУД компании BOLID на базе интегрированной системы охраны “Орион”.
Система имеет следующие возможности:
· Запрет повторного прохода - используется для того, чтобы одним идентификатором нельзя было воспользоваться повторно для входа в какую- либо зону доступа, предварительно не выйдя из неё;
· Стандартный режим прохода - каждой точки доступа на предприятии, подлежащей контролю, устанавливается контроллер доступа и считывающие устройства. Для того чтобы сотрудники имели возможность прохода через точки доступа, каждому из них выдаётся уникальный идентификатор пользователя;
· Организация учета рабочего времени – сохранение и анализ. Контроль места нахождения сотрудника на объекте с точностью до зоны доступа; Важным достоинством системы является универсальный контроллер C-2000- 2, который можно использовать для обслуживания: турникетов, дверей, шлагбаумов. Модули системы взаимодействуют по сети Ethernet.
![]() |
Рисунок 12 - Контроллер С-2000-2
Цена контроллера на 01.06.2023 составляет 4 576 руб. за штуку. Но расходы резко возрастают из-за необходимости использования ПО данной компании, цена которого начинается от 53 тыс. руб.
СКУД от компании PERCo
СКУД от компании PERCo имеют большой ряд преимуществ: учёт рабочего времени сотрудников, различные способы идентификации посетителей, интеграция с различными сервисами, наличие базового пакета ПО .
Также у компании есть система PERCo-S-20 для общеобразовательных учреждении, которые позволяют с помощью SMS-сообщении уведомлять родителей о времени прихода и ухода ребенка. У данной системы есть интеграция с различными сервисами, например “Электронный дневник”, в котором сохраняются данные о перемещении ребенка.
![]() |
Рисунок 13 - Контроллер CL-15
Контроллер CL-15 со встроенным считывателем предназначен для управления одним замком или контроля доступа через турникет в одном направлении прохода. Для контроля прохода в двух направлениях необходимо оборудовать турникет двумя контроллерами CL15.
Одна из самых популярных СКУД данной компании PERCo-Web, она решает такие задачи как:
• Автоматизация учета рабочего времени;
• Разграничение прав доступа сотрудников и посетителей;
• Контроль нарушений трудовой дисциплины;
• Автоматизация выдачи и сбора гостевых пропусков;
К существенным недостаткам можно отнести высокую стоимость комплексов систем, оборудования и их обслуживание. К примеру, контроллер CL-15 с встроенным считывателем для PERCo-S-20 стоит 438 евро на 01.06.2023.
Полное наименование системы: автоматизированная система контроля и управления доступом (СКУД).
Наименование предприятия: МБОУ гимназия №2.
Объект автоматизации: предприятие и его пропускной пункт.
Перечень основных регламентирующих документов, на основании которых создается система:
· ГОСТ Р 51241-98 «Средства и системы контроля и управления доступом. Классификация. Общие технические требования»;
· Выбор и применение систем контроля и управления доступом. Рекомендации Р 78.36.005-99;
· ГОСТ 26139-84 «Интерфейс для автоматизированных систем управления рассредоточенными объектами. Общие требования»;
· Федеральный закон РФ от 27 июля 2006 года № 152-ФЗ «О персональных данных».
Целью системы является автоматизация контроля прохода сотрудников на предприятии.
· Назначение системы:
· обеспечение пропускного режима;
· учет рабочего времени и контроль трудовой дисциплины.
· Характеристика объекта автоматизации
Трехэтажное здание, имеющее один вход, расположено по адресу: улица Ческа-Липа, 5, Александров, Владимирская область, 601655.
Каждому сотруднику или ученику будет выдан идентификатор (электронный ключ) - пластиковую карточку с содержащимся в ней индивидуальным кодом. «Электронные ключи» выдаются в результате регистрации перечисленных лиц с помощью средств системы. Фото и сведения о владельце «электронного ключа» заносятся в персональную «электронную карточку". Персональная «электронная карточка» владельца и код его «электронного ключа» связываются друг с другом и заносятся в специально организованную компьютерную базу данных.
В подлежащее контролю помещение установят считыватели, считывающие с карточек их код и информацию о правах доступа владельца карты и передающие эту информацию в контроллер системы.
В системе каждому коду поставлена в соответствие информация о
правах владельца карточки. На основе сопоставления этой информации и ситуации,
при которой была предъявлена карточка, система принимает решение: контроллер
открывает или блокирует турникет.
Все факты предъявления карточек и связанные с ними действия (проходы, тревоги и т.д.) будут фиксироваться в контроллере и сохраняться в компьютере. Информация о событиях, вызванных предъявлением карточек, может быть использована в дальнейшем для получения отчетов по учету рабочего времени, нарушениям трудовой дисциплины и др.
Система включает в себя следующие подсистемы:
· подсистема считывания информации;
· подсистема хранения ключей и событий;
· подсистема централизованного управления.
· Подсистема считывания информации должна обеспечивать:
· возможность считывания идентификационного признака с идентификаторов;
· передачу информации на контроллер.
Считыватели должны быть защищены от манипулирования путем перебора и подбора идентификационных признаков.
Конструкция, внешний вид и надписи на идентификаторе и считывателе не должны приводить к раскрытию применяемых кодов.
Производитель идентификаторов должен гарантировать, что код данного идентификатора не повторится, или указать условия повторяемости кода и меры по предотвращению использования идентификаторов с одинаковыми кодами.
Считыватели при взломе и вскрытии, а также в случае обрыва или короткого замыкания подходящих к ним цепей не должны вызывать открывание преграждающего устройства. Протокол связи с контроллерами - Touch Memory.
Подсистема хранения ключей и событий должна обеспечивать:
· прием информации от считывателей, обработку информации и выработку сигналов управления на преграждающее устройство.
· обмен информацией по линии связи между контроллерами и средствами управления;
· сохранность данных в памяти при обрыве линий связи со средствами централизованного управления, отключении питания и при переходе на резервное питание;
· контроль линий связи между контроллерами, средствами централизованного управления.
Виды и параметры протоколов и интерфейсов между контроллерами и средствами централизованного управления должны быть установлены в стандартах и других нормативных документах на контроллер конкретного типа с учетом требований ГОСТ 26139.
Подсистема централизованного управления должна обеспечивать:
· настройку, управление и мониторинг СКУД, контроль персонала;
· построение распределенной иерархической системы;
· ведение баз данных;
· занесение кодов идентификаторов в память системы;
· задание характеристик контролируемых точек;
· установку временных интервалов доступа (окон времени);
· установку уровней доступа для пользователей;
· протоколирование текущих событий;
· редактирование шаблонов отчетов;
Персонал, необходимый для работы с системой должен состоять из двух групп: служба эксплуатации и пользователи.
Служба эксплуатации должна поддерживать корректное функционирование программного обеспечения системы и должна состоять из специалистов, обладающих знаниями в области информационных и сетевых платформ, на которых реализовано программное обеспечение системы, а также опытом администрирования баз данных.
Служба должна обеспечивать функционирование в штатном режиме технических и программных средств Системы.
Функциональные обязанности персонала службы эксплуатации должны предусматривать:
· настройку и диагностирование системы,
· резервное копирование и восстановление данных.
Пользователями системы являются сотрудники отдела кадров и бюро пропусков, допущенные к работе с информацией распоряжением руководителей соответствующих структурных подразделений. В распоряжении указываются полномочия сотрудников по работе с данными системы.
При работе с системой пользователь должен обладать знаниями предметной области, навыками работы с операционной системой Microsoft Windows и офисным программным обеспечением.
Пользователи системы должны пройти обучение работе с ней под руководством разработчика и обладать знаниями функциональности системы, используемой в работе в объеме требовании пользовательской документации.
Система должна удовлетворять следующим требованиям:
· число циклов открывания/закрывания - 2 000 000;
· средняя наработка на отказ - не менее 10000 ч.;
· технический срок службы - не менее 5 лет;
· гарантийный срок эксплуатации - не менее 12 месяцев.
Система должна удовлетворять следующим требованиям:
· устанавливаемое оборудование и сети системы контроля управления доступом должны быть безопасны для лиц, соблюдающих правила их эксплуатации;
· материалы, комплектующие изделия, используемые для изготовления СКУД, должны иметь токсико-гигиенический паспорт, гигиенический паспорт и гигиенический сертификат.
· монтаж и эксплуатация СКУД должны соответствовать требованиям безопасности ГОСТ 12.2.003.
· устанавливаемое оборудование и сети системы контроля управления доступом должны быть безвредны для здоровья лиц, имеющих доступ на территорию объекта;
· устанавливаемое оборудование должно отвечать требованиям по электробезопасности по ГОСТ 12.2.006-87;
· электрическая прочность изоляции устанавливаемого оборудования должна соответствовать ГОСТ 12997-84;
· устанавливаемое оборудование должно отвечать требованиям пожарной безопасности по ГОСТ 12.2.007.0-75;
· допустимые уровни электромагнитных полей на рабочих местах должны отвечать требованиям ГОСТ 12.1.006-84;
· сопротивление заземления должно быть не более 4 Ом;
· применяемое оборудование, его расположение и условия эксплуатации должны отвечать требованиям «Санитарных правил и норм».
Требования к эргономике и технической эстетике
Конструктивное исполнение управляемого преграждающего устройства (УПУ) должно соответствовать антропометрическим и физиологическим возможностям и особенностям человека. УПУ по своим эргономическим характеристикам должны соответствовать требованиям ГОСТ 12.2.049.
Для сохранения здоровья оператору СКУД следует придерживаться следующих правил:
· рабочее место должно быть удобным и обеспечивать нормальное функционирование опорно-двигательного аппарата и кровообращения;
· продолжительность непрерывной работы с ЭВМ не должна быть более 1,5-2 часов; после каждого часа работы следует делать перерыв, как минимум, на 10-15 минут, во время которого необходимо встать и выполнить ряд упражнений для глаз, поясницы, рук и ног;
· при нормальном зрении (тем более при работе в очках) следует располагать глаза от экрана на расстоянии вытянутой руки (не ближе 60-70 см );
· не делать более 10 тысяч нажатий на клавиши в течение часа;
· не допускать бликов на экране монитора;
· не разрешается работать за компьютером беременным женщинам.
В соответствии с руководящим документом Гостехкомиссии при Президенте Российской Федерации «Автоматизированные системы. Защита от несанкционированного доступа (НСД) к информации. Классификация автоматизированных систем и требования по защите информации» данная система относится к группе многопользовательских автоматизированных систем, в которых одновременно обрабатывается и хранится информация разных уровней конфиденциальности. Не все пользователи имеют право доступа ко всей информации АС.
Система должна обеспечивать защиту от НСД на уровне класса 1Д.
Программное обеспечение СКУД должно быть защищено от несанкционированного доступа. Требования по защите программного обеспечения от несанкционированного доступа устанавливают по ГОСТ Р 50739. Программное обеспечение должно быть также защищено от:
· преднамеренных воздействий с целью изменения опций в системе;
· несанкционированного копирования;
· несанкционированного доступа с помощью паролей.
· Рекомендуемые уровни доступа по типу пользователей:
· первый ("администратор") - доступ ко всем функциям;
· второй ("дежурный оператор") - доступ только к функциям текущего контроля;
· третий ("системный оператор") - доступ к функциям конфигурации программного обеспечения без доступа к функциям, обеспечивающим управление УПУ.
Количество знаков в пароле должно быть не менее шести. При вводе пароля в систему вводимые знаки не должны отображаться на средствах отображения информации. После ввода в систему пароли должны быть защищены от просмотра средствами операционных систем ЭВМ.
· К обслуживанию и технической эксплуатации системы контроля и управления доступом должны допускаться только лица, имеющие соответствующую квалификацию, изучившие инструкции по эксплуатации и сдавшие экзамены по технике безопасности.
· Обслуживание системы контроля и управления доступом должно состоять из плановых и регламентных работ, проверки элементов СКУД на работоспособность, анализа и причин выхода из строя; объем, сроки и наименование работ должны быть указаны в проектной документации.
Система должна обеспечивать:
· открывание преграждающего устройства при считывании идентификационного признака, доступ по которому разрешен в данную зону в заданный временной интервал или по команде оператора СКУД;
· запрет открывания преграждающего устройства при считывании идентификационного признака, доступ по которому не разрешен в данную зону доступа в заданный временной интервал;
· пропускную способность 60 чел/мин;
· при нарушении доступа подавать звуковое и световое оповещение;
· изменение (добавление, удаление) идентификационных признаков;
· в случае экстренной ситуации турникет должен быть разблокирован. Функция разблокировки должна обеспечивать свободное открытие преграждающих створок в обоих направлениях;
· возможность управления проходом с помощью пульта управления;
· возможность защиты от передачи карты (Antipassback);
· нормально-закрытый режим работы турникета;
· возможность интеграции с пожарно-охранной системой и системой видеонаблюдения;
· должностная инструкция;
· технико-экономическое обоснование;
· техническое задание;
· технический и рабочий проекты;
· ГОСТ Р 51241-98 «Средства и системы контроля и управления доступом.
· структурная схема СКУД;
· планы кабельных трасс и размещения оборудования СКУД;
· паспорта на установленное оборудование;
· гигиенические сертификаты;
· сертификаты пожарной безопасности;
· руководство по использованию;
· описание применения;
· руководство системного администратора;
Система должна состоять из преграждающего устройства, считывателей, контроллеров и ЭВМ.
Преграждающее устройство должно обеспечивать:
· полное или частичное перекрытие проема прохода;
· полуавтоматическое управление.
В дежурном режиме должно находиться в нормально закрытом состоянии. В закрытом состоянии должны обеспечивать физическое препятствие перемещению людей в (из) здание и открывание запирающего механизма при подаче управляющего сигнала от устройства управления.
Считыватели должны иметь звуковую и световую индикацию, работать с картами стандарта Mifare. Производитель идентификаторов должен гарантировать, что код данного идентификатора не повторится, или указать условия повторяемости кода и меры по предотвращению использования идентификаторов с одинаковыми кодами. Считыватели при взломе и вскрытии, а также в случае обрыва или короткого замыкания подходящих к ним цепей не должны вызывать открывание преграждающего устройства.
Контроллеры должны быть комбинированного типа, иметь встроенную память не менее 2000 ключей и 10000 событий.
Программное обеспечение должно обеспечивать:
· инициализацию идентификаторов (занесение кодов идентификаторов в память системы);
· задание характеристик контролируемых точек;
· установку временных интервалов доступа (окон времени);
· установку уровней доступа для пользователей;
· протоколирование текущих событий;
· ведение баз данных;
· сохранение данных и установок при авариях и сбоях в системе.
· Программное обеспечение должно быть устойчиво к случайным и преднамеренным воздействиям следующего вида:
· отключение управляющего компьютера;
· программный сброс управляющего компьютера;
· аппаратный сброс управляющего компьютера;
· нажатие на клавиатуре случайным образом клавиш;
· -случайный перебор пунктов меню программы.
После указанных воздействий и после перезапуска программы должна сохраняться работоспособность системы и сохранность установленных данных. Указанные воздействия не должны приводить к открыванию устройств заграждения и изменению действующих кодов доступа.
Программное обеспечение должно быть защищено от преднамеренных воздействий с целью изменения установок в системе.
Вид и степень защиты должны быть установлены в паспортах на конкретные виды средств или систем. Сведения, приведенные в технической документации не должны раскрывать секретность защиты.
Отчеты, выдаваемые системой, должны быть представлены в виде документа формата, поддерживаемого Microsoft Office Excel.
Для разработки подсистемы хранения данных должна использоваться СУБД MYSQL.
Требования к лингвистическому обеспечению
Все отчеты, а также информация, хранимая в базе данных, должны использовать кодировку UTF-8 (Юникод), что обеспечит универсальный (платформонезависимый) подход к хранению, передаче и обработке текстовых массивов данных.
Все отчеты, генерируемые системой, должны представляться пользователю на русском языке.
Интерфейс всех модулей программного обеспечения должен быть русским.
Требования к правовому обеспечению
В состав правового обеспечения СКУД входят следующие документы:
· «Закон об информации, информационных технологиях и о защите информации» от 27 июля 2006 г. № 149-ФЗ.
· «Закон о правовой охране для электронных вычислительных машин и баз данных» от 23 сентября 1992 г. № 3523-1.
· «Закон о стандартизации» от 10 июня 1993 г. № 5154-1.
· Федеральный закон РФ от 27 июля 2006 года № 152-ФЗ «О персональных данных».
Требования к эргономическому обеспечению
Для профилактики профессиональных заболеваний при работе с ПЭВМ необходимо руководствоваться следующими рекомендациями:
· персональный компьютер должен быть оборудован исправным, правильно настроенным монитором, отвечающим мировым стандартам. Видеоадаптер монитора должен обладать достаточно высоким разрешением и частотой смены кадра. Мерцание экрана становится визуально незаметным при частотах 75 Гц и выше.
· рабочие места должны быть оборудованы специальной офисной мебелью - компьютерными столами с выдвижными подставками для клавиатур, подъемно-поворотными стульями с подлокотниками. Рабочие столы должны иметь достаточное пространство не только для размещения внешних устройств, но и для папок учетной документации;
· верхняя строчка экрана должна находиться на уровне глаз на расстоянии 50-70 см. При размещении в одной комнате нескольких ПЭВМ расстояние от рабочего места каждого оператора до задних и боковых стенок соседних ПЭВМ должно составлять не менее 1,2 м. Максимальное количество ПЭВМ в помещении должно быть определено из расчета 6 м2 или 20 м2 на одно рабочее место;
· температура воздуха в помещении должна колебаться в пределах 22-25ºC, относительная влажность 40-60%, скорость движения воздуха не должна превышать 0,1 м/с. При отклонении от нормы ПЭВМ способна выйти из строя;
· для уменьшения зрительных нагрузок необходимо правильно выбрать освещенность (не менее 12%), расположить монитор против источника света для исключения бликов на экране. При работе с многоцветными изображениями рекомендуется использовать не более шести цветов;
· правильный режим работы с дисплеем предусматривает не более 4 часов при восьмичасовом рабочем дне. Через каждый час работы необходимы 10-минутные перерывы, в том числе для зарядки.
В соответствии с поставленными задачами и выдвинутыми требованиями, разработана первичная структурная схема системы, представленная на рисунке 12.
Рисунок 12 - Первичная структурная схема
Схема представляет собой совокупность блоков:
· Контроля и управления – будет принимать данные от блока ввода и отправлять их с помощью блока передачи данных для проверки в базе данных; в зависимости от результата проверки значения подавать сигнал блокам индикации и исполнительных устройств;
· Ввода – предназначен для считывания кода карты и управления блоком исполнительных устройств;
· Хранения данных – база данных с записями о посетителях;
· Исполнительных устройств – содержит в себе устройства, которые будут осуществлять пропуск или не допуск посетителя;
· Индикации – визуальный сигнал, сообщающий об удачной или неудачной проверке;
· Передачи данных – необходим для передачи данных от устройства к ПК и обратно с помощью Wi-Fi;
· Вывода и проверки данных – в зависимости от результата проверки будет выводить информацию на экран ПК. Например, это может ФИО и фото найденного посетителя или сообщение о том, что карты с таким ID нет в базе данных.
RFID считыватель и RFID метка
Технология RFID – это технология бесконтактного обмена данными, основанная на использовании радиочастотного электромагнитного излучения. RFID применяется для автоматической идентификации и учета объектов. Типовая RFID-система состоит из 3-х базовых компонентов: RFID- меток, RFID-считывателей и программного обеспечения.
Существуют различные типы считывателей, в данной системе используется портальный RFID-считыватель, который предназначен для регистрации RFID-меток в контролируемых проходах.
RFID-RC522 высоко интегрированный считыватель для бесконтактной коммуникации. Считыватель поддерживает интерфейсы SPI, UART и I2C через которые происходит обмен данными с другими приборами. На плате модуля на выводах микросхемы выбран интерфейс SPI. Основа модуля
– микросхема MFRC522
Рисунок 14 - Считыватель RFID-RC522
Считыватель RFID RC522 срабатывает при поднесении метки. Обмен данными происходит через рамочные антенны, находящиеся в карточке (метке) и в модуле. Сигнал модуля служит источником энергии для метки. Он может обрабатывать информацию одновременно от нескольких меток.
Технические характеристики:
1. Напряжение питания: 3,3 В;
2. Ток потребления в режимах:
a. Дежурный 80 мкА;
b. Ожидания 12 мА;
c. Наибольший 30 мА;
3. Рабочая частота: 13,56 мГц;
4. Расстояние считывания 0-25мм;
5. Скорость передачи информации:
a. 106 кбит/с;
b. 212 кбит/с;
c. 424 кбит/с;
d. 848 кбит/с;
Данному считывателю соответствует RFID-метка в корпусе или в виде ключ-карты.
Рисунок 15 - RFID-метки в корпусах
Брелоки и карты работают на той же частоте, что и считыватели. Внутри них находятся антенна и микросхема Mifare S50, содержащая память, размер которой 1 килобайт, тип EEPROM. Уникальность карточки Mifare обеспечивается присвоением изготовителем номера, который используется в качестве индикатора.
Элементы индикации
Для индикации выбраны следующие элементы:
· Светодиод красный;
· Светодиод зеленый;
Светодиод – полупроводниковый прибор, создающий оптическое излучение при пропускании через него электрического тока в прямом направлении.
![]() |
![]() |
Рисунок 16 - Светодиоды
В разрабатываемой системе используются для сигнала о предоставлении/запрете доступа. Если доступ закрыт загорается красный светодиод, если доступ открыт – зелёный.
Технические характеристики:
1. Красный:
a. Рабочее напряжение: от 1,6 до 2,03 В;
b. Длина волны: 610-760 нм;
c. Прямой ток: 30 мА;
2. Зелёный:
a. Рабочее напряжение: от 2,1 до 2,3 В;
b. Длина волны: 500-570 нм;
c. Прямой ток: 30 мА;
Аппаратная платформа
Из большого выбора плат Arduino стоит выделить две модели, которые могут подойти в качестве устройства управления:
· Arduino Nano
· NodeMCU
Arduino Nano – это платформа, построенная на основе микроконтроллера ATmega328. Arduino Nano имеет стабилизатор питания на
5.0 В, встроенный программатор с разъёмом USB Micro. Диапазон её придельных входных напряжений это 6-20 В, а диапазон рекомендуемого входного напряжения 7-12 В. Она имеет 14 цифровых входов/выходов (6 из которых могут использоваться как ШИМ) и 8 аналоговых входов. Габаритные размеры печатной платы составляют 18.5 х 4.2 мм. Чтобы Arduino Nano начала функционировать, её необходимо запитать одним из двух возможных способов, а именно:
· через USB-кабель при подключении к компьютеру или другому источнику питания 5В при помощи внешнего стабилизированного источника питания, напряжение которого должно лежать в диапазоне 6 – 20В. Данное напряжение подаётся непосредственно на вход VIN платы Arduino Nano.
Рисунок 17. Arduino Nano Технические характеристики:
· Напряжение питания 5В;
· Входное питание 7-12В (рекомендованное);
· Количество цифровых пинов – 14, из них 6 могут использоваться в качестве выходов ШИМ;
· 8 аналоговых входов;
· Максимальный ток цифрового выхода 40 мА;
· Флэш- память 32 Кб;
· ОЗУ 2 Кб;
· EEPROM 1 Кб;
· Частота 16 МГц;
· Размеры 18.5 см x 4.2 см
NodeMCU - это платформа на основе модуля ESP8266. Плата практически имеет схожие характеристики как у Arduino
Nano, но функционал этой платформы шире благодаря
встроенному Wi-Fi модулю. Wi-Fi модуль можно использовать для
управления различными схемами на расстоянии посредством передачи сигнала в локальную сеть или интернет.
Рисунок 18 - Аппаратная платформа NodeMCU
На лицевой части платы расположен разъем Micro USB, с помощью которого в контроллер записывают программу. Также через этот разъем можно подавать питание. Рядом с разъемом располагаются две кнопки: Flash и Reset. Кнопка Flash используется для отладки, кнопка Reset для перезагрузки платы.
Технические характеристики модуля:
· Поддерживает Wi-Fi протокол 802.11 b/g/n;
· Поддерживаемые режимы Wi-Fi – точка доступа, клиент;
· Входное напряжение 3,7В – 20 В;
· Рабочее напряжение 3В - 3,6В;
· Максимальный ток 220мА;
· Встроенный стек TCP/IP;
· Диапазон рабочих температур от -40С до 125С;
· Частота 80 МГц, 32-битный процессор;
· Время пробуждения и отправки пакетов 22мс;
· Встроенные TR переключатель и PLL;
· Наличие усилителей мощности, регуляторов, систем управления питанием.
В качестве управляющего устройства были рассмотрены именно платы Arduino Nano и NodeMCU, так как данные платы имеют компактные размерыи удовлетворяют требуемому функционалу. Каждая из плат имеет достаточное количество выводов для подключения модулей. В итоге была выбрана плата NodeMCU, так как с помощью встроенного модуля Wi-Fi можно передавать и принимать данные по сети. В качестве основного способа передачи данных и будет выбран модуль Wi-Fi.
Питание устройства
Для питания устройства с условием его автономности необходимо добавить аккумуляторную батарею.
Для этого было решено использовать Li- ion аккумулятор Samsung ICR18650-22E.
Рисунок 19 - Аккумулятор Samsung ICR18650-22E Технические характеристики:
· Минимальная ёмкость - 2200 mAh;
· Максимальное напряжение - В 4,2;
· Минимальное напряжение - В 2,75;
· Номинальное напряжение - 3.6 В;
Для заряда аккумулятора был выбран модуль HW-357, который является улучшенной версией модуля TP4065. Модуль имеет защиту аккумулятора от перезаряда, перегрузки и короткого замыкания,
обеспечивает полноценную зарядку Li-ion аккумуляторных батарей с возможностью подсоединения нагрузки и с защитой от сгорания и автоматически завершает цикл зарядки при достижении напряжения на нем 4.2 В и снижении тока заряда до 1/10 от запрограммированной величины. Преимущество HW-357 над TP4065 в том, что в плату встроен DC-DC преобразователь, на выходе которого можно получить от 4.3В до 27В.
Рисунок 20 - Модуль TP4065
![]() |
Рисунок 21 - Модуль HW-357
Технические характеристики HW-357:
· Режим зарядки: линейная 1%;
· Ток зарядки: до 1А (настраивается);
· Точность зарядки: 1.5%;
· Входное напряжение: 4.5 - 5.5В;
· Напряжение полного заряда: 4.2В;
· Индикаторы: красный — зарядка, зеленый — заряд окончен;
· Входной разъем: mini USB или контакты для подпайки проводов;
· Диапазон температур: -10 до +85 град.С;
· Защита от переполюсовки: нет;
· Защита от перезаряда: 4.30 ± 0.050 В;
· Защита от переразряда: 2.40 ± 0.100 В;
· Вес: 5 г;
· Размеры платы: 25 × 17 × 4 mm.
Управление исполнительным устройством Рассмотрим два типа реле:
· Твердотельное
· Электромагнитное
Твердотельное реле Omron G3MB-202P.
![]() |
Рисунок 22 - Модуль реле Omron G3MB-202P
Основной задачей твердотельных реле является – включение цепи управления токами большой нагрузочной величины с помощью симисторов, транзисторов и тиристоров. Принцип работы твердотельных реле:
управляющий сигнал подается на светодиод, который при этом передает сигнал далее на фотодиодную матрицу, при этом обеспечивается гальваническая развязка коммутируемых и управляющих цепей. Напряжение, которое при этом создается, управляется силовым ключом. Модуль предназначен для замыкания выходной цепи переменного тока (с номинальным напряжением до 240 В), при подаче управляющего сигнала 5 В постоянного тока на вход модуля. Средняя цена модуля 160 руб [11].
Достоинства твердотельного реле:
· Отсутствие электромагнитных помех при включении цепи;
· Высокий уровень быстродействия;
· Контакты не шумят и не дребезжат;
· Гарантированность срабатываний на протяжении большого промежутка времени;
· Входные и коммутируемые цепи надежно заизолированы друг от друга;
Технические характеристики модуля Omron G3MB-202P:
· Напряжение срабатывания на входе (S): > 4 В (номинально 5 В);
· Максимальное напряжение на входе (S): < 6 В;
· Максимальный ток, на входе модуля: < 12 мА, при Vcc = 5 В;
· Номинальное напряжение нагрузки (AC): 120 ... 240 В, переменного тока 50/60 Гц;
В качестве аналога Omron G3MB-202P рассмотрим электромагнитный релейный модуль SONGLE SRD-05VDC.
Рисунок 23 - Модуль реле SONGLE SRD-05VDC
Напряжение питания модуля 5В. Управляющий сигнал подается от микроконтроллера. Для переключения контактов реле достаточно подать 3 – 5В, так как управление производится через встроенный ключ. Реле срабатывает при подаче на вход модуля логической единицы. Модуль имеет один нормально замкнутый и один нормально разомкнутый контакт реле. Модуль обеспечивает коммутацию переменного тока с напряжением 220В и постоянного тока до 30В. На плате модуля расположен светодиодный индикатор, сигнализирующий включение реле. Модуль имеет разъем с тремя выводами, два из которых для подачи напряжения питания 5В и один логический пин, который подключается непосредственно к микроконтроллеру. Электромагнитное реле не имеет таких же достоинств как твердотельное, но у электромагнитного реле меньше выделение тепла в рабочем режиме. Средняя цена модуля 70 руб.
Технические характеристики SONGLE SRD-05VDC:
· Номинальное рабочее напряжение катушки: 5В;
· Номинальный рабочий ток катушки: 71 мА;
· Сопротивление катушки: 70 Ом;
· Потребляемая мощность: 0,36 Вт;
· Максимальный коммутируемый ток: 10А
· Максимальное коммутируемое напряжение (постоянное): 28 В;
· Максимальное коммутируемое напряжение (переменное): 250 В
· Рабочая температура: -25°C до +70°C;
Оба модуля предоставляют необходимый для разрабатываемого устройства функционал и подходят по характеристикам. Выбрал электромагнитное реле, так как оно имеет меньшую цену.
После сравнения и выбора компонентов для управляющего устройства была составлена полная структурная схема устройства
Рисунок 24 - Полная структурная схема
Устройство на базе платформы NodeMCU состоит из следующих блоков:
· Считыватель RFID-RC522
· Светодиоды
· Аппаратная платформа NodeMCU
· Аккумулятор Samsung ICR18650-26F
· Модуль заряда HP-357
· Модуль реле SONGLE SRD-05VDC
Аппаратная плата NodeMCU
![]() |
Рисунок 25 - Распиновка аппаратной платы NodeMCU
Вывод Vin предназначен для подключения внешнего источника питания 5V. Стабилизатор AMS1117-3.3 позволяет подавать питание на Vin в широком диапазоне от 5 до 10 V. Выходное напряжение стабилизатора от 3.23 до 3.36 В.
Рисунок 26 - Стабилизатор напряжения AMS1117-3.3
3.3V - контакт выходного напряжения внутрисхемного стабилизатора. Может быть использован для питания подключаемых к плате датчиков. Суммарная максимальная нагрузка всех выводов 3.3V не должна превышать 300мА. Выводы GPIO - контакты общего назначения для ввода/вывода данных. Могут быть сконфигурированы как входы или выходы и назначены в программе на выполнение различных функции. Вывод RST используется для сброса микроконтроллера. Вывод EN - при подаче на вывод сигнала высокого уровня, микроконтроллер ESP8266 переходит в рабочий режим, при сигнале низкого уровня - в режим энергосбережения. Вывод WAKE используется для пробуждения чипа ESP8266 из режима глубокого сна.
ADC0/TOUT - вывод встроенного 10-разрядного аналого-цифрового преобразователя (АЦП). Преобразованные значения лежат в интервале 0- 1023. Плата разработки NodeMCU V2 имеет внутренний делитель напряжения, входной диапазон АЦП составляет 0 - 3,3 В. UART - асинхронный последовательный интерфейс устанавливает связь с другими устройствами по шине UART. SPI - последовательный периферийный интерфейс. NodeMCU имеет два SPI (SPI и HSPI) в ведущем и подчиненном режимах. SDIO - интерфейс безопасных цифровых входов/выходов, предназначен для коммутации с внешней флэш-памятью стандарта SD по последовательной шине. Reserved - зарезервированные
выводы. Кнопка Flash на NodeMCU подключает к земле GPIO0. Ее можно использовать как обычную кнопку. Если программно подтянуть вывод GPIO0 с помощью внутреннего подтягивающего резистора к высокому уровню, то появление низкого уровня на этом выводе будет означать, что кнопка нажата. Интерфейс I2C - последовательная асимметричная шина. I2C используется для подключения датчиков и периферийных устройств. NodeMCU не имеет аппаратных выводов I2C, но интерфейс можно реализовать программно [13].
Некоторые пины NodeMCU поддерживают программный ШИМ. ШИМ – широко импульсная модуляция, используется для получения аналогового сигнала с цифрового выхода микроконтроллера. NodeMCU имеет 4 ШИМ вывода – D2, D5, D6, D8.
![]() |
Рисунок 25 - Распиновка считывателя RC522
Питание для считывателя подается на пин VCC. Напряжение питания находится в диапазоне от 2,5 до 3,3 В. VСС следует подключить к пину 3v3, который находится на плате NodeMCU. Пин RST предназначен для сброса и отключения питания. При поступлении сигнала LOW (логический ноль), происходит перезагрузка считывателя. Пин RST нужно подключить к пину D3 платы NodeMCU.
Пин GND – вывод земли, подключается к выводу GND на NodeMCU.
IRQ – вывод прерывания, предназначенный для пробуждения устройства,
когда поблизости оказывается RFID метка. Вывод MISO/SCL/TX – служит для коммуникации по протоколу SPI, I2C или UART. Вывод действует либо как MISO (Master In Slave Out) при включенном интерфейсе SPI, либо как последовательный тактовый сигнал при включенном интерфейсе I2C, либо как выход последовательных данных при работающем интерфейсе UART. MOSI (Master Out Slave In) - вход SPI для считывателя RC522. MOSI - служит для передачи данных от ведущего устройства ведомому, подключается к выводу D7 платы NodeMCU; а MISO - служит для передачи данных от ведомого устройства ведущему и подключается к пину D6.
Пин SCK принимает тактовые импульсы, предоставляемые мастером на шине SPI. Служит для синхронизации. Подключается к выводу платы D5. Вывод SS/SDA/Rx действует либо как вход, когда включен интерфейс SPI, либо как линия последовательных данных, когда включен интерфейс I2C, либо как вход последовательных данных, когда включен интерфейс UART. Этот вывод обычно помечается заключением в квадрат, чтобы его можно было использовать в качестве опорной точки для идентификации других выводов. Вывод SDA подключается к выводу платы D1.
Модуль зарядки и аккумулятор
Подключение к зарядке через стандартный разъём microUSB (или miniUSB) или через дублирующие контакты «+» и «-». Аккумулятор (без встроенной защиты разряда) подключается к контактам «B+» и «B-». Нагрузка подключается к контактам «OUT+» и «OUT-» (при зарядке батареи нагрузку желательно отключать, если она не рассчитана на напряжение 4.2 В).
Светодиоды
При подключении светодиодов необходимо соблюдать полярность. Короткая ножка светодиода является катодом, длинная анодом. Также у светодиода ограничение по протекающему току, следовательно нужно
подобрать резисторы для каждого типа светодиодов. Сопротивление резистора можно высчитать по формуле:
R = (VS - VL) / I
Рассчитаем напряжение для красного и зеленого светодиода. Возьмем рабочее напряжение красного светодиода 1.6В и зеленого светодиода 2.1В. Потребляемый ток светодиодов равен 30мА. Выходное напряжение платы NodeMCU равно 3.3В.
Расчет сопротивления для красного светодиода:
R (3.3 – 1.6)/56.6 ОМ
Расчет сопротивления для зеленого светодиода:
R (3.3 – 2.1)/40 ОМ
Электромагнитное реле
Для управления исполнительным устройством использовано реле. Питание модуля составляет 5В, управляющий сигнал подается с микроконтроллера. Вывод IN предназначен для управления замыканием и размыканием цепи; VCC для питания модуля; GND для заземления. Вывод IN соединяем с выводом D2. Для питания используется блок питания на 5В.
Проанализировав все выбранные компоненты устройства и способы их подключения между собой, была составлена электрическая принципиальная схема устройства.
Рисунок 28 - Электрическая принципиальная схема устройства
Рисунок 29 - Спецификация
Для написания программной части было принято решение использовать интегрированную среду разработки Arduino IDE.
Рисунок 30 - Интерфейс Arduino IDE.
Данная программа является бесплатной и кроссплатформенной. Разработка ПО велась на языке C++, который является стандартным для микроконтроллеров Arduino.
Для микроконтроллера требуется написать программу, которая будет реагировать на поднесенную к модулю RFID карту, содержащую уникальный 12-значный код. Отправлять полученный код на ПК микроконтроллер будет
с помощью модуля WIFI, который будет подключен к роутеру. Связь между микроконтроллером и ПК будет установлена с
помощью WinSock. Для этого необходимо
будет написать отдельную программу для ПК. После того, как будет проведена проверка кода карты
микроконтроллер получит ответ от ПК, от
которого будет зависеть можно ли замыкать реле или нет. Также будет загораться красный или зеленый светодиод и
подаваться звуковой сигнал в зависимости от результата идентификации. После проверки также будет выведена
соответствующая информация на экране ПК. Это
будет фото и короткая
информация о посетителе или предупреждающее сообщение, что данного
человека нет в базе данных.
Рисунок 31 - Блок схема алгоритма
Рисунок 32 - Продолжение блок схемы алгоритма
Чтобы написать программу, необходимо будет подключить библиотеки для упрощения написания кода. Библиотеки, используемые в программе: #include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
Данные заголовочные файлы содержат все необходимые функции, которые содержат в себе библиотеки для работы сетевого модуля WIFI.
Для соединения RFID модуля и Arduino подключим следующую библиотеку: #include <RFID.h>
За создание экземпляра отвечает следующая функция из библиотеки,
где аргументами являются пины, к которым подключен модуль:
RFID rfid(SS_PIN, RST_PIN)
Инициализация модуля RFID происходит при помощи функции rfid.init().
Для передачи данных между модулем RFID и Arduino используем библиотеку:
#include <SPI.h>
SPI – последовательный протокол синхронной передачи данных, используемый микроконтроллерами для связи с периферийными устройствами на коротких расстояниях. При использовании SPI всегда есть одно ведущее устройство, которое управляет периферийными устройствами [17]. Инициализация SPI происходит при помощи функции SPI.begin().
После того, как подключили все необходимые библиотеки, можно приступать к написанию программы. Написание программы было разбито на части для удобства.
Для начала напишем код, который будет отвечать за соединение сетевого модуля WIFI непосредственно к роутеру. Чтобы подключить сетевой модуль к роутеру, зададим имя и пароль от точки доступа WIFI в программе и используем функции подключения:
const char* ssid = "name"
const char* password = "password" WiFiMulti.addAP(ssid, password) WiFiMulti.run()
После того, как установилось соединение, микроконтроллер должен ждать поднесения карты к RFID модулю и считать данные с карточки. Для этого используем функции rfid.isCard() и rfid.readCardSerial().
Соединение с ПК и отправка ID карты осуществляется при помощи:
1. client.connect(host, port) – где host является адрес ПК, на котором будет запущена программа с базой данных, а port – порт, на котором эта программа запущена.
2. client.println(rfid) – где rfid является строковой переменной, содержащая ID карты.
Для управления блоками индикации и исполнительных устройств, зададим режим работы с помощью функции pinMode, которая принимает два аргумента: номер пина, к которому подключено устройство и режим работы. Для всех блоков зададим режим работы OUTPUT. В ходе программы можно управлять блоками функцией digitalWrite, принимающей номер пина и тип управляющего сигнала (логическая единица и логический ноль). Например, чтобы включить светодиод, который подключен к 1 пину, нужно написать digitalWrite(1, HIGH); чтобы выключить digitalWrite(1, LOW). Готовая программа находится в Приложении А.
Для того чтобы обработать запрос с микроконтроллера, проверить ID карты в базе данных и отправить результат обратно – нужно написать программу для ПК на С++, при помощи WinAPI и WinSock. Было принято решение писать программу в Microsoft Visual Studio, так как в нем есть весь необходимый функционал и интерфейс относительно прост для освоения. Для написания программы было необходимо отдельно подключить в настройках проекта файлы библиотек для базы данных и выбрать многобайтовую кодировку проекта.
Рисунок 33 - Интерфейс Microsoft Visual Studio.
Для хранения информации базу данных MySQL, потому что уже был опыт в её использовании. MySQL поддерживает SQL (структурированный язык запросов) и может применяться в качестве SQL-сервера. Это означает, что общаться с сервером можно на языке SQL: клиент посылает серверу запрос, тот его обрабатывает и отдает клиенту только те данные, которые были получены в результате этого запроса. Она имеет достаточно понятный интерфейс и практически не возникает трудностей в использовании у неопытных пользователей. Объем хранимой информации ограничивается только памятью компьютера. Информация была разбита на две таблицы, так как эта база данных является реляционной, то можно настроить связи между таблицами и создавать сложные запросы для получения данных.
Рисунок 34 - Таблица с посетителями
![]() |
Рисунок 35 - Таблица с группами
WinAPI – набор функции, работающих под управлением OC Windows. При помощи WinAPI можно создавать оконные процедуры, диалоговые окна, программы и т.д. Этот набор функции используем для создания оконной процедуры для вывода информации о посетителе на экран.
Windows-приложения являются программами, управляемые событиями. Мы не можем заранее знать последовательность вызовов функции, так как она определяется в ходе выполнения кода. Последовательность действии зависит от потока событии в системе. Наступление события обозначается поступлением сообщения. Сообщение – информация о том, какое событие должно быть выполнено. Многие сообщения в Windows начинаются с WM_ (Windows Message). Например, сообщение WM_CREATE посылается при создании окна программы и можно задать выполнение какого-либо кода для этого события. WM_RBUTTONUP, WM_LBUTTONUP – сообщения о нажатии правой и левой кнопки мыши.
Написание программы начинается с подключения библиотек:
· #include <windows.h> - эта библиотека содержит все функции, которые нужны для написания оконного приложения.
· #include <winsock.h> - с помощью этой библиотеки сможем получать запросы с микроконтроллера и отправлять ответ обратно.
· #include <iostream> - библиотека с классами, функциями и переменными для организации ввода-вывода в языке программирования C++.
· #include <tchar.h> - для возможности использования символьного типа TCHAR.
· #include <mysql.h> - библиотека базы данных MySQL.
Основная функция программы - int WINAPI WinMain(). Она принимает 4 аргумента:
· HINSTANCE hInstance – дескриптор экземпляра окна.
· HINSTANCE hPrevInstance - всегда является нулём.
· LPSTR lpCmdLine - нужен для запуска окна в режиме командной строки.
· int nCmdShow - режим отображения окна. Например, с помощью него мы можем развернуть окно на весь экран, сделать его определённой высоты, прозрачным или поверх остальных.
Связь между микроконтроллером и ПК будет осуществляться при помощи WinSock. WinSock представляет интерфейс программирования приложении, предназначенный для реализации программ в сети на основе протоколов TCP/IP. Для запуска сервера используем функцию Start() и для остановки функцию Stop(), которые принимают дескриптор окна приложения. На подключение клиента срабатывает событие WM_SERVER_ACCEPT, в котором зададим функцию OnServerAccept. Данная функция будет обрабатывать запрос от клиента и вызывать последующие функции для проверки полученного ID карты в базе данных MySQL. Проверять ID будет функция checkValueInDataBase, которая инициализирует соединение с базой данных, отправляет запрос с полученным ID и получает ответ в виде строки. Делаем проверку – если получили пустую строку, то выводим предупреждающее сообщение и отправляем микроконтроллеру значение false; если строка не пустая, то выводим ФИО посетителя и его фото и отправляем микроконтроллеру true. Готовая программа находится в Приложении Б.
Рисунок 36. Локальная программа написанная на C#.
Простая программа вывода информации о приходе и уходе человек через считыватель RFID меток в учебное заведение.
В программе можно посмотреть кто пришёл, фотографию пришедшего. Историю
входа. Вся эта информация будет выводится на главном экране программы.
Если мы зайдём во вкладку «База» то можем посмотреть базу данных которая
находится у нас на компьютере – она интегрированная с MySQL.
Так же у нас есть учет времени действия карты – время прихода и время ухода
человека из организации.
В программе так же выводится направление – куда именно прошёл человек – на вход или на выход.
Можем посмотреть в графическом исполнении всю базу данных – которая у нас имеется на данный момент.
Рисунок 37. Сетевое приложение для вывода данных прихода – ухода.
Перейдя на данный сайт с
любого устройства – директор школы может посмотреть подробную информацию кто
пришёл – кто ушёл с работы.
Так же системный администратор может удаленно управлять базой данных. Если
возникли какие-то проблемы или нужно срочно добавить нового сотрудника.
Рисунок 38. Вкладка Сотрудники сетевого приложения.
В данной вкладке мы можем посмотреть базу данных на MySql которая также интегрированная сюда. Редактировать записи и удалять их из базы данных. Все данные у нас представлены в красивой табличке. Работа таблдицы выполнятеся с помощью внопок в правом меню. «Редактировать» и «Удалить».
Рисунок 39. Вкладка Регистрация сетевого приложения.
В данной вкладке мы можем регистрировать пользователей в базе данных под своим уникальный ID номером карты. Тут у нас есть поля :
· ID – сюда мы вписываем или прикладывая карту автоматически заполняем это поле.
· ФИО – вписываем ФИО ученика или сотрудника.
· Пол – выбираем пол мужской или женский .
· Email – адрес для сотрудников - для связки с telegram.
· Телефон – телефон родителей ребенка - для отправки СМС сообщений о приходе и уходе ребенка .
Рисунок 40. Таблица MySQL атбрибуты базы данных.
В данной таблице мы видим все поля базы данных которые мы использовали в данном проекте . Тут мы видим поле имя, тип, сравнение, атрибуты поля и тд…
Рисунок 41. Таблица MySQL заполненная данными.
В данной таблице мы видим уже готовые поля таблицы базы данных:
• ФИО
• ID карты
• Пол
• Email адрес
• Номер телефона
Рисунок 42. Таблица MySQL регистрация пользователя.
В данной таблице представлены атрибуты которые используются в поле «Регистрация» на главном экране сетевой программы.
Рисунок 43. Telegram Bot. Вывод отчета для учителя.
В данном боте будет выводиться вся информация по приходу уходу учеников из своего класса. Тут мы видим кнопки «Отчет за сегодня» : Она выводит кто пришёл сегодня в школу из учеников.
Рисунок 44. Telegram Bot. Вывод ведомости за месяц.
Тут мы видим работу кнопки «Отчет за месяц» Она выводит всю информацию по приходам за месяц.
Рисунок 45. Telegram Bot. Работа кнопки «Список класса»
При нажатии на данную кнопку учителю выпадает полный список своих учеников из класса.
Программный код подключения Arduinio к Telegram боту
#include <ESP8266WiFi.h>
#include <UniversalTelegramBot.h>
#include <WiFiClientSecure.h>
// Wi-Fi параметры
const char* ssid = "Ваш_сетевой_имя";
const char* password = "Ваш_пароль";
// Telegram параметры
const char* telegramToken = "Ваш_токен";
UniversalTelegramBot bot(telegramToken, WiFiClientSecure());
// Пин, к которому подключено устройство на Arduino
const int ledPin = 13;
// Обработчик входящего сообщения от Telegram
void handleNewMessages(int numNewMessages) {
Serial.println("Обработка новых сообщений...");
for (int i = 0; i < numNewMessages; i++) {
String chatId = String(bot.messages[i].chat_id);
String text = bot.messages[i].text;
Serial.println("Новое сообщение от " + chatId + ": " + text);
if (text == "/on") {
digitalWrite(ledPin, HIGH); // Включить устройство
bot.sendMessage(chatId, "Устройство включено!");
} else if (text == "/off") {
digitalWrite(ledPin, LOW); // Выключить устройство
bot.sendMessage(chatId, "Устройство выключено!");
}
}
}
void setup() {
Serial.begin(115200);
// Подключение к Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Подключение к Wi-Fi...");
}
Serial.println("Wi-Fi подключено!");
// Инициализация пина устройства на Arduino
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW);
// Начало связи с Telegram
bot.enableHTTPS(true);
int botResponse = bot.getUpdates(bot.last_message_received + 1);
// Проверка успешности связи с Telegram
if (botResponse) {
Serial.println("Связь с Telegram установлена!");
} else {
Serial.println("Не удалось установить связь с Telegram!");
}
}
void loop() {
// Обработка входящих сообщений от Telegram
int numNewMessages = bot.getUpdates(bot.last_message_received + 1);
while (numNewMessages) {
handleNewMessages(numNewMessages);
numNewMessages = bot.getUpdates(bot.last_message_received + 1);
}
delay(1000);
}
В этом примере Arduino подключается к Wi-Fi с использованием модуля ESP8266 и поддерживает связь с Telegram через библиотеку UniversalTelegramBot. Устройство, подключенное к пину 13 на Arduino, может быть включено или выключено с помощью команд /on и /off из телеграм-бота. Сообщения от Telegram обрабатываются в функции handleNewMessages.
Пожалуйста, убедитесь, что у вас установлены все необходимые библиотеки и что вы заполнили параметры Wi-Fi (ssid и password) и Telegram (telegramToken) соответствующими значениями перед компиляцией и загрузкой кода на Arduino.
Обратите внимание, что
этот код является базовым примером и не включает полную обработку ошибок или
обработку других команд или функциональности. В зависимости от ваших
требований, вам может потребоваться внести дополнительные изменения в код.
Связь telegram-бота с базой данных MySQL
import mysql.connector
# Подключение к базе данных MySQL
db = mysql.connector.connect(
name ="name",
id ="your_id",
gender ="your_gender",
email="your_email",
mobile=”your_mobile”
)
# Функция для сохранения данных пользователя в базу данных
def save_user_data(chat_id, username, first_name, last_name):
cursor = db.cursor()
query = "INSERT INTO user_data (chat_id, username, first_name, last_name) VALUES (%s, %s, %s, %s)"
values = (chat_id, username, first_name, last_name)
cursor.execute(query, values)
db.commit()
# Обработчик входящих сообщений от Telegram
def handle_message(update, context):
message = update.message
chat_id = message.chat_id
username = message.from_user.username
first_name = message.from_user.first_name
last_name = message.from_user.last_name
# Сохранение данных пользователя в базе данных
save_user_data(chat_id, username, first_name, last_name)
В этом примере кода функция get_data_from_db выполняет запрос к базе данных MySQL и извлекает информацию из таблицы your_table. Функция handle_data_command вызывается при получении команды /data от пользователя и извлекает информацию из базы данных с помощью функции get_data_from_db, форматирует ее и отправляет обратно в телеграм.
Обратите внимание, что вам нужно будет заменить значения host, user, password и database на свои реальные значения, чтобы установить соединение с вашей базой данных MySQL. Также убедитесь, что у вас есть таблица your_table, содержащая необходимую информацию.
Не забудьте импортировать необходимые модули и настроить токен вашего телеграм-бота (YOUR_BOT_TOKEN).
Убедитесь, что у вас установлены все необходимые зависимости и правильно настроена база данных MySQL перед использованием этого кода.
Рисунок 46. Система СМС оповещения прихода ребенка в школу.
Возможны два сценария отправки SMS-уведомлений:
· по факту прихода ученика в школу – SMS-уведомление о приходе отправляется после прохода ученика по карте-пропуску.
· по факту не прихода – SMS-уведомление об отсутствии ученика в школе отправляется спустя некоторое время после положенного по расписанию времени прихода, например, спустя 15 минут после начала занятий.
Программный код подключения Arduinio к СМС оповещению
#include <GSM.h>
// Параметры GSM-модуля
#define GSM_PIN ""
#define SMS_NUMBER "Anambers" // Переменная отвечающая за номер сообщения
GSM gsmAccess;
GSM_SMS sms;
void setup() {
Serial.begin(9600);
while (!Serial) {
// Ожидание завершения инициализации Serial
}
Serial.println("Initializing GSM module...");
if (gsmAccess.begin(GSM_PIN) == GSM_READY) {
Serial.println("GSM module initialized successfully");
sendSMS();
} else {
Serial.println("GSM module initialization failed");
}
}
void loop() {
// Ваш код здесь...
}
void sendSMS() {
Serial.print("Sending SMS to ");
Serial.println(SMS_NUMBER);
sms.beginSMS(SMS_NUMBER);
sms.print("Hello, this is a test message from Arduino!");
sms.endSMS();
Serial.println("SMS sent successfully");
}
В этом примере кода используется библиотека GSM, которая позволяет вам взаимодействовать с GSM-модулем через Serial-порт. Вы должны установить правильный пин-код GSM-модуля в GSM_PIN и заменить SMS_NUMBER на номер телефона, на который хотите отправить SMS.
Для того чтобы устройство полноценно функционировало нужно подобрать недостающие элементы, обеспечивающие питание микроконтроллера и зарядку аккумулятора для него. Для зарядки аккумулятора требуется блок питания с выходным напряжением 5В и выходным током 1А.
Выбор пал на блок питания Robiton TinyCharger. Этот блок питания удовлетворяет поставленным требованиям, а также имеет защиту от перегрузок и короткого замыкания.
Технические характеристики:
· Вход: 100-240В ~ 50/60Гц, 120мА
· Выходное напряжение: 5В
· Выходной ток: 1000 мА (макс)
![]() |
Рисунок 47 - Блок питания TinyCharger.
Проанализировав размеры всех используемых модулей, возможное расположение выводов и проводов был разработан прототип корпуса
Рисунок 48 - Корпус устройства
Рисунок 49 – 3D модель корпуса устройства
Для более полного понимания работы устройства рассмотрим временную диаграмму работы RFID считывателя. Передача данных от RFID модуля к микроконтроллеру происходит с помощью интерфейса SPI.
![]() |
Рисунок 50 - Временная диаграмма обмена данными SPI
SCK это тактовый сигнал, который нужен для синхронизации между двумя устройствами, например как быстро нужно передавать и принимать данные. Скорость передачи данных известна как бод. Без SCK устройства не могли бы получать данные друг от друга.
MOSI отвечает за передачу данных от мастера к ведомому, MISO за передачу информации от ведомого к мастеру. На временной диаграмме видно, как ведущее устройство отправляет символ “S” ведомому устройству и в ответ получает символ “F”.
SS используется для уведомления определенного ведомого устройства о том, что мастер сейчас отправит данные. После того, как мастер инициализирует связь между устройствами, он будет держать низкий сигнал на SS до тех пор, пока не прекратиться передача данных. При низком сигнале на SS мастер начнет переключать тактовый вывод SCK и управлять MOSI для предоставления информации ведомому. Цифры на диаграмме обозначают каждый бит передаваемого байта.
На данном этапе был создан прототип устройства на основе подобранным ранее модулям и написанного ПО, также проверена работоспособность устройства.
Рисунок 51 - Прототип устройства.
Рисунок 52 - Результат выполнения программ при поднесении карты с записанным в базе данных ID.
![]() |
Рисунок 53 - Результат выполнения программ при поднесении карты с незаписанным в базе данных ID.
После введения адаптивной СКУД системы на проходной школы. Родителя смогут узнать когда их ребенок пришёл и ушёл со школы. Так же классный руководитель всегда будет в курсе когда в какой день кто пришёл на учебу удалённо.
Рисунок 53 – СМС оповещение
Рисунок 54 – Telegram BOT
Все затраты на разработку электронного учебного ресурса можно разделить на следующие группы:
Единовременные затраты на организацию и подготовку к разработке ЭОР:
· приобретение технических средств;
· приобретение программных средств.
В связи с тем, что разработка электронного учебного пособия осуществляется на базе колледжа, то необходимость в приобретении технических и программных средств отсутствует.
Текущие затраты на разработку ЭОР:
· использование технических средств (амортизация);
· использование программных средств(амортизация);
· эксплуатация технических средств (электроэнергия, ремонт и пр.);
· заработная плата разработчиков ЭОР (основная и дополнительная);
· отчисления на социальное страхование от з/п разработчиков ЭОР;
· накладные затраты
Текущие затраты на разработку ЭОР формируют его себестоимость.
Таблица 2. Список компонентов и цены
Обозначение |
Кол-во |
Тип |
Свойства |
Стоимость |
LED1 |
3 |
RGB LED |
4х контактный RGB светодиод с общим анодом |
20 руб/шт |
R1,R2,R3,R4 |
6 |
220Ωрезистор |
Допуск ± 5% сопротивление 220Ω |
30 руб/шт |
SG1 |
1 |
Buzzer 12 mm |
Зуммер 12 мм |
10 руб/шт |
Плата |
1 |
Arduino ESP85650 |
микроконтроллер платы на основе ATmega328 с встроенным wi-fi |
600 руб/шт |
Модуль |
1 |
RFID-RC522 |
Модуль чтения-записи RFID карт на чистоте 13,56 Мгц |
500 руб/шт |
Аккумулятор |
1 |
Samsung ICR18650-22E. |
Модуль аккумулятора на 2200 МаЧ |
900 руб/шт |
|
|
|
|
Итого: 2250 руб |
Таблица 3.Расчет стоимости износа технических и программных средств для
разработки ЭОР
Наименование |
Стоимость, руб. |
Нормативный срок службы, час |
Сумма амортизации, руб./час |
Время работы, час |
Стоимость износа, руб. |
Технические средства |
24700 |
140160 |
|
|
238.5 |
Системный блок |
15000 |
35040 |
0,43 |
340 |
146.2 |
Монитор |
5500 |
26280 |
0,21 |
340 |
71.4 |
Принтер |
3200 |
61320 |
0,05 |
10 |
0,5 |
Клавиатура, мышь |
1000 |
17520 |
0,06 |
340 |
20.4 |
Программные средства |
4500 |
62040 |
|
|
23.8 |
MS Windows 11 |
4500 |
61320 |
0,07 |
340 |
23.8 |
MS PowerPoint |
0 |
0 |
0 |
340 |
0 |
Google Chrome |
0 |
720 |
0 |
340 |
0 |
Итого |
29200 |
202200 |
|
|
262.3 |
Таблица 4. Расчет стоимости электроэнергии на эксплуатацию технических
средств.
Наименование |
Время работы, час |
Установленная мощность, кВт |
Цена 1 кВт-час, руб. |
Стоимость электроэнергии, руб. |
Системный блок |
340 |
0,35 |
4 |
476 |
Монитор |
340 |
0,1 |
4 |
136 |
Принтер |
10 |
0,15 |
4 |
6 |
Клавиатура, мышь |
340 |
0,05 |
4 |
68 |
Работа скуд системы |
340 |
0,10 |
4 |
136 |
Итого |
|
0,75 |
|
822 |
Таблица 5. Расчет заработной платы (основной и дополнительной) разработчиков
ЭУП.
Разработчик |
Трудоемкость работ, час |
Часовая тарифная ставка, руб./час |
Основная з/п, руб. |
Дополнительная з/п, руб. |
Сумма, руб. |
Сотрудник 1 |
140 |
140 |
19600 |
2352 |
21952 |
Сотрудник 2 |
200 |
160 |
32000 |
3840 |
35840 |
Итого |
340 |
|
51600 |
6192 |
57792 |
Таблица 6. Расчет себестоимости электронного учебного пособия.
Статья затрат |
Сумма, руб. |
1. Прямые затраты,всего в том числе: |
79144.3 |
Основная заработная плата разработчиков СКУД |
51600 |
Дополнительная заработная плата разработчиков СКУД |
6192 |
Отчисления на социальное страхование |
17338 |
Материальные затраты |
12000 |
Расходы на содержание и эксплуатацию технических средств, всего: в том числе: · стоимость износа технических средств · стоимость потребляемой электроэнергии · отчисления на ремонт и обслуживание технических средств |
2790.5
238.5 686 (24700 * 0,1) / (450 * 0.1) *340 = 1866 |
Стоимость использования программных средств (износ) |
23.8 |
2. Накладные расходы, всего |
37565 |
3. Себестоимость |
118709.3 |
В результате выполнения дипломной работы было разработано устройство на основе платформы Arduino для идентификации посетителей в образовательное учреждение.
В первом разделе работы была обоснована необходимость в разработке устройства. С этой целью было проведено исследование существующих систем контроля и управления доступом и выявлены функции, которые реализованы в настоящее время в СКУД. В втором разделе на основании анализа известных решении были выдвинуты требования к разрабатываемому устройству и сделан вывод о необходимости разработки устройства с наименьшей экономической стоимостью. В третьем разделе была разработана первичная структурная схема устройства, после чего подобраны необходимые компоненты, проанализированы их технические характеристики и способы подключения. В результате была получена электрическая принципиальная схема устройства. Разработанные структурная схема и принципиальная схема компонентов обеспечили возможность дальнейшей разработки алгоритмов функционирования и реализации программного прототипа. В четвертом разделе был разработан алгоритм работы устройства, выбраны средства для написания программного обеспечения и база данных для хранения информации, после чего написаны программы для микроконтроллера и компьютера. В заключительной части работы был разработан корпус устройства с учетом всех размеров модулей и плат, а также собран рабочий прототип и проверена работоспособность устройства.
Преимуществами разработанного устройства являются хранение информации в учебном заведении, что предотвращает вероятность получения доступа к данным другими лицами, возможность добавлять новый функционал и новые компоненты, благодаря гибкой структуре и возможности обновления кода микроконтроллера и ПК.
1. ГОСТ Р 51241-2008. Средства и системы контроля и управления доступом. Классификация. Общие технические требования. Методы испытаний: утв. приказом от 17 декабря 2008 г. N 430-ст. URL: http://docs.cntd.ru/document/1200071688
2. СКУД компании BOLID [Электронный ресурс]: сайт компании. URL: https://bolid.ru/projects/iso-orion/access-control/
3. СКУД компании PERCo [Электронный ресурс]: сайт компании. URL:https://www.perco.ru/products/sistema-kontrolya-dostupa-perco-web/
4. Система безопасности для образовательных учреждении PERCO [Электронный ресурс]: сайт компании. URL: https://www.perco.ru/ products/sistema-bezopasnosti-perco-s-20-shkola/
5. Производитель RFID-меток и RFID-оборудования компания РСТ- Инвент [Электронный ресурс]: сайт компании. URL: http://www.rst- invent.ru/faq/
6. RFID считыватели и метки – Режим доступа [Электронный ресурс]: обучающий блог. URL: https://arduino-kit.ru/product/schi tyivatel-rfid-rc522- 1356mhz-2B-karta-2B-brelok
7. Микроконтроллер Arduino Nano [Электронный ресурс]: документация. URL: http://wiki.amperka.ru/%D0%BF%D1% 80%D 0%BE%D0%B4%D1%83%D0%BA%D1%82%D1%8B:arduino-nan o
8. Samsung ICR18650-22E Cell Specifications.// Specification of product for Lithium-ion Rechargeable Cell, page 1, 2681 symbols. URL: http://elemakku.hu/ datasheets/Samsung%20ICR18650-22E.pdf
9. Модуль TP4065 [Электронный ресурс]: интернет-магазин. URL: https://www.chipdip.ru/product/tp4056-charge-module-with-protection
10. Модуль HW-357 [Электронный ресурс]: интернет-магазин. URL: https://chipmaster.pro/shop/product/modul-zaryadki-li-ion-akkumulya tora-hw- 357-s-povyshayushhim-dc-dc-preobrazovatelem/
#include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <RFID.h>
#include <SPI.h>
#ifndef STASSID
#define STASSID "DSL-2640U" #define STAPSK "48583343"
#endif
#define SS_PIN D1 #define RST_PIN D3
RFID rfid(SS_PIN, RST_PIN);
const char* ssid = "DSL-2640U"; const char* password = "12345678";
const char* host = "192.168.1.90"; const uint16_t port = 8000;
ESP8266WiFiMulti WiFiMulti;
void setup() { Serial.begin(115200); WiFi.mode(WIFI_STA); WiFiMulti.addAP(ssid, password);
Serial.println(); Serial.print("Wait for WiFi... ");
while (WiFiMulti.run() != WL_CONNECTED) { Serial.print(".");
delay(500);
Программа для микроконтроллера
}
Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP()); SPI.begin();
rfid.init();
pinMode(D8, OUTPUT); // зеленый светодиод pinMode(D2, OUTPUT); // реле
pinMode(D4, OUTPUT); // красный светодиод delay(3000);
}
void loop() {
if (rfid.isCard()) {
if (rfid.readCardSerial()) WiFiClient client;
if (!client.connect(host, port)) {
Serial.print("connecting to "); Serial.print(host); Serial.print(':'); Serial.println(port);
Serial.println("connection failed"); Serial.println("wait 2 sec..."); delay(2000);
return;
}
Serial.println("open connection"); String rfid = printID(); client.println(rfid);
String line = client.readStringUntil('\n'); Serial.print("Result: ");
if (line.equals("true")){ digitalWrite(D2, HIGH); digitalWrite(D8, HIGH); close(1);
} else {
}
digitalWrite(D4, HIGH); close(2);
Serial.println(line); Serial.println("closing connection"); client.stop();
}
}
rfid.halt(); delay(1000);
}
void close (int num) { delay(2000);
if (num == 1){ digitalWrite(D2, LOW); digitalWrite(D8, LOW);
} else {
digitalWrite(D4, LOW);
}
}
String printID(){ String address = "";
Serial.println("Card number:"); for (int i = 0; i < 5; i++){
address += String(rfid.serNum[i]);
}
address += "\n"; Serial.println(address); return address;
}
#include <windows.h> #include <winsock.h> #include <iostream> #include <tchar.h> #include <mysql.h>
#pragma comment(lib, "ws2_32.lib") using namespace std;
MYSQL connection, mysql; MYSQL_RES* result; MYSQL_ROW row;
HANDLE hBitmap; int query_state;
const char* localhost = "localhost";
const char* user = "root"; const char* pwd = "test"; const char* db = "test"; char id[14];
string res;
char* idStar = id;
boolean checkValueInDataBase(); int printUserID();
const int WINSOCK_VERSION = 0x0101;
const int WM_SERVER_ACCEPT = WM_USER + 1;
// Прототип функции обратного вызова для обработки сообщений LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void OnServerAccept(WPARAM wParam, LPARAM lParam);
bool Start(HWND); void Stop();
char g_szStatus[512]; char buffer[512]; SOCKET g_serverSocket; char response[512];
static TCHAR szWindowClass[] = _T("DesktopApp"); static TCHAR szTitle[] =
_T("СКУД");
// Вызов функции при запуске программы
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow)
Программа для ПК
{
HWND hWnd; // дескриптор родительского окна MSG msg;
WNDCLASSEX wndclass;
// Настройка класса окна
wndclass.cbSize = sizeof(WNDCLASSEX); wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc; wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0; wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION); wndclass.hCursor = LoadCursor(NULL, IDC_ARROW); wndclass.hbrBackground =
(HBRUSH)GetStockObject(WHITE_BRUSH); wndclass.lpszMenuName = NULL; wndclass.lpszClassName = szWindowClass;
wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);
// Регистрация класса окна
if (RegisterClassEx(&wndclass) == 0)
{
// Ошибка выполнения программы return 0;
}
// Создание окна
hWnd = CreateWindowEx( WS_EX_OVERLAPPEDWINDOW,
szWindowClass, // Имя класса szTitle, // Текст заголовка
WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_MINIMIZEBOX,
CW_USEDEFAULT, CW_USEDEFAULT,
450, // размеры окна по Х 575, // размеры окна по Y NULL,
NULL,
hInstance, NULL);
// Отображение окна ShowWindow(hWnd, iCmdShow);
// Обработка сообщений, пока программа не будет прервана while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg); DispatchMessage(&msg);
}
return (int)msg.wParam;
}
// Функция обратного вызова для обработки сообщений
LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam,
LPARAM lParam)
{
SOCKET AcceptSocket; SOCKADDR_IN socketaddr; WSADATA wsaData;
HDC hDC;
HDC hCompatibleDC;
Bitmap.bmHeight, SRCCOPY);
SelectObject(hCompatibleDC, hOldBitmap);
/* удалить загруженный битмап */
DeleteObject(hBitmap);
/* удалить совместимый контекст */ DeleteDC(hCompatibleDC);
}
EndPaint(hWnd, &ps); break;
// Вызывается, когда пользователь закрывает окно case WM_DESTROY:
// Остановка сервера при закрытии окна Stop();
PostQuitMessage(0); break;
default:
}
return DefWindowProc(hWnd, iMsg, wParam, lParam);
return 0;
}
bool Start(HWND hWnd)
{
int error;
SOCKADDR_IN socketaddr; WSADATA wsaData;
if (g_serverSocket != INVALID_SOCKET)
{
strcpy_s(g_szStatus, "Сервер уже запущен"); return false;
}
if (WSAStartup(WINSOCK_VERSION, &wsaData))
{
strcpy_s(g_szStatus, "Ошибка инициализации Winsock"); return false;
}
g_serverSocket = socket(PF_INET, SOCK_STREAM, 0); if (g_serverSocket == INVALID_SOCKET)
{
strcpy_s(g_szStatus, "Ошибка создания сокета"); return false;
}
socketaddr.sin_family = AF_INET; socketaddr.sin_addr.s_addr = INADDR_ANY; socketaddr.sin_port = htons(8000);
error = bind(g_serverSocket, (LPSOCKADDR)&socketaddr, sizeof(socketaddr));
error = WSAAsyncSelect(g_serverSocket, hWnd,
WM_SERVER_ACCEPT, FD_ACCEPT | FD_READ);
if (error == SOCKET_ERROR)
{
strcpy_s(g_szStatus, "Ошибка связи сокета с окном"); return false;
}
error = listen(g_serverSocket, 10); if (error == SOCKET_ERROR)
{
strcpy_s(g_szStatus, "Ошибка прослушивания сокета"); return false;
}
strcpy_s(g_szStatus, "Жду посетителя"); return true;
}
void Stop()
{
if (g_serverSocket == INVALID_SOCKET)
{
strcpy_s(g_szStatus, "Сервер не запущен или уже остановлен"); return;
}
closesocket(g_serverSocket); g_serverSocket = INVALID_SOCKET; if (WSACleanup())
{
strcpy_s(g_szStatus, "Ошибка освобождения Winsock"); return;
}
strcpy_s(g_szStatus, "Сервер успешно остановлен"); return;
}
void OnServerAccept(WPARAM wParam, LPARAM lParam)
{
int error, length; SOCKET clientSocket;
SOCKADDR socketclientaddr; static char positive[] = "true\n"; static char negative[] = "false\n";
if (WSAGETASYNCERROR(lParam))
{
strcpy_s(g_szStatus, "Ошибка определения клиента"); return;
}
if (WSAGETSELECTEVENT(lParam) == FD_ACCEPT)
{
length = sizeof(SOCKADDR); clientSocket = accept(g_serverSocket,
NULL, NULL);
if (clientSocket == INVALID_SOCKET)
{
strcpy_s(g_szStatus, "Ошибка создания сокета клиента");
return;
}
}
else if (WSAGETSELECTEVENT(lParam) == FD_READ)
{
clientSocket = (SOCKET)wParam;
//ZeroMemory(g_szStatus, sizeof(g_szStatus)); error = recv(clientSocket, g_szStatus,
sizeof(g_szStatus), 0); if (error == SOCKET_ERROR)
{
strcpy_s(g_szStatus, "Ошибка в получении запроса "); return;
}
printUserID();
boolean res = checkValueInDataBase();
if (res) {
error = send(clientSocket, positive, (int)strlen(positive), 0);
}
else {
}
error = send(clientSocket, negative, (int)strlen(negative), 0);
if (error == SOCKET_ERROR)
{
strcpy_s(g_szStatus, "Ошибка в ответе клиенту"); return;
}
}
return;
}
closesocket(clientSocket); return;
void printUserID() {
for (int i = 0; i < 14; i++) { id[i] = g_szStatus[i];
}
}
boolean checkValueInDataBase() { try {
mysql_init(&connection);
mysql_options(&connection, MYSQL_SET_CHARSET_NAME, "cp1251"); mysql_options(&connection, MYSQL_INIT_COMMAND, "SET NAMES cp1251"); mysql_real_connect(&connection, localhost, user, pwd, db, 3306, 0, 0);
string query = "SELECT group_concat(concat(users.last_name, \" \" ,users.first_name, \", группа \", university_groups.group_name)) FROM users, university_groups WHERE users.group_id = university_groups.id and users.card_id = " + string(id);
const char* q = query.c_str();
query_state = mysql_query(&connection, q);
if (!query_state) {
result = mysql_use_result(&connection); row = mysql_fetch_row(result);
if (!row[0]) {
strcpy_s(g_szStatus, "Посетитель не найден");
hBitmap = LoadImage(NULL, "F:\\people\\warning.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
return false;
}
string dir = "F:\\people\\" + string(id) + string(".bmp"); strcpy_s(g_szStatus, row[0]);
hBitmap = LoadImage(NULL, dir.c_str(), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE);
return true;
}
else {
}
strcpy_s(g_szStatus, mysql_error(&connection));
Программа для telegram bota
from telegram import ReplyKeyboardMarkup, ReplyKeyboardRemove
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import mysql.connector
# Подключение к базе данных MySQL
db = mysql.connector.connect(
name ="name",
id ="your_id",
gender ="your_gender",
email="your_email",
mobile=”your_mobile”
)
# Функция для сохранения данных пользователя в базу данных
def save_user_data(chat_id, username, first_name, last_name):
cursor = db.cursor()
query = "INSERT INTO user_data (name, id, gender, email, mobile) VALUES (%s, %s, %s, %s, %s)"
values = (name, id, gemder, email, mobile)
cursor.execute(query, values)
db.commit()
# Обработчик входящих сообщений от Telegram
def handle_message(update, context):
message = update.message
name = message.name
user_id = message.from_user.id
gener = message.from_user.gender
email = message.from_user.email
mobile = massege.from_user.mobile
# Сохранение данных пользователя в базе данных
save_user_data(name, id, gemder, email, mobile)
# Обработчик команды /start
def start(update, context):
reply_keyboard = [['Отчет за сегодня', 'Отчет за месяц', 'Список класса']]
markup = ReplyKeyboardMarkup(reply_keyboard, one_time_keyboard=True)
update.message.reply_text(reply, reply_markup=markup)
# Обработчик текстовых сообщений
def handle_message(update, context):
message = update.message.text
if message == 'Отчет за сегодня':
update.message.reply_text(num_name)
elif
message == 'Пока':
update.message.reply_text(reply, reply_markup=ReplyKeyboardRemove())
def handle_message(update, context):
message = update.massege.text
if massege == 'Отчет за месяц':
update.massage.reply_text(" ")
elif massege == "пока":
update.massege.reply_text(reply, reply_markup=ReplyKeyboardRemove())
# Функция для запуска бота
def run_bot():
updater = Updater(110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw, use_context=True)
dp = updater.dispatcher
dp.add_handler(CommandHandler("start", start))
dp.add_handler(MessageHandler(Filters.text, handle_message))
updater.start_polling()
updater.idle()
# Настройки
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters
import apiai, json
updater = Updater(token='ВАШ API ТОКЕН') # Токен API к Telegram
dispatcher = updater.dispatcher
# Обработка команд
def startCommand(bot, update):
bot.send_message(chat_id=update.message.chat_id, text='Привет, давай пообщаемся?')
def textMessage(bot, update):
request = apiai.ApiAI('ВАШ API ТОКЕН').text_request() # Токен API к Dialogflow
request.lang = 'ru' # На каком языке будет послан запрос
request.session_id = 'BatlabAIBot' # ID Сессии диалога (нужно, чтобы потом учить бота)
request.query = update.message.text # Посылаем запрос к ИИ с сообщением от юзера
responseJson = json.loads(request.getresponse().read().decode('utf-8'))
response = responseJson['result']['fulfillment']['speech'] # Разбираем JSON и вытаскиваем ответ
# Если есть ответ от бота - присылаем юзеру, если нет - бот его не понял
if response:
bot.send_message(chat_id=update.message.chat_id, text=response)
else:
bot.send_message(chat_id=update.message.chat_id, text='Я Вас не совсем понял!')
Сетевая программа (сайт) php
<?php
$Write="<?php $" . "UIDresult=''; " . "echo $" . "UIDresult;" . " ?>";
file_put_contents('UIDContainer.php',$Write);
?>
<!DOCTYPE html>
<html lang="en">
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/bootstrap.min.js"></script>
<style>
html {
font-family: Arial;
display: inline-block;
margin: 0px auto;
text-align: center;
}
ul.topnav {
list-style-type: none;
margin: auto;
padding: 0;
overflow: hidden;
background-color: #99FFCC;
width: 90%;
}
ul.topnav li {float: left;}
ul.topnav li a {
display: block;
color: #FF3300;
font-size: 150%;
font-weight: 600;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
ul.topnav li a:hover:not(.active) {background-color: #FFCC99;}
ul.topnav li a.active {background-color: #3366FF;}
ul.topnav li.right {float: right;}
@media
screen and (max-width: 600px) {
ul.topnav li.right,
ul.topnav li {float: none;}
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
</style>
<title>Данные с карты RFID. PHP- MYSQL</title>
</head>
<body>
<ul class="topnav">
<li><a class="active" href="index.php">Главная</a></li>
<li><a href="user_data.php">Сотрудники</a></li>
<li><a href="registration.php">Регистрация</a></li>
<li><a href="read_tag.php">Считать карту</a></li>
</ul>
<div class="container" >
<div class="row">
<table class="table table-striped table-bordered" width=800px border="0">
<tbody>
<img src="/img/logotype.jpg">
</tbody>
<tr border="0">
<td border="0">
<div id="777b6b9d0dfebd93b0fc7e0fc9fd0219" class="ww-informers-box-854753"><p class="ww-informers-box-854754"><a href="https://world-weather.ru/pogoda/russia/moscow/">Подробный прогноз</a><br><a href="https://world-weather.ru/pogoda/russia/nizhny_novgorod/">world-weather.ru</a></p></div><script async type="text/javascript" charset="utf-8" src="https://world-weather.ru/wwinformer.php?userid=777b6b9d0dfebd93b0fc7e0fc9fd0219"></script><style>.ww-informers-box-854754{-webkit-animation-name:ww-informers54;animation-name:ww-informers54;-webkit-animation-duration:1.5s;animation-duration:1.5s;white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;font-size:12px;font-family:Arial;line-height:18px;text-align:center}@-webkit-keyframes ww-informers54{0%,80%{opacity:0}100%{opacity:1}}@keyframes ww-informers54{0%,80%{opacity:0}100%{opacity:1}}</style>
</td>
<td border="0">
<iframe frameborder="no" scrolling="no" src="https://yandex.ru/time/widget/?geoid=213&lang=ru&layout=horiz&type=analog&face=digits"></iframe>
</td>
</tr>
</table>
</div>
</div> <!-- /container -->
<?php
include 'database.php';
$pdo = Database::connect();
$sql = 'SELECT COUNT(*) FROM registration';
foreach ($pdo->query($sql) as $row) {
$total = $row[0]; // всего записей
echo "<h1>Всего сотрудников - $total</h1>";
}
Database::disconnect();
?>
<table align=center width=1000px>
<thead>
<tr bgcolor="#10a0c5" color="#FFFFFF">
<th>ФИО</th>
<th>ID</th>
<th>Пол</th>
<th>Email</th>
<th>Номер телефона</th>
<th>Действие</th>
</tr>
</thead>
<tbody>
<h2>Последний зарегистрированный </h2>
<?php
$pdo = Database::connect();
$sql = 'SELECT * FROM registration ORDER BY id DESC limit 1';
foreach ($pdo->query($sql) as $row) {
echo '<tr>';
echo '<td>'. $row['name'] . '</td>';
echo '<td>'. $row['id'] . '</td>';
echo '<td>'. $row['gender'] . '</td>';
echo '<td>'. $row['email'] . '</td>';
echo '<td>'. $row['mobile'] . '</td>';
echo '<td><a class="btn btn-success" href="user_data_edit_page.php?id='.$row['id'].'">Редактировать</a>';
echo ' ';
echo '<a class="btn btn-danger" href="user_data_delete_page.php?id='.$row['id'].'">Удалить</a>';
echo '</td>';
echo '</tr>';
}
Database::disconnect();
?>
</tbody>
</table>
</body>
</html>
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.