README.md |
Темы ВКР
В данном репозитории будут находится темы выпускных квалификационных работ для студентов Института математики и информационных систем. Для того, чтобы взять тему ВКР необходимо написать письмо в свободной форме на email usr22772@vyatsu.ru или связаться с кафедрой САУ.
Некоторые темы имеют коммерческий характер, некоторые являются вкладом в свободное ПО и позволят выйти на мировой уровень.
Как пополнять этот список
Можно воспользоваться одним из методов, приведённых ниже.
- В виде PR
- Форкнуть репозиторий.
- Внести изменения.
- Выполнить Pull request
- Написать на email usr22772@vyatsu.ru
- Создать issue в этом репозитории.
- Связаться с кафедрой САУ.
Список тем
nginx asgi module
Цель: интегрировать интерпретатор python в HTTP-сервер NGINX для выполнения ASGI-совместимых проектов для сокращения времени ответа и уменьшения расхода RAM.
ASGI - интерфейс обращения к python-вебсервисам, python-фреймворкам, способным работать асинхронно. Например, Django.
План действий:
- Обзор и изучение.
- Изучить язык программирования python. Изучить виртуальные окружения python.
- Изучить язык программирования C.
- Изучить протокол HTTP.
- Сконфигурировать nginx сервер на Linux машине (можно и виртуальной) для отдачи статических файлов.
- Создать простой проект Django.
- Сконфигурировать nginx сервер и gunicorn сервер для доступа к Django проекту.
- Скомпилировать nginx проект из исходных кодов.
- Создать простой плагин для nginx
- Реализовать плагин nginx, интегрирующий интерпретатор python.
Тема может быть выполнена одним человеком, коллективом из двух-трёх человек.
FBD web-редактор
Цель: реализовать редактор FBD (Function Block Diagram) стандарта IEC 61131 (раздел IEC 61131-3).
FBD используются в промышленной автоматизации для визуального программирования.
План действий:
- Обзор.
- IEC 61131-3 и промышленная автоматизация.
- SVG и другие графические форматы построения диаграмм.
- XML и возможность его расширения.
- Существующие графские редакторы диаграмм.
- Реализация.
- Расширение SVG-формата. Добавление метаданных блоков.
- Доработка редактора диаграмм до расширенного SVG-формата.
Генератор кода форм и их обработчиков на ESP32
Цель: автоматизировать разработку веб-приложений для проектов на базе микроконтроллеров.
Большинство проектов на базе модулей ESP32 и подобных имеют встроенные веб-приложения для конфигурирования этих устройств. Всякий микроконтроллер обладает относительно небольшим количеством вычислительных ресурсов и памяти, что не позволяет использовать интерпретаторы типа python и php. В настоящее время требуется написание отдельно веб-приложения и отдельно обработчиков запросов от этого веб-приложения на языке Си.
Необходимо разработать такой инструмент, который позволит составить список форм, присутствующих на странице конфигурации, сгенерирует код валидации форм на языке Си на стороне микроконтроллера.
Firmware OTA server
Цель: реализовать Over-the-air update сервер для хранения, версифицирования и раздачи прошивок (программа для контроллеров, устройств)
Промышленные станки, умные чайники да и всё, что имеет вычислительные узлы нуждаются в обновлении программного обеспечения на борту. Один из простых способов доставки ПО является OTA. Такой сайт имеет несколько требований:
- Сохранение поступащих файлов с прошивой и метаданными после сборки.
- Визуализация информации о всех поступивших прошивках.
- Отображение информации о времени обращения к фалам прошивки от конкретного устройства.
Проекты в исполнении
Расширение для 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:
- встроенное ПО (прошивка) ESP32 модуля. Получение значений напряжения, веб-сервер, передача значений напряжения веб-приложению через WiFi или USB.
- Веб-приложение, которое является индикатором напряжения. Возможно построение графиков напряжений, построение графиков, где оси X и Y - оба канала мультиметра.
Работа может быть выполнена двумя студентами.
python-rsync
Утилита копирования файлов аналогичная rsync
Выполненные проекты
Мультиметр на базе модуля ESP32
Разработано устройство "Мультиметр на базе модуля ESP32": выполнена разработка схемотехники устройства, трассировка устройства, изготовление устройства на производстве Резонит (город Зеленоград, Московская область). Устройство имеет два канала измерения с диапазоном от -30 до 30 вольт с частотой выборки 10’000 семплов в секунду. Написано простейшее программное обеспечение для устройства.