# Темы ВКР - [Темы ВКР](#темы-вкр) - [Как пополнять этот список](#как-пополнять-этот-список) - [Список тем](#список-тем) - [nginx asgi module](#nginx-asgi-module) - [FBD web-редактор](#fbd-web-редактор) - [Генератор кода форм и их обработчиков на ESP32](#генератор-кода-форм-и-их-обработчиков-на-esp32) - [Программное обеспечение для мультиметра на базе модуля ESP32](#программное-обеспечение-для-мультиметра-на-базе-модуля-esp32) В данном репозитории будут находится темы выпускных квалификационных работ для студентов Института математики и информационных систем. Для того, чтобы взять тему ВКР необходимо написать письмо в свободной форме на email usr22772@vyatsu.ru или связаться с кафедрой [САУ](https://www.vyatsu.ru/studentu-1/nauka-i-praktika/favt-2/kafedra-avtomatiki-i-telemehaniki-1.html.html). Некоторые темы имеют коммерческий характер, некоторые являются вкладом в свободное ПО и позволят выйти на мировой уровень. ## Как пополнять этот список Можно воспользоваться одним из методов, приведённых ниже. 1. В виде PR 1. Форкнуть репозиторий. 2. Внести изменения. 3. Выполнить Pull request 2. Написать на email usr22772@vyatsu.ru 3. Создать issue в этом репозитории. 4. Связаться с кафедрой [САУ](https://www.vyatsu.ru/studentu-1/nauka-i-praktika/favt-2/kafedra-avtomatiki-i-telemehaniki-1.html.html). ## Список тем ### nginx asgi module Цель: интегрировать интерпретатор python в HTTP-сервер [NGINX](https://nginx.org/ru/) для выполнения [ASGI](https://asgi.readthedocs.io/en/latest/)-совместимых проектов для сокращения времени ответа и уменьшения расхода RAM. ASGI - интерфейс обращения к python-вебсервисам, python-фреймворкам, способным работать асинхронно. Например, [Django](https://www.djangoproject.com/). План действий: 1. Обзор и изучение. 1. Изучить язык программирования python. Изучить виртуальные окружения python. 2. Изучить язык программирования C. 3. Изучить протокол HTTP. 4. Сконфигурировать nginx сервер на Linux машине (можно и виртуальной) для отдачи статических файлов. 5. Создать простой проект Django. 6. Сконфигурировать nginx сервер и gunicorn сервер для доступа к Django проекту. 7. Скомпилировать nginx проект из исходных кодов. 8. Создать простой плагин для nginx 2. Реализовать плагин nginx, интегрирующий интерпретатор python. Тема может быть выполнена одним человеком, коллективом из двух-трёх человек. ### FBD web-редактор Цель: реализовать редактор FBD (Function Block Diagram) стандарта IEC 61131 (раздел [IEC 61131-3](https://ru.wikipedia.org/wiki/IEC_61131-3)). FBD используются в промышленной автоматизации для визуального программирования. План действий: 1. Обзор. 1. IEC 61131-3 и промышленная автоматизация. 2. SVG и другие графические форматы построения диаграмм. 3. XML и возможность его расширения. 4. Существующие графские редакторы диаграмм. 2. Реализация. 1. Расширение SVG-формата. Добавление метаданных блоков. 2. Доработка редактора диаграмм до расширенного SVG-формата. ### Генератор кода форм и их обработчиков на ESP32 Цель: автоматизировать разработку веб-приложений для проектов на базе микроконтроллеров. Большинство проектов на базе модулей ESP32 и подобных имеют встроенные веб-приложения для конфигурирования этих устройств. Всякий микроконтроллер обладает относительно небольшим количеством вычислительных ресурсов и памяти, что не позволяет использовать интерпретаторы типа python и php. В настоящее время требуется написание отдельно веб-приложения и отдельно обработчиков запросов от этого веб-приложения на языке Си. Необходимо разработать такой инструмент, который позволит составить список форм, присутствующих на странице конфигурации, сгенерирует код валидации форм на языке Си на стороне микроконтроллера. ### Программное обеспечение для мультиметра на базе модуля ESP32 В 2023 студентом кафедры САУ в качестве ВКР было разработано устройство (схемотехника + трассировка + изготовление + пайка). Мультиметр двуканальный с диапазоном измерений -30В…+30В. Цель: написать ПО для мультиметра на базе модуля ESP32: 1. встроенное ПО (прошивка) ESP32 модуля. Получение значений напряжения, веб-сервер, передача значений напряжения веб-приложению через WiFi или USB. 2. Веб-приложение, которое является индикатором напряжения. Возможно построение графиков напряжений, построение графиков, где оси X и Y - оба канала мультиметра. Работа может быть выполнена двумя студентами.