commit e92efbba8973ad381ec04325acf8f8a8c57629bb Author: Stepan Pliaskin Date: Mon Sep 4 14:36:59 2023 +0300 first commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..da3835b --- /dev/null +++ b/README.md @@ -0,0 +1,79 @@ +# Темы ВКР + +- [Темы ВКР](#темы-вкр) + - [Как пополнять этот список](#как-пополнять-этот-список) + - [Список тем](#список-тем) + - [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 - оба канала мультиметра. + +Работа может быть выполнена двумя студентами.