Файл: Пояснительная записка к курсовой работе Разработка по для кодового замка по курсу Программирование микропроцессоров.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 22.11.2023
Просмотров: 135
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
2 АНАЛИЗ РЕАЛИЗУЕМОЙ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ
3 РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ НА ПРОГРАММИРОВАНИЕ
4 ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ КОМПОНЕНТОВ В ПРОГРАММИРУЕМОЙ СИСТЕМЕ
4.5 Пьезоизлучатель звука KY-006
5 РАЗРАБОТКА НЕОБХОДИМОГО МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ КОНТРОЛЛЕРА
6 ОПИСАНИЕ РАЗРАБОТАННОЙ СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
7 ОПИСАНИЕ ПРОЦЕССА ОТЛАДКИ РАЗРАБОТАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
ПРИЛОЖЕНИЕ 1Схема электрическая принципиальная
| | |
МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное
образовательное учреждение высшего образования
«Самарский государственный технический университет»
Институт автоматики и информационных технологий
Кафедра «Информационно – измерительная техника»
Пояснительная записка
к курсовой работе Разработка ПО для кодового замка
по курсу Программирование микропроцессоров
Нормоконтроль__________________________________ Д.С. Гордиенко
Руководитель работы ____________________________ Е.В. Мельников
Студент Скляров Д.В.
Группа 2-АИТ-5
Оценка__________________
Срок выполнения__________________
Самара 2022 г.
РЕФЕРАТ
Курсовая работа содержит 54 страниц, 10 рисунков, 6 таблиц, 15 источников, 5 приложений.
ARDUINO, REST АРХИТЕКТУРА, КЛИЕНТ-СЕРВЕРНОЕ ВЗАИМОДЕЙСТВИЕ, МИКРОКОНТРОЛЛЕР, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, РАЗРАБОТКА СЕРВЕРНОГО БЕСПЕЧЕНИЯ НА JAVA SPRING FRAMEWORK, СБОРКА ПРИЛОЖЕНИЙ НА MAVEN,
Целью курсового проекта является ознакомление с основами программирования микроконтроллера и различными датчиками, взаимодействующими с ним, а также приобретение практических навыков в разработке проекта "кодовый замок".
В части анализа реализуемой микропроцессорной системы перечислены основные элементы, использованные в кодовом замке.
В разработке технического задания на программирование перечислены основные архитектурные составляющие, а также расписан ряд задач необходимых для внедрения на каждом из архитектурных слоёв.
В описании используемых компонентов в программируемой системе проведён сбор и анализ информации о каждом из элементов кодового замка.
В разработке необходимого математического обеспечения контроллера приведено описание принципа сравнения паролей и также физическая реализация базы данных.
В части описания разработанной структуры программного обеспечения приведено описание и разъяснение принципа связей работы каждого из слоёв системы.
В описании процесса отладки разработанного программного обеспечения приведены используемые инструменты для анализа на работоспособность каждого из слоёв архитектуры.
В описание разработанного и отлаженного программного обеспечения приведено описание для каждого из используемых методов в системе с отсылкой на приложения.
СОДЕРЖАНИЕ
ВВЕДЕНИЕ 3
2 АНАЛИЗ РЕАЛИЗУЕМОЙ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ 5
3 РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ НА ПРОГРАММИРОВАНИЕ 6
3.1 Аппаратный уровень 6
3.2 Сетевой уровень 7
3.3 Серверный уровень 8
4 ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ КОМПОНЕНТОВ В ПРОГРАММИРУЕМОЙ СИСТЕМЕ 10
4.1 ARDUINO UNO 10
4.2 ESP 8266 NodeMCU 12
4.3 Дисплей LCD 2004 13
4.4 Матричная клавиатура 4x4 14
4.5 Пьезоизлучатель звука KY-006 15
4.7 Сервопривод SG90 18
5 РАЗРАБОТКА НЕОБХОДИМОГО МАТЕМАТИЧЕСКОГО ОБЕСПЕЧЕНИЯ КОНТРОЛЛЕРА 20
6 ОПИСАНИЕ РАЗРАБОТАННОЙ СТРУКТУРЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 20
7 ОПИСАНИЕ ПРОЦЕССА ОТЛАДКИ РАЗРАБОТАННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 23
8ОПИСАНИЕ РАЗРАБОТАННОГО И ОТЛАЖЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ 24
8.1 Аппаратный уровень 24
8.2 Сетевой уровень 26
8.3 Серверный уровень 29
ЗАКЛЮЧЕНИЕ 31
СПИСОК ЛИТЕРАТУРЫ 32
ПРИЛОЖЕНИЕ 1 Схема электрическая принципиальная 34
ПРИЛОЖЕНИЕ 2 Спецификация 35
ПРИЛОЖЕНИЕ 3 Исходное ПО аппаратного уровня 37
ПРИЛОЖЕНИЕ 4 Исходное ПО сетевого уровня 49
ПРИЛОЖЕНИЕ 5 Антиплагиат 55
ВВЕДЕНИЕ
В данной курсовой рассматривается разработка программного обеспечения для кодового замка, предназначенного для использования в сферах деятельности требовательным к безопасности, где необходимо вести запись каждого взаимодействующего с объектом, например, сейфы, серверные, архивы и так далее.
Электронные кодовые замки стали всё более широко распространены в мире. К достоинствам таких замков можно отнести: отсутствие необходимости использования физического ключа, при краже которого злоумышленник может без каких-либо трудностей попасть к объекту; модульность электронных замков, благодаря которой можно использовать, помимо стандартного ввода с клавиатуры, и другие средства аутентификации пользователей. К недостаткам электронных кодовых замков можно отнести: возможность злоумышленника подсмотреть код, для таких случаев предусматривается настройка в кодовом замке, для вывода вводимых
символов на экране в виде одного символа, обозначающего всего лишь длину кода; при использовании кодового замка в целях ограничения участников взаимодействия используется набор паролей, но у большинства таких замков нет инструментов для просмотра истории взаимодействий по дате, поэтому нельзя будет точно сказать, кто был последним взаимодействующим. Эта проблема решается внедрением систем автоматизированной регистрации действий.
2 АНАЛИЗ РЕАЛИЗУЕМОЙ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ
В состав электронного кодового замка входят 7 основных компонентов:
-
Плата ARDUINO UNO; -
Плата ESP 8266 NODEMCU; -
Дисплей LCD 2004; -
Матричная клавиатура 4x4; -
Пьезоизлучатель звука KY-006; -
Линейный датчик Холла KY-024. -
Сервопривод SG90
3 РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ НА ПРОГРАММИРОВАНИЕ
Необходимо реализовать кодовый замок с поддержкой записи пользователей по их паролю в базу данных и оповещением главного пользователя о взаимодействии с кодовым замком.
3.1 Аппаратный уровень
Для платы Arduino Uno необходимо сделать:
-
Возможность ввода пароля с матричной клавиатуры -
При помощи Датчика Холла определять в каком положении находится дверца, к которой прикреплён кодовый замок -
Звуковое оповещение всех действий пользователя -
По протоколу связи в таблицах 1.1, 1.2, 1.3 осуществить подключение сетевому уровню кодового замка. И обрабатывать запросы из таблицы 1.4; -
Получение конфигурации от сетевого уровня по запросу getConfig. -
Пользовательский интерфейс на LCD 2004 c возможностью выбора типа используемого пароля и меню настроек. В настройки должны содержать параметры для вывода звука, и сокрытия пароля при вводе.
Требования:
-
Для ввода пароля с клавиатуры у пользователя должна быть возможность удаления введённых символов по одному, а также функция отправки пароля на проверку; -
Датчик Холла должен регистрировать непредвиденные случаи, такие как взлом или оставленная в открытом положении дверь после авторизированного пользователя. В случае его срабатывания отправляется запрос, составленный по протоколу связи, на регистрацию данного действия в базу данных и дальнейшей его обработки сервером; -
Настройка параметров звука должна распространяться на каждое пользовательское нажатие с клавиатуры. При отключении этого параметра пьезоэлемент не должен издавать никаких звуков, за исключением звука оповещения о вводе неправильного пароля; -
При включении параметра сокрытия пароля на экране отображается не цифровое отображение пароля, а лишь его количество в символах. Например, вводимый пароль «1234» на экране будет отображён как «****»; -
Конфигурационное сообщение должно представлять из себя сообщение из трех битов, где первый бит – настройка для звука; второй – настройка для отображения пароля; третий – блокировка взаимодействия с кодовым замком. -
При попытке неправильного ввода пароля на третий раз должна осуществляется блокировка устройства, которая может быть снята только с клиентской части Web-приложения. -
При блокировке формируется запрос на сетевой уровень, который в свою очередь отправляет запрос на серверную часть, чтобы переписать модель конфигурации кодового замка.
Таблица 1.1 – Протокол связи подключения к сетевому уровню
Запрос | check | Type | value |
Описание | Запрос на проверку | Тип пароля | Значение введённого пароля |
Пример | check:keypad:1234 – отправка на проверку пароля с клавиатуры |
Таблица 1.2 – Протокол связи для обработки датчика Холла
Запрос | hall | type |
Описание | Обработка датчика Холла | Тип срабатывания |
Пример | hall:unAuth – обработка взлома hall:unClosed – обработка незакрытой двери |