extracted_text:
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И МОЛОДЁЖНОЙ ПОЛИТИКИ ВЛАДИМИРСКОЙ ОБЛАСТИ  ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ПРОФЕССИОНАЛЬНОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЛАДИМИРСКОЙ ОБЛАСТИ
«АЛЕКСАНДРОВСКИЙ ПРОМЫШЛЕННО-ПРАВОВОЙ КОЛЛЕДЖ» (ГБПОУ
ВО АППК)

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Вид
работы: Дипломная работа

Специальность 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   г. Александров.

1. ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ
1.1 Описание рассматриваемого предприятия

Анализ СКУД буду
проводить с привязкой к конкретному предприятию, а именно к МБОУ гимназия №2 г.
Александров. Трёхэтажное здание, имеющее один вход, расположено по адресу: улица Ческа-Липа, 5,
Александров, Владимирская область, 601655.
В учебном корпусе школы располагаются кабинеты где обучаются ученики, кабинет
директора, мастерские которые разделены на мальчиков и девочек, спортивный зал,
а так же актовый и танцевальный зал.
В системе управления школы функционируют
не отдельные модули, работающие по известным образовательным моделям, а их
оптимальная комбинация. Их деятельность определена следующими стратегическими
требованиями:
·
полный
охват направлений работы;
·
координация
и взаимосвязь деятельности различных подразделений;
·
адаптивность
управленческой модели к изменяющимся социально-экономическим условиям,
открытость, позволяющая субъектам управления своевременно вводить в имеющуюся
систему новые структуры, отказываться от устаревших;
·
использование
в управлении школой современных информационных технологий;
·
оптимальное
для данной модели привлечение квалифицированных специалистов, в том числе из
числа общественности к принятию управленческих решений.
Структура управления в школе построена с
целью обеспечения оптимального сочетания государственных и общественных начал в
интересах всех участников этого процесса.
В структуре управления
выделяется 4 уровня управления:
первый уровень – директор Комкова
Елена Николаевна – главное административное лицо, воплощающее
единоначалие и несущее персональную ответственность за все, что делается в
образовательном учреждении всеми субъектами управления
второй уровень – первый заместитель
директора по УВР образовательного
третий уровень - методические
объединения.
В школе работают четыре
методитеских обьединения
·
предметов
естественно-математического цикла
·
предметов
гуманитарного цикла
·
начальных
классов
·
МО
классных руководителей четвертый уровень - учащиеся, родители и учителя.
Учебно-воспитательный
процесс:
·
контроль
за выполнением программы всеобуча;
·
контроль
за состоянием преподавания учебных дисциплин, выполнением учебных программ и
достижения государственного стандарта образования;
·
контроль
за реализацией права учащихся на получение образования;
·
контроль
за состоянием трудового воспитания и профориентации обучающихся;
·
контроль
качества знаний, умений и навыков учащихся;
·
контроль
за внеклассной работой по предметам;
·
контроль
за обеспечением условий сохранения и развития здоровья учащихся в
образовательном процессе.
Педагогические кадры:
·
контроль
за выполнением решений и нормативных документов вышестоящих органов;
·
контроль
за работой методических объединений;
·
контроль
за выполнением решений педагогических и методических объединений;
·
контроль
за самообразованием учителей;
·
контроль
за состоянием методической работы;
·
контроль
за повышением квалификации учителей.
Управление педагогической системой, как и
управление любой социальной системой есть прежде всего, процесс переработки
информации, состоящий из трех основных этапов: сбор информации, ее переработка
и выдача управленческого решения.
Уровень учителей – уровень
учителей-предметников, классных руководителей, воспитателей и т.п. На
рассматриваемом уровне предполагается создание новых организационных структур:
временных творческих лабораторий и научно-исследовательских групп и
коллективов, методических советов, проблемных семинаров, школы
учителя-экспериментатора и др.
Уровень учащихся – здесь обучающиеся
создают свои структуры: органы управления, советы, комитеты, комиссии, секции,
клубы и объединения, могут создаваться структуры, куда входят педагоги и
обучающиеся.
В школе развивается ученическое
самоуправление. Структура школьного управления строится на 3-х уровнях: на
первом – базисном – ученическое самоуправление в классном коллективе, на втором
– школьная, ученическая, на третьем – общешкольное самоуправление в коллективе
школы. Содержание работы органов самоуправления определяется видами
деятельности учащихся.
 Организационная
структура предприятия представлена на рисунке 1.

Рисунок 1 -
Организационная структура предприятия

В штате
находится около 1400 сотрудников и учеников. Контроль доступа осуществляется на
одном входе в здание, план которого представлен на рисунке 2.

Рисунок 2 -
План здания
1.2 Разработка IDEF
диаграммы

Диаграмма IDEF0
используется для создания функциональной модели, отображающей структуру и
функции системы, а также потоки информации и материальных объектов, связывающие
эти функции.  Эта диаграмма изображает систему в состоянии «как есть». На
данный момент пропускной режим на рассматриваемом предприятии осуществляется
следующим образом: сотрудник предъявляет свое удостоверение вахтеру, который
записывает в свой журнал его фамилию и время прихода, после чего пропускает в
здание. Изобразим это в виде контекстной диаграммы IDEF0, которая представлена на рисунке 3.

Рисунок 3 - IDEF0 диаграмма

После составления
контекстной IDEF0 диаграммы выполняют процесс
декомпозиции, заключающийся в разбиении основного процесса на функциональные
подсистемы. В результате декомпозиции процесс «Организация пропускного режима»
разобьется на три подсистемы: предъявление удостоверения вахтеру, идентификация
сотрудника, запись данных в журнал.
Далее процессы, которые
требуют более глубокого рассмотрения, снова разбивают на подсистемы. Чтобы
показать главные недостатки существующей пропускной системы на предприятии, а
именно: человеческий фактор и время, требуемое для записи данных в журнал, произведем
декомпозицию процессов «идентификация сотрудника» и «запись данных в журнал».
Полученные диаграммы IDEF0 первого и второго уровней
изображены на рисунках 4 и 5 соответственно.

Рисунок 4 - IDEF0 диаграмма 1 уровня

Рисунок 5 - IDEF0 диаграмма 2 уровня

1.3 Понятие и назначение систем контроля и
управления доступом

