104 lines
9.4 KiB
Markdown
104 lines
9.4 KiB
Markdown
# Темы ВКР
|
||
|
||
- [Как пополнять этот список](#как-пополнять-этот-список)
|
||
- [Список тем](#список-тем)
|
||
- [nginx asgi module](#nginx-asgi-module)
|
||
- [FBD web-редактор](#fbd-web-редактор)
|
||
- [Генератор кода форм и их обработчиков на ESP32](#генератор-кода-форм-и-их-обработчиков-на-esp32)
|
||
- [Расширение для VS Code: редактор форм tkinter](#расширение-для-vs-code-редактор-форм-tkinter)
|
||
- [Проекты в исполнении](#проекты-в-исполнении)
|
||
- [Программное обеспечение для мультиметра на базе модуля ESP32](#программное-обеспечение-для-мультиметра-на-базе-модуля-esp32)
|
||
- [python-rsync](#python-rsync)
|
||
- [Выполненные проекты](#выполненные-проекты)
|
||
- [Мультиметр на базе модуля 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. В настоящее время требуется написание отдельно веб-приложения и отдельно обработчиков запросов от этого веб-приложения на языке Си.
|
||
|
||
Необходимо разработать такой инструмент, который позволит составить список форм, присутствующих на странице конфигурации, сгенерирует код валидации форм на языке Си на стороне микроконтроллера.
|
||
|
||
### Расширение для VS Code: редактор форм tkinter
|
||
|
||
Цель: создать визуальный редактор форм для python-приложений, использующих tkinter для создания форм.
|
||
|
||
Язык разработки Python является широкораспространённым. Сам интерпретатор Python часто поставляется с модулем tkinter, предназначенным для создания GUI. Визуальных редакторов форм вообще не много, как правило они поставляются в составе какой-нибудь тяжёлой IDE типа Visual Studio или RAD Studio (когда-то Delphi 7).
|
||
|
||
Необходимо разработать расширение для VS Code, где с помощью drag-and-drop можно быстро создавать формы.
|
||
|
||
## Проекты в исполнении
|
||
|
||
### Программное обеспечение для мультиметра на базе модуля ESP32
|
||
|
||
В 2023 студентом кафедры САУ в качестве ВКР было разработано устройство (схемотехника + трассировка + изготовление + пайка). Мультиметр двуканальный с диапазоном измерений -30В…+30В.
|
||
|
||
Цель: написать ПО для мультиметра на базе модуля ESP32:
|
||
1. встроенное ПО (прошивка) ESP32 модуля. Получение значений напряжения, веб-сервер, передача значений напряжения веб-приложению через WiFi или USB.
|
||
2. Веб-приложение, которое является индикатором напряжения. Возможно построение графиков напряжений, построение графиков, где оси X и Y - оба канала мультиметра.
|
||
|
||
Работа может быть выполнена двумя студентами.
|
||
|
||
### python-rsync
|
||
|
||
Утилита копирования файлов аналогичная rsync
|
||
|
||
## Выполненные проекты
|
||
|
||
### Мультиметр на базе модуля ESP32
|
||
|
||
Разработано устройство "Мультиметр на базе модуля ESP32": выполнена разработка схемотехники устройства, трассировка устройства, изготовление устройства на производстве Резонит (город Зеленоград, Московская область). Устройство имеет два канала измерения с диапазоном от -30 до 30 вольт с частотой выборки 10’000 семплов в секунду. Написано простейшее программное обеспечение для устройства.
|