Файл: Пояснительная записка к курсовой работе Разработка по для кодового замка по курсу Программирование микропроцессоров.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 121

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.












МИНОБРНАУКИ РОССИИ

федеральное государственное бюджетное

образовательное учреждение высшего образования

«Самарский государственный технический университет»

Институт автоматики и информационных технологий

Кафедра «Информационно – измерительная техника»
Пояснительная записка
к курсовой работе Разработка ПО для кодового замка
по курсу Программирование микропроцессоров

Нормоконтроль__________________________________ Д.С. Гордиенко

Руководитель работы ____________________________ Е.В. Мельников

Студент Скляров Д.В.

Группа 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 основных компонентов:

  1. Плата ARDUINO UNO;

  2. Плата ESP 8266 NODEMCU;

  3. Дисплей LCD 2004;

  4. Матричная клавиатура 4x4;

  5. Пьезоизлучатель звука KY-006;

  6. Линейный датчик Холла KY-024.

  7. Сервопривод SG90



3 РАЗРАБОТКА ТЕХНИЧЕСКОГО ЗАДАНИЯ НА ПРОГРАММИРОВАНИЕ



Необходимо реализовать кодовый замок с поддержкой записи пользователей по их паролю в базу данных и оповещением главного пользователя о взаимодействии с кодовым замком.

3.1 Аппаратный уровень


Для платы Arduino Uno необходимо сделать:

  1. Возможность ввода пароля с матричной клавиатуры

  2. При помощи Датчика Холла определять в каком положении находится дверца, к которой прикреплён кодовый замок

  3. Звуковое оповещение всех действий пользователя

  4. По протоколу связи в таблицах 1.1, 1.2, 1.3 осуществить подключение сетевому уровню кодового замка. И обрабатывать запросы из таблицы 1.4;

  5. Получение конфигурации от сетевого уровня по запросу getConfig.

  6. Пользовательский интерфейс на LCD 2004 c возможностью выбора типа используемого пароля и меню настроек. В настройки должны содержать параметры для вывода звука, и сокрытия пароля при вводе.

Требования:

  1. Для ввода пароля с клавиатуры у пользователя должна быть возможность удаления введённых символов по одному, а также функция отправки пароля на проверку;

  2. Датчик Холла должен регистрировать непредвиденные случаи, такие как взлом или оставленная в открытом положении дверь после авторизированного пользователя. В случае его срабатывания отправляется запрос, составленный по протоколу связи, на регистрацию данного действия в базу данных и дальнейшей его обработки сервером;

  3. Настройка параметров звука должна распространяться на каждое пользовательское нажатие с клавиатуры. При отключении этого параметра пьезоэлемент не должен издавать никаких звуков, за исключением звука оповещения о вводе неправильного пароля;

  4. При включении параметра сокрытия пароля на экране отображается не цифровое отображение пароля, а лишь его количество в символах. Например, вводимый пароль «1234» на экране будет отображён как «****»;

  5. Конфигурационное сообщение должно представлять из себя сообщение из трех битов, где первый бит – настройка для звука; второй – настройка для отображения пароля; третий – блокировка взаимодействия с кодовым замком.

  6. При попытке неправильного ввода пароля на третий раз должна осуществляется блокировка устройства, которая может быть снята только с клиентской части Web-приложения.

  7. При блокировке формируется запрос на сетевой уровень, который в свою очередь отправляет запрос на серверную часть, чтобы переписать модель конфигурации кодового замка.



Таблица 1.1 – Протокол связи подключения к сетевому уровню

Запрос

check

Type

value

Описание

Запрос на проверку

Тип пароля

Значение введённого пароля

Пример

check:keypad:1234 – отправка на проверку пароля с клавиатуры


Таблица 1.2 – Протокол связи для обработки датчика Холла

Запрос

hall

type

Описание

Обработка датчика Холла

Тип срабатывания

Пример

hall:unAuth – обработка взлома

hall:unClosed – обработка незакрытой двери