К началу XXI века на
рынке технических средств обеспечения безопасности появилось огромное
количество систем контроля и управления доступом (СКУД). ГОСТ Р 51241-98
«Средства и системы контроля и управления доступом. Классификация. Общие
технические требования. Методы испытаний», утвержденный Постановлением
Госстандарта России от 29.12.1998 N 472, дает такое определение: система
контроля и управления доступом (СКУД) - совокупность средств контроля и
управления, обладающих технической, информационной, программной и
эксплуатационной совместимостью. Под контролем и управлением доступом в ГОСТе
понимается следующее: комплекс мероприятий, направленных на ограничение и
санкционирование доступа людей, транспорта и других объектов в (из) помещения,
здания, зоны и территории.
Вышеуказанный
нормативно-технический документ дает обобщенное определение, поэтому, отвечая
на различные вопросы и обсуждая технические характеристики СКУД, часто сталкиваешься
с тем, что в конце разговора у человека возникает вопрос: а зачем вообще всё
это надо? Чтобы разобраться рассмотрим наглядный пример.
Возьмем
небольшую компанию, состоящую из нескольких отделов: отдела продаж, дирекции,
секретариата, отдела комплектации, склада, бухгалтерии и серверной. В компанию
ведут две уличные двери: главный вход (вход с улицы) и дополнительный (вход со
двора) и 6 внутренних дверей, контролируемых СКУД. Два уличных входа, входы на
склад и в отдел комплектации, вход в бухгалтерию и вход в кассу контролируются
на проход в обе стороны (на вход и на выход), входы в дирекцию и серверную
контролируются только в одну сторону (только на вход). Организация доступа в
рабочее время может выглядеть следующим образом: все сотрудники имеют право
ходить через главный и дополнительный входы; на склад имеют право доступа
только люди, непосредственно связанные с комплектацией и отгрузкой (заведующий
складом, кладовщик и т.д.), в бухгалтерию - только бухгалтеры, в кассу - только
кассир. Уборщица имеет доступ во все помещения, кроме серверной, но только с
8.00 до 9.00. Привилегированная группа пользователей (директора, начальник
службы охраны и т.д.) имеют право ходить везде и в любое время.
Люди,
наделённые определёнными одинаковыми полномочиями, составляют определённую
группу доступа. Группа доступа характеризуется определёнными точками прохода,
через которые этой группе доступ разрешён, и временным профилем, состоящим из
нескольких временных интервалов, в течение которых разрешена возможность прохода
через разрешенные точки (дверь, турникет, шлагбаум). Точка прохода может быть
двухсторонней - когда проход в обе стороны осуществляется по карточке, или
односторонней - когда вход осуществляется по предъявлению карточки, а выход -
по нажатию кнопки.
Абсолютно все
события, происходящие в системе, протоколируются и (при необходимости)
появляются на мониторе у охранника (можно охраннику выводить только тревожные
события). При современных объемах жёстких дисков эти протоколы могут храниться
неограниченное количество времени. Стандартная функция любого программного
обеспечения СКУД - просмотр протоколов по различным критериям, что позволяет
воспроизвести любое, как недавнее, так и давно прошедшее событие, просмотреть
все тревожные события за истекший месяц, выяснить, где вчера ходил заведующий
складом Иванов П.П. В конце дня можно посмотреть, кто остался в офисе после
18:00, или осуществить быстрый поиск сотрудника в рабочее время. Можно
контролировать действия охраны, если, например, охранник должен ежечасно
обходить все помещения и отмечаться на всех считывателях. Можно смело сказать,
что возможности различных СКУД ограничиваются только фантазией проектировщиков,
а по большому счету, реализовать можно любую идею.

1.4 Основные задачи, решаемые СКУД

Современные
системы контроля и управления доступом эффективно решают задачи обеспечения
безопасности любого уровня, осуществляют предупреждение о проникновении
посторонних лиц на подконтрольную территорию, а также способствуют повышению
дисциплины труда благодаря учету рабочего времени сотрудников компании. Высокий
уровень безопасности может достигаться дублированием идентификации. Например,
дополнительно к проверке электронного ключа посетителя может применяться ввод
кода доступа с клавиатуры, либо идентификация голоса. В современных комплексах
СКУД присутствует подсистема "тихой тревоги", которая вводится в
случае какой-либо угрозы и оповещает о ней службу безопасности.
С помощью
СКУД может осуществляться управление любыми дверьми, являющимися частями
системы. Возможно слежение за дверьми по максимально дозволенной
продолжительности её нахождения в открытом состоянии. По истечении максимально
допустимого времени возникает сигнал тревоги (он может быть разным: звуковой
сигнал непосредственно у проблемной двери, сообщение на пульт дежурного и
прочие варианты). Под управлением операционной системой запирающие механизмы
могут открываться и закрываться в определённые периоды времени. Для проведения
всех необходимых шнуров питания и подключения к локальной сети может быть
использована структурированная
кабельная система или прокладка одиночных кабелей.
В основе
задач, решаемых системой контроля и управления доступом, лежит возможность
разграничения полномочий персонала по времени и точкам доступа. Таким образом,
типичными задачами, возлагаемыми на СКУД являются:
·
распределение
прав доступа между клиентами;
·
протоколирование
фактов прохода через контрольные точки;
·
работа
с пропусками и их идентификация;
·
автоматический
учет рабочего времени;
·
отображение
информации о нештатных ситуациях;
·
централизованное
управление системой контроля доступа.
Кроме всего
прочего, возможно выполнить интеграцию СКУД с системами видеоконтроля и
охранно-пожарной сигнализации для повышения уровня безопасности.

1.5 Основные компоненты СКУД

На
рисунке 6 показана схема устройства простейшей СКУД.

Рисунок 6 -
Схема устройства простейшей СКУД

СКУД состоит из следующих частей:
Контроллеры - основа аппаратной части системы, её «мозги» - к ним
подключается необходимое дополнительное оборудование: считыватели, интерфейсные
модули, замки, герконы (дверные контакты), кнопки выхода, охранные датчики и
прочее периферийное оборудование. По способу управления контроллеры СКУД делятся на три
класса: автономные, централизованные (сетевые) и комбинированные.
Автономные
контроллеры
Полностью
законченное устройство, предназначенное для обслуживания, как правило, одной
точки прохода. Встречаются самые разнообразные вариации: контроллеры,
совмещенные со считывателем, контроллеры, встроенные в электромагнитный замок и
так далее. Автономные контроллеры рассчитаны на применение самых разных типов
считывателей. Как правило, автономные контроллеры рассчитаны на обслуживание
небольшого количества пользователей, обычно до пятисот.
Сетевые
контроллеры
Термин,
обозначающий возможность работы контроллеров в сети под управлением компьютера.
В этом случае функции принятия решения ложатся на персональный компьютер с
установленным специализированным программным обеспечением. Сетевые контроллеры
применяются для создания СКУД любой степени сложности. При этом администрация
получает огромное количество дополнительных возможностей (получение
отчета о наличии или отсутствии сотрудников на работе, возможность вести
автоматический табель учета рабочего времени и др.)
Комбинированные
контроллеры
Совмещают
в себе функции сетевых и автономных контроллеров. При наличии связи с
управляющим компьютером контроллеры работают как сетевое устройство, при
отсутствии связи - как автономные.
Считыватели - устройства, предназначенные для
считывания информации с идентификатора, и передачи этой информации в контроллер
СКУД.
Идентификаторы - устройства, хранящие информацию о пользователе. Идентификаторами могут быть
магнитные карточки, бесконтактные PROXIMITY карты, брелки Touch Memory,
различные радиобрелки, изображение радужной оболочки глаза, отпечаток пальца,
отпечаток ладони и многие другие физические признаки. Каждый идентификатор
характеризуются определенным уникальным двоичным кодом. В системе каждому коду
ставится в соответствие информация о правах и привилегиях владельца
идентификатора. Сейчас применяются следующие типы карт:
Бесконтактные
радиочастотные (PROXIMITY) карты - наиболее перспективный в данный момент тип карт.
Бесконтактные карточки срабатывают на расстоянии и не требуют четкого
позиционирования, что обеспечивает их устойчивую работу и удобство
использования, высокую пропускную способность. Считыватель генерирует
электромагнитное излучение определенной частоты и, при внесении карты в зону
действия считывателя, это излучение через встроенную в карте антенну запитывает
чип карты. Получив необходимую энергию для работы, карта пересылает на
считыватель свой идентификационный номер с помощью электромагнитного импульса
определенной формы и частоты.
Магнитные
карты -
наиболее широко распространенный вариант. Существуют карты с низкокоэрцитивной
и высококоэрцитивной магнитной полосой и с записью на разные дорожки. Карты
Виганда - названные по имени ученого, открывшего магнитный сплав, обладающий
прямоугольной петлей гистерезиса. Внутри карты расположены отрезки проволоки из
этого сплава, которые, при перемещении мимо них считывающей головки, позволяют
считать информацию. Эти карты более долговечны, чем магнитные, но и более
дорогие. Один из недостатков - то, что код в карту занесен при изготовлении раз
и навсегда.
Штрих-кодовые
карты - на
карту наносится штриховой код. Существует более сложный вариант - штрих-код
закрывается материалом, прозрачным только в инфракрасном свете, считывание
происходит в ИК-области.
Ключ-брелок
“Touch memory” - металлическая таблетка, внутри которой расположен чип ПЗУ. При касании
таблетки считывателя, из памяти таблетки в контроллер пересылается уникальный
код идентификатора.
Для
временных сотрудников и посетителей оформляются временные или разовые
пропуска - карточки с ограниченным сроком действия.
Интерфейсные модули - бывают двух основных типов:
для подключения считывателей, замков, герконов и кнопок выхода к
контроллерам и для подключения контроллеров к компьютеру. Все устройства в
системе общаются между собой по определённым правилам, которые называются
протоколами. Существуют стандартные протоколы, и это позволяет использовать в
одной системе оборудование разных производителей.
Исполнительные устройства - замки, турникеты, шлагбаумы, калитки. Считав информацию с карты (или другого устройства идентификации),
контроллер сверяет её со своей базой данных и принимает решение: давать или не
давать команду на исполнительное устройство.
«Датчик положения двери» - для корректной работы СКУД контроллер должен
понимать, что происходит на «охраняемой территории»: открыта или закрыта дверь;
если открыта, то как долго; провернулся ли после считывания турникет и в какую
сторону, поднят или опущен шлагбаум и т.д. Наличие датчиков положения позволяет
отличить считывание, после которого ничего не произошло, от «фактического
прохода», и добавляет охранные функции, поскольку любое открывание - как
штатное, так и нештатное - протоколируется системой.
Вспомогательное оборудование - блоки бесперебойного питания, датчики,
кнопки, проводка и т.д.
Программное обеспечение - осуществляет настройку и управление оборудованием, мониторинг
его параметров, систематизацию и архивирование всей информации системы. Оно
также осуществляет поддержку обмена данными между контроллерами и компьютером
мониторинга, управление доступом и мониторинг пунктов прохода, работу с базами
данных и регистрацию владельцев идентификаторов, позволяют осуществлять
визуальную идентификацию владельцев “электронных пропусков” на проходной и для
формирования различных отчетов, а также выполнять дополнительный набор функций.

1.6 Классификация СКУД

Системы контроля и управления доступом классифицируют по:
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 -
Классификация СКУД

1.6.1 Автономные СКУД
Автономные СКУД служат
для управления одной или несколькими точками доступа, без передачи информации
на центральный пульт и без контроля со стороны оператора и без использования
управляющего компьютера.
Часто автономные системы
не имеют считывателя на «выход» и для открывания двери изнутри помещения
используется обычная электрическая кнопка выхода. Контроллер автономной системы
должен иметь функцию программирования - занесения кодов идентификаторов в
память. Для этого в большинстве моделей применяется упрощенный способ
программирования на основе использования «мастер-ключа». «Мастер-ключ» это
идентификатор, при считывании которого контроллер переходит в режим записи
кодов идентификаторов в память. Все последующие считанные идентификаторы
заносятся в память системы и становятся действующими. Современные автономные
СКУД имеют возможность хранить в памяти до нескольких сотен кодов
идентификаторов.
Схема устройства
автономной СКУД представлена на рисунке 8.

Рисунок 8 -
Схема устройства автономной СКУД

В некоторых автономных
СКУД предусмотрена возможность расширения. Достигается это различными
способами:
·
за счет
объединения нескольких контроллеров в сеть тем или иным способом;
·
путем увеличения
мощности и усложнения самого контроллера, что позволяет подключать к нему более
2х считывателей, а следовательно, контролировать большее количество дверей
(точек прохода);
·
подключение
стыковочных модулей для связи контроллера или нескольких контроллеров к
управляющему компьютеру для возможностей расширенного программирования.
Однако, несмотря на
подобные возможности, при необходимости установки трех и более точек прохода,
или количестве идентификаторов от пятидесяти и выше, автономные системы СКУД
устанавливать уже нецелесообразно. Прежде всего, это связано с большими
трудностями обслуживания системы и поддержания ее в «актуальном» состоянии по
отношению к изменяющимся требованиям по правам прохода и спискам
разрешенных/запрещенных к проходу идентификаторов, а также с невысокой
надежностью и долговечностью подобных систем.
Достоинства автономных
систем:
·
невысокая
стоимость;
·
простота
программирования системы;
·
отсутствие
большого количества кабельных соединений;
·
оперативность и
сравнительная простота монтажа;
·
удобство
использования для небольших объектов, не нуждающихся в особенно надежной
пропускной системе.
Недостатки:
·
неудобство
процесса программирования в случае количества дверей от трех и более, и
пользователей более пятидесяти;
·
отсутствие
возможности оперативного воздействия на процесс прохода;
·
отсутствие возможности
обработки протокола событий и получения выборочных отчетов по заданным
критериям;
·
отсутствие
возможности или большие трудности администрирования системы (например,
удаления/замены в памяти системы утерянных/скомпрометированных ключей);
·
отсутствие
возможности интеграции с охранными системами и видеонаблюдением;
·
отсутствие
возможности задавать временные интервалы доступа;
·
низкая надежность
систем к несанкционированному доступу или взлому.
1.6.2 Сетевые СКУД
Сетевые
(централизованные) СКУД служат для управления большим количеством точек доступа
с обменом информацией с центральным пультом, в качестве которого применяется
компьютер (сервер), и контролем и управлением системой со стороны оператора.
Это огромный класс СКУД,
главная особенность которых в том, что они имеют возможность конфигурирования
аппаратуры и управления процессом доступа с компьютерных терминалов. Различные
сетевые СКУД имеют свои индивидуальные особенности и различаются по:

·
архитектуре,
·
возможностям,
·
масштабу
(предельному количеству считывателей/точек прохода),
·
количеству
управляющих компьютеров,
·
типу применяемых
считывателей,
·
степени
устойчивости к взлому и электромагнитным воздействиям.
Большинство сетевых СКУД
сохраняют все достоинства автономных систем, основное из которых - работа без
использования управляющего компьютера. Это означает, что при выключении
управляющего компьютера система фактически превращается в автономную.
Контролеры данных систем, так же как и автономные контроллеры, имеют
собственный буфер памяти кодов карт пользователей и событий, происходящих в
системе.
Типовой вариант
исполнения сетевой версии СКУД включает следующие элементы:
·
головной
контроллер. Это центральное устройство системы, которое контролирует работу
остальных контроллеров;
·
второстепенные контроллеры.
Данные устройства подключаются к головному контроллеру с помощью интерфейса
RS-485. К второстепенным контроллерам подключаются различные периферийные
устройства;
·
периферийные
устройства. Это считыватели, турникеты, автоматические калитки, шлагбаумы,
электромеханические замки, т.д. Количество данных устройств зависит от
количества дверей, а также пожеланий конкретного заказчика;
·
компьютер с
установленным программным обеспечением. Система контроля может включать
несколько компьютеров. Программное обеспечение может быть серверным, а также
клиентским. Компьютер с серверным программным обеспечением подключается к
головному контроллеру. Серверное программное обеспечение позволяет
просматривать информацию, полученную всеми контроллерами, блокировать/разблокировать
двери, открывать/закрывать двери, загружать поэтажные планы, следить за работой
контроллеров по этим планам, составлять картотеку сотрудников, т.д. Остальные
компьютеры по сети подключаются к компьютеру с серверным программным
обеспечением. На них устанавливается клиентское программное обеспечение.
Клиентское программное обеспечение не позволяет менять какие-либо настройки
системы, а только просматривать информацию о состоянии системы.
Схема устройства сетевой
СКУД представлена на рисунке 9.

Рисунок 9 -
Схема устройства сетевой СКУД
1.6.3 Универсальные СКУД
Включают в себя функции
как автономных, так и сетевых систем. Работают в сетевом режиме под управлением
центрального устройства и переходят в автономный режим при возникновении
отказов в сетевом оборудовании, в центральном устройстве или при обрыве связи.
Широкие технические
возможности универсальных систем контроля доступа позволяют рассматривать их
как основу для построения интегрированных систем безопасности. Особенно
перспективна интеграция СКУД с системами охранно-пожарной сигнализации (ОПС) и
системами охранного видеонаблюдения.
Сетевые и универсальные
СКУД могут обеспечивать ряд дополнительных возможностей:
·
сбор и обработку
информации о перемещении лиц по объекту;
·
организацию и
учет рабочего времени;
·
управление
освещением, лифтами, вентиляцией и другой инженерной автоматикой на объекте;
·
управление
режимами работы и автоматикой автостоянок;
·
обеспечение
охранной и пожарной сигнализации (ОПС);
·
управление
средствами охранного видеонаблюдения.
Схема устройства
универсальной СКУД представлена на рисунке 10.

Рисунок 10 -
Схема устройства универсальной СКУД

1.7
Постановка задачи для разработки проекта
Необходимо создать
СКУД систему для оптимизации работы в школе.
Систему СКУД можно сделать в разных видах.
Система контроля и
управления доступом (СКУД) — совокупность программно-аппаратных технических
средств контроля и средств управления, имеющих целью ограничение и регистрацию
входа-выхода объектов на заданной территории через «точки прохода»: двери,
ворота, КПП.
Программно-аппаратный комплекс — это набор
технических и программных средств, работающих совместно для выполнения одной
или нескольких сходных задач.
АСПБ как система дистанционного контроля промышленной безопасности
представляющая собой комплекс программно-аппаратных средств и
системно-технических решений, позволяет уполномоченным лицам по промышленной
безопасности на предприятиях, эксплуатирующих ОПО, получать полную картину
состояния производственной безопасности в рамках предусмотренной
законодательством Системы управления промышленной безопасностью (СУПБ).
Програ́ммное
обеспе́чение — программа или множество программ, используемых для
управления компьютером. Имеются и другие определения из международных и
российских стандартов: совокупность программ системы обработки информации и
программных документов, необходимых для эксплуатации этих программ.
Сетево́е
обору́дование — устройства, необходимые для работы компьютерной сети,
например: маршрутизатор, коммутатор, концентратор, коммутационная панель и др.
Можно выделить активное и пассивное сетевое оборудование.
Язы́к
программи́рования — формальный язык, предназначенный для записи
компьютерных программ. Язык программирования определяет набор лексических,
синтаксических и семантических правил, определяющих внешний вид программы и
действия, которые выполнит исполнитель под её управлением.
 Сетевые приложения
— это программное обеспечение, отвечающее за стабильную работу компьютерной
сети организации.
Компьютерная сеть – это
точка соединения между компьютером пользователя и частной или общественной
сетью; Сетевую карту компьютера; Точку соединения коммутируемой телефонной сети
общественного пользования и телефона; Точку соединения двух сетей между собой.
Интерфейс (объектно-ориентированное программирование) — конструкция
в коде программы, используемая для описания совокупности возможностей,
предоставляемых классом или компонентом.
Видеолекция – вид учебных материалов, представленных как неинтерактивный видеоряд; это снятая на плёнку сокращённая
лекция, дополненная схемами, таблицами, фотографиями и видеофрагментами, иллюстрирующими подаваемый в лекции материал.
Экспертная система – компьютерная система,
в основе которой
лежит база знаний
в определенной предметной области.
Электронный словарь – компьютерная база данных, содержащая особым образом
закодированные словарные статьи, позволяющие осуществлять быстрый поиск нужных
слов, часто с учетом морфологических форм и с возможностью поиска сочетаний слов (примеров употребления), а также с возможностью изменения
направления перевода.
Электронный справочник – справочник,
построенный на гипертекстовой основе. Информационно-поисковая система
– система, предназначенная для поиска документов   в                             информационных   массивах,    базах    данных   и   всей   совокупности
информационных ресурсов.
Электронный лабораторный практикум
– учебное издание,
позволяющее имитировать процессы,
протекающие в изучаемых
реальных объектах, или смоделировать эксперимент, не осуществимый в реальных
условиях.
Аппаратно-программные
комплексы – система
аппаратных средств и программного
обеспечения, предназначенные для выполнения через сеть виртуальных практических (лабораторных) работ.
Учебная компьютерная игра – учебная
игровая программа по дисциплине, ориентированная на развитие умений и навыков.
Развивающая компьютерная игра – игровая программа, ориентированная на развитие способностей, навыков обучающихся.
Исходя, из вышеперечисленных пунктов вариантов разработки СКУД системы для образовательного учреждения МБОУ гимназия №2.
Было выбрано создать СКУД систему на базе Arduino с
применением различных интерфейсов вывода данных.
·
Сетевой интерфейс вывода данных
(вывод данных входа непосредственно на сайт)
·
Локальный вывод
данных – на локальный компьютер который стоит непосредственно у вахтера.
·
Отправка сообщений родителям на
номера телефонов о том – пришел ребенок или ушёл из школы.
·
Оправка классным руководителям
информации кто из класса пришёл сегодня на урок. Вывод производится в Telegram бота.
·
Аппаратно-техническая часть
выполнения работа. Постройка на базе ардуино рабочего модуля.
·
Создание и разработка базы данных
на MySQL.
·
Создание сетевой точки на домашнем
компьютере при помощи phpMyAdmin
Данная работа разрабатывается на компьютере. Все
данные хранятся на нем. В работе будет предоставлена вся нужная информация –
коды, скриншоты и видеоролики работы системы.
1.8 План управления проектом
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 – Диаграмма Ганта

1.9 Классификация
и обоснование выбора
программного обеспечения технических средств
Электронное учебное пособие     разрабатывалась на компьютере, состоящем
из следующих компонентов:
Ноутбук 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.
1.9.1 Сравнительный анализ СКУД систем
Одними из самых популярных производителей СКУД являются такие компании,
как 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. СПЕЦИАЛЬНЫЙ РАЗДЕЛ
2.1 Техническое задание
Полное наименование
системы: автоматизированная система контроля и управления доступом (СКУД).
Наименование предприятия:
МБОУ гимназия №2.
Объект автоматизации:
предприятие и его пропускной пункт.
Перечень основных
регламентирующих документов, на основании которых создается система:
·
ГОСТ Р 51241-98
«Средства и системы контроля и управления доступом. Классификация. Общие
технические требования»;
·
Выбор и
применение систем контроля и управления доступом. Рекомендации Р 78.36.005-99;
·
ГОСТ 26139-84
«Интерфейс для автоматизированных систем управления рассредоточенными
объектами. Общие требования»;
·
Федеральный закон
РФ от 27 июля 2006 года № 152-ФЗ «О персональных данных».
2.1.1 Цели и назначения системы
Целью системы является
автоматизация контроля прохода сотрудников на предприятии.
·
Назначение
системы:
·
обеспечение
пропускного режима;
·
учет рабочего
времени и контроль трудовой дисциплины.
·
Характеристика
объекта автоматизации
Трехэтажное  здание,
имеющее один вход, расположено по адресу: улица Ческа-Липа, 5, Александров,
Владимирская область, 601655.
Каждому сотруднику или
ученику будет выдан идентификатор (электронный ключ) - пластиковую карточку с
содержащимся в ней индивидуальным кодом. «Электронные ключи» выдаются в
результате регистрации перечисленных лиц с помощью средств системы. Фото и
сведения о владельце «электронного ключа» заносятся в персональную «электронную
карточку". Персональная «электронная карточка» владельца и код его
«электронного ключа» связываются друг с другом и заносятся в специально
организованную компьютерную базу данных.
В подлежащее контролю
помещение установят считыватели, считывающие с карточек их код и информацию о
правах доступа владельца карты и передающие эту информацию в контроллер
системы.
В системе каждому коду поставлена в соответствие информация о
правах владельца карточки. На основе сопоставления этой информации и ситуации,
при которой была предъявлена карточка, система принимает решение: контроллер
открывает или блокирует турникет.
Все факты предъявления
карточек и связанные с ними действия (проходы, тревоги и т.д.) будут
фиксироваться в контроллере и сохраняться в компьютере. Информация о событиях,
вызванных предъявлением карточек, может быть использована в дальнейшем для получения
отчетов по учету рабочего времени, нарушениям трудовой дисциплины и др.
2.1.2 Требования к структуре и функционированию
Система включает в себя
следующие подсистемы:
·
подсистема
считывания информации;
·
подсистема
хранения ключей и событий;
·
подсистема
централизованного управления.
·
Подсистема
считывания информации должна обеспечивать:
·
возможность
считывания идентификационного признака с идентификаторов;
·
передачу
информации на контроллер.
Считыватели должны быть
защищены от манипулирования путем перебора и подбора идентификационных
признаков.
Конструкция, внешний вид
и надписи на идентификаторе и считывателе не должны приводить к раскрытию
применяемых кодов.
Производитель
идентификаторов должен гарантировать, что код данного идентификатора не
повторится, или указать условия повторяемости кода и меры по предотвращению
использования идентификаторов с одинаковыми кодами.
Считыватели при взломе и
вскрытии, а также в случае обрыва или короткого замыкания подходящих к ним
цепей не должны вызывать открывание преграждающего устройства. Протокол связи с
контроллерами - Touch Memory.
Подсистема хранения
ключей и событий должна обеспечивать:
·
прием информации
от считывателей, обработку информации и выработку сигналов управления на
преграждающее устройство.
·
обмен информацией
по линии связи между контроллерами и средствами управления;
·
сохранность
данных в памяти при обрыве линий связи со средствами централизованного
управления, отключении питания и при переходе на резервное питание;
·
контроль линий
связи между контроллерами, средствами централизованного управления.
Виды и параметры
протоколов и интерфейсов между контроллерами и средствами централизованного
управления должны быть установлены в стандартах и других нормативных документах
на контроллер конкретного типа с учетом требований ГОСТ 26139.

Подсистема
централизованного управления должна обеспечивать:
·
настройку,
управление и мониторинг СКУД, контроль персонала;
·
построение
распределенной иерархической системы;
·
ведение баз
данных;
·
занесение кодов идентификаторов
в память системы;
·
задание
характеристик контролируемых точек;
·
установку
временных интервалов доступа (окон времени);
·
установку уровней
доступа для пользователей;
·
протоколирование
текущих событий;
·
редактирование
шаблонов отчетов;
2.1.3 Требования к численности и квалификации
персонала
Персонал, необходимый для
работы с системой должен состоять из двух групп: служба эксплуатации и
пользователи.
Служба эксплуатации
должна поддерживать корректное функционирование программного обеспечения системы
и должна состоять из специалистов, обладающих знаниями в области информационных
и сетевых платформ, на которых реализовано программное обеспечение системы, а
также опытом администрирования баз данных.
Служба должна
обеспечивать функционирование в штатном режиме технических и программных
средств Системы.
Функциональные
обязанности персонала службы эксплуатации должны предусматривать:
·
настройку и
диагностирование системы,
·
резервное
копирование и восстановление данных.
Пользователями системы
являются сотрудники отдела кадров и бюро пропусков, допущенные к работе с
информацией распоряжением руководителей соответствующих структурных
подразделений. В распоряжении указываются полномочия сотрудников по работе с
данными системы.
При работе с системой
пользователь должен обладать знаниями предметной области, навыками работы с
операционной системой Microsoft Windows и офисным программным обеспечением.
Пользователи системы
должны пройти обучение работе с ней под руководством разработчика и обладать
знаниями функциональности системы, используемой в работе в объеме требовании
пользовательской документации.
2.1.4 Требования к надежности
Система должна
удовлетворять следующим требованиям:
·
число циклов
открывания/закрывания - 2 000 000;
·
средняя наработка
на отказ - не менее 10000 ч.;
·
технический срок
службы - не менее 5 лет;
·
гарантийный срок
эксплуатации - не менее 12 месяцев.
2.1.5 Требования к безопасности
Система должна
удовлетворять следующим требованиям:
·
устанавливаемое
оборудование и сети системы контроля управления доступом должны быть безопасны
для лиц, соблюдающих правила их эксплуатации;
·
материалы,
комплектующие изделия, используемые для изготовления СКУД, должны иметь
токсико-гигиенический паспорт, гигиенический паспорт и гигиенический
сертификат.
·
монтаж и
эксплуатация СКУД должны соответствовать требованиям безопасности ГОСТ
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 тысяч нажатий на клавиши в течение часа;
·
не допускать
бликов на экране монитора;
·
не разрешается
работать за компьютером беременным женщинам.
2.1.6 Требования к защите от несанкционированного
доступа к данным
В соответствии с
руководящим документом Гостехкомиссии при Президенте Российской Федерации
«Автоматизированные системы. Защита от несанкционированного доступа (НСД) к
информации. Классификация автоматизированных систем и требования по защите
информации» данная система относится к группе многопользовательских
автоматизированных систем, в которых одновременно обрабатывается и хранится
информация разных уровней конфиденциальности. Не все пользователи имеют право
доступа ко всей информации АС.
Система должна
обеспечивать защиту от НСД на уровне класса 1Д.
Программное обеспечение
СКУД должно быть защищено от несанкционированного доступа. Требования по защите
программного обеспечения от несанкционированного доступа устанавливают по ГОСТ
Р 50739. Программное обеспечение должно быть также защищено от:
·
преднамеренных
воздействий с целью изменения опций в системе;
·
несанкционированного
копирования;
·
несанкционированного
доступа с помощью паролей.
·
Рекомендуемые
уровни доступа по типу пользователей:
·
первый
("администратор") - доступ ко всем функциям;
·
второй
("дежурный оператор") - доступ только к функциям текущего контроля;
·
третий
("системный оператор") - доступ к функциям конфигурации программного
обеспечения без доступа к функциям, обеспечивающим управление УПУ.
Количество знаков в
пароле должно быть не менее шести. При вводе пароля в систему вводимые знаки не
должны отображаться на средствах отображения информации. После ввода в систему
пароли должны быть защищены от просмотра средствами операционных систем ЭВМ.
2.1.7 Требования к эксплуатации, обслуживанию и
ремонту
·
К обслуживанию и
технической эксплуатации системы контроля и управления доступом должны
допускаться только лица, имеющие соответствующую квалификацию, изучившие
инструкции по эксплуатации и сдавшие экзамены по технике безопасности.
·
Обслуживание
системы контроля и управления доступом должно состоять из плановых и
регламентных работ, проверки элементов СКУД на работоспособность, анализа и
причин выхода из строя; объем, сроки и наименование работ должны быть указаны в
проектной документации.
2.1.8 Требования к функциям, выполняемым системой
Система должна
обеспечивать:
·
открывание
преграждающего устройства при считывании идентификационного признака, доступ по
которому разрешен в данную зону в заданный временной интервал или по команде
оператора СКУД;
·
запрет открывания
преграждающего устройства при считывании идентификационного признака, доступ по
которому не разрешен в данную зону доступа в заданный временной интервал;
·
пропускную
способность 60 чел/мин;
·
при нарушении
доступа подавать звуковое и световое оповещение;
·
изменение
(добавление, удаление) идентификационных признаков;
·
в случае
экстренной ситуации турникет должен быть разблокирован. Функция разблокировки
должна обеспечивать свободное открытие преграждающих створок в обоих
направлениях;
·
возможность
управления проходом с помощью пульта управления;
·
возможность
защиты от передачи карты (Antipassback);
·
нормально-закрытый
режим работы турникета;
·
возможность
интеграции с пожарно-охранной системой и системой видеонаблюдения;
2.1.9 Требования к организационному обеспечению
·
должностная инструкция;
·
технико-экономическое
обоснование;
·
техническое
задание;
·
технический и
рабочий проекты;
·
ГОСТ Р 51241-98
«Средства и системы контроля и управления доступом.
2.1.10 Требования к методическому обеспечению
·
структурная схема
СКУД;
·
планы кабельных
трасс и размещения оборудования СКУД;
·
паспорта на
установленное оборудование;
·
гигиенические
сертификаты;
·
сертификаты
пожарной безопасности;
·
руководство по
использованию;
·
описание
применения;
·
руководство
системного администратора;
2.1.11 Требования к техническому обеспечению
Система должна состоять
из преграждающего устройства, считывателей, контроллеров и ЭВМ.
Преграждающее устройство
должно обеспечивать:
·
полное или
частичное перекрытие проема прохода;
·
полуавтоматическое
управление.
В дежурном режиме должно
находиться в нормально закрытом состоянии. В закрытом состоянии должны
обеспечивать физическое препятствие перемещению людей в (из) здание и
открывание запирающего механизма при подаче управляющего сигнала от устройства
управления.
Считыватели должны иметь звуковую
и световую индикацию, работать с картами стандарта Mifare. Производитель
идентификаторов должен гарантировать, что код данного идентификатора не
повторится, или указать условия повторяемости кода и меры по предотвращению
использования идентификаторов с одинаковыми кодами. Считыватели при взломе и
вскрытии, а также в случае обрыва или короткого замыкания подходящих к ним
цепей не должны вызывать открывание преграждающего устройства.
Контроллеры должны быть
комбинированного типа, иметь встроенную память не менее 2000 ключей и 10000
событий.
2.1.12 Требования к программному обеспечению
Программное обеспечение
должно обеспечивать:
·
инициализацию
идентификаторов (занесение кодов идентификаторов в память системы);
·
задание
характеристик контролируемых точек;
·
установку
временных интервалов доступа (окон времени);
·
установку уровней
доступа для пользователей;
·
протоколирование
текущих событий;
·
ведение баз
данных;
·
сохранение данных
и установок при авариях и сбоях в системе.
·
Программное
обеспечение должно быть устойчиво к случайным и преднамеренным воздействиям
следующего вида:
·
отключение
управляющего компьютера;
·
программный сброс
управляющего компьютера;
·
аппаратный сброс
управляющего компьютера;
·
нажатие на
клавиатуре случайным образом клавиш;
·
-случайный
перебор пунктов меню программы.
После указанных
воздействий и после перезапуска программы должна сохраняться работоспособность
системы и сохранность установленных данных. Указанные воздействия не должны
приводить к открыванию устройств заграждения и изменению действующих кодов
доступа.
Программное обеспечение
должно быть защищено от преднамеренных воздействий с целью изменения установок
в системе.
Вид и степень защиты
должны быть установлены в паспортах на конкретные виды средств или систем.
Сведения, приведенные в технической документации не должны раскрывать
секретность защиты.
2.1.13 Требования к информационному обеспечению
Отчеты, выдаваемые
системой, должны быть представлены в виде документа формата, поддерживаемого
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-минутные перерывы, в том числе для
зарядки.
2.2 Аппаратная часть
2.2.1 Первичная
структурная схема
В соответствии с поставленными задачами
и выдвинутыми требованиями, разработана первичная структурная схема системы, представленная на рисунке 12.

Рисунок
12 - Первичная структурная схема
Схема представляет собой
совокупность блоков:
·
Контроля и
управления – будет принимать данные от блока ввода и отправлять их с помощью блока передачи данных для проверки
в базе данных; в зависимости от результата проверки
значения подавать сигнал
блокам индикации и исполнительных устройств;
·
Ввода –
предназначен для считывания кода карты и управления блоком исполнительных устройств;
·
Хранения данных – база данных
с записями о посетителях;
·
Исполнительных устройств
– содержит в себе устройства, которые будут
осуществлять пропуск или не допуск
посетителя;
·
Индикации – визуальный сигнал,
сообщающий об удачной
или неудачной проверке;
·
Передачи данных – необходим для передачи данных от
устройства к ПК и обратно
с помощью Wi-Fi;
·
Вывода и проверки
данных – в зависимости от результата проверки
будет выводить информацию на экран ПК. Например, это может ФИО и фото найденного посетителя или сообщение о
том, что карты с таким ID нет в базе данных.
2.2.2 Подбор компонентной базы устройства
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 обеспечивается
присвоением изготовителем номера, который используется в качестве индикатора.
Элементы индикации
Для индикации выбраны
следующие элементы:
·
Светодиод красный;
·
Светодиод зеленый;
Светодиод – полупроводниковый прибор, создающий оптическое излучение при пропускании через него электрического тока в прямом направлении.

Светодиоды 5 мм F53GD2YG-1 красный
и зелёный.

Рисунок 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;
Оба модуля предоставляют необходимый для разрабатываемого устройства функционал и подходят по характеристикам. Выбрал электромагнитное реле, так как оно
имеет меньшую цену.
2.2.3 Полная структурная схема
После сравнения и выбора компонентов для управляющего устройства была составлена
полная структурная схема устройства

Рисунок 24 - Полная структурная схема

2.2.4 Разработка
электрической принципиальной схемы устройства
Устройство на базе платформы 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.

Считыватель RFID-RC522

Рисунок 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 - Спецификация

2.2.5 Программная
часть
2.2.5.1 Написание программы для микроконтроллера

Для написания программной части было принято
решение использовать интегрированную среду разработки 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). Готовая
программа находится в Приложении А.
2.2.5.2 Написание программы для ПК
Для того чтобы обработать запрос с микроконтроллера, проверить 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.
Так же у нас есть учет времени действия карты – время прихода и время ухода
человека из организации.
В программе так же выводится
направление – куда именно прошёл человек – на вход или на выход.
Можем
посмотреть в графическом исполнении всю базу данных – которая у нас имеется на
данный  момент.
2.2.5.3 Написание сетевого приложения для сайта

Рисунок  37.  Сетевое приложение для
вывода данных прихода – ухода.

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

Рисунок 38.
Вкладка Сотрудники сетевого приложения.
В данной вкладке мы можем посмотреть
базу данных на MySql которая
также интегрированная сюда. Редактировать записи и удалять их из базы данных.
Все данные у нас представлены в красивой табличке. Работа таблдицы выполнятеся
с помощью внопок в правом меню. «Редактировать» и «Удалить».

Рисунок 39.
Вкладка Регистрация сетевого приложения.
В данной вкладке мы можем  регистрировать
пользователей  в базе данных под своим уникальный ID номером карты. Тут у нас есть поля :
·
ID – сюда мы вписываем или прикладывая
карту автоматически заполняем это поле.
·
ФИО – вписываем
ФИО ученика или сотрудника.
·
Пол – выбираем
пол мужской или женский .
·
Email – адрес для сотрудников  - для
связки с telegram.
·
Телефон – телефон
родителей ребенка  - для отправки СМС сообщений о приходе и уходе ребенка .

Рисунок 40. Таблица MySQL  атбрибуты базы данных.
В данной
таблице мы видим все поля базы данных которые мы использовали в данном проекте
. Тут мы видим поле имя, тип, сравнение, атрибуты поля и тд…

Рисунок 41. Таблица MySQL
заполненная данными.

В данной
таблице мы видим уже готовые поля таблицы базы данных:
•
ФИО
•
ID карты
•
Пол
•
Email адрес
•
Номер телефона

Рисунок 42. Таблица MySQL регистрация  пользователя.
В данной таблице представлены
атрибуты которые используются в поле «Регистрация» на главном экране сетевой
программы.
2.2.5.3 Написание telegram bota

Рисунок 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
перед использованием этого кода.
2.2.5.4 Создание СМС оповещения

Рисунок 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.

2.2.6 Выбор остальных элементов устройства
Для того чтобы устройство полноценно функционировало нужно подобрать
недостающие элементы, обеспечивающие питание микроконтроллера и зарядку аккумулятора для него. Для зарядки аккумулятора требуется блок питания
с выходным напряжением 5В и выходным
током 1А.
Выбор пал на блок питания
Robiton TinyCharger. Этот блок питания
удовлетворяет поставленным требованиям, а также имеет защиту от перегрузок
и короткого замыкания.
Технические характеристики:
·
Вход: 100-240В ~ 50/60Гц,
120мА
·
Выходное напряжение: 5В
·
Выходной ток: 1000 мА (макс)

Рисунок 47 - Блок питания
TinyCharger.
2.2.7 Разработка корпуса
устройства.
Проанализировав размеры
всех используемых модулей,
возможное расположение выводов
и проводов был разработан прототип
корпуса

Рисунок 48 - Корпус устройства

Рисунок 49 –
3D модель корпуса устройства

2.2.8
Диаграмма работы устройства
Для более полного
понимания работы устройства рассмотрим временную диаграмму
работы RFID считывателя. Передача данных от RFID модуля к микроконтроллеру происходит с помощью
интерфейса SPI.

SPI – последовательный периферийный интерфейс, позволяющий передавать
1 байт информации за раз между двумя модулями. SPI протокол известен как мастер/ведомый протокол. Это
означает, что есть только одно управляющее устройство и несколько управляемых устройств. Этот интерфейс отлично подходит для быстрой
передачи данных с датчиков. Для работы
этого интерфейса необходимо минимум 4 пина: SCK, MOSI, MISO и SS (на
модуле RFID обозначен как SDA).

Рисунок 50 - Временная диаграмма
обмена данными SPI

SCK это тактовый сигнал, который нужен для синхронизации между двумя устройствами, например как быстро
нужно передавать и принимать данные.
Скорость передачи данных известна как бод. Без SCK устройства не могли бы получать
данные друг от друга.
MOSI отвечает за передачу данных от мастера к ведомому, MISO за передачу
информации от ведомого
к мастеру. На временной диаграмме видно, как ведущее устройство
отправляет символ “S” ведомому
устройству и в ответ получает символ “F”.
SS используется для уведомления определенного ведомого устройства о том, что мастер сейчас отправит данные.
После того, как мастер инициализирует связь между устройствами,
он будет держать низкий сигнал на SS
до тех пор, пока не прекратиться передача данных. При низком сигнале на SS мастер начнет переключать тактовый
вывод SCK и управлять MOSI для предоставления информации ведомому. Цифры на диаграмме обозначают каждый бит передаваемого байта.
2.2.9 Изготовление
прототипа устройства
На данном этапе был создан прототип устройства на основе подобранным ранее модулям и написанного ПО, также проверена
работоспособность устройства.

Рисунок 51 - Прототип устройства.

Рисунок 52 - Результат выполнения программ при поднесении
карты с записанным в базе данных
ID.

Рисунок 53 - Результат выполнения программ при поднесении
карты с незаписанным в базе
данных ID.
2.3 Новые технологии выполнения функций
После
введения адаптивной СКУД системы на проходной школы. Родителя смогут узнать
когда их ребенок пришёл и ушёл со школы. Так же классный руководитель всегда
будет в курсе когда в какой день кто пришёл на учебу удалённо.

Рисунок 53 – СМС оповещение

Рисунок 54 – Telegram BOT

3. ЭКОНОМИЧЕСКОЕ
ОБОСНОВАНИЕ
Все затраты на разработку электронного учебного ресурса можно
разделить на следующие группы:
Единовременные затраты на организацию и подготовку к разработке ЭОР:
·
приобретение технических средств;
·
приобретение программных средств.

В связи с тем, что разработка электронного учебного
пособия осуществляется на базе
колледжа, то необходимость в приобретении технических и программных средств отсутствует.
Текущие затраты на разработку ЭОР:
·
использование технических средств (амортизация);
·
использование программных средств(амортизация);
·
эксплуатация технических средств (электроэнергия, ремонт и пр.);
·
заработная плата разработчиков
ЭОР (основная и дополнительная);
·
отчисления на социальное страхование от з/п разработчиков ЭОР;
·
накладные затраты

Текущие затраты на разработку ЭОР формируют его себестоимость.
Таблица
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

file_name: ДИПЛОМ КАПРАНОВ А.С..docx

alt: МИНИСТЕРСТВО ОБРАЗОВАНИЯ И МОЛОДЁЖНОЙ

alt: ВВЕДЕНИЕ .. 5 1. ИССЛЕДОВАТЕЛЬСКИЙ

alt: ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ 1.1

alt: Педагогические кадры: · контроль за выполнением решений и нормативных документов вышестоящих органов; · контроль за работой методических объединений; · контроль за выполнением решений педагогических и…

alt: Разработка IDEF диаграммы

alt: Рисунок 4 - IDEF 0 диаграмма 1 уровня

alt: Комбинированные контроллеры

alt: СКУД с ограниченными функциями b

alt: Автономные СКУД Автономные СКУД служат для управления одной или несколькими точками доступа, без передачи информации на центральный пульт и без контроля со стороны оператора и…

alt: Рисунок 9 - Схема устройства сетевой

alt: Сбор информации. 1.1.2.

alt: Рисунок 11 – Диаграмма

alt: ArduinoIDE (С++) ·

alt: Рисунок 13 - Контроллер

alt: Требования к надежности Система должна удовлетворять следующим требованиям: · число циклов открывания/закрывания - 2 000 000; · средняя наработка на отказ - не менее 10000…

alt: ЭВМ не должна быть более 1,5-2 часов; после каждого часа работы следует делать перерыв, как минимум, на 10-15 минут, во время которого необходимо встать и…

alt: Программное обеспечение должно быть устойчиво к случайным и преднамеренным воздействиям следующего вида: · отключение управляющего компьютера; · программный сброс управляющего компьютера; · аппаратный сброс управляющего…

alt: Рисунок 15 - RFID-метки в корпусах

alt: Флэш- память 32 Кб; ·

alt: Рисунок 20 - Модуль TP4065

alt: Твердотельное · Электромагнитное

intro: Диплом на тему СКУД системы

title: Автоматизация и оптимизация СКУД систем в учебных и охраняемых предприятиях