Реферат 2
ВВЕДЕНИЕ 3
1 Обзор систем удалённого доступа 4
1.1 Актуальность выбранной темы 4
1.2 Виртуальные лаборатории 4
1.3 Программные симуляторы 7
1.4 Системы удалённого доступа 10
1.5 Выводы 11
2 Разработка системы удалённого управления платой STM32 13
2.1 Обзор поставленной задачи и оборудования 13
2.2 Разработка архитектуры системы удалённого управления платой
STM32 15
2.3 Прошивка платы STM32 в режиме удалённого доступа 18
2.4 Разработка аппаратной части системы удалённого управления платой
STM32 20
2.4.1 Анализ и выбор аппаратного обеспечения для лабораторного
стенда 20
2.4.2 Подключение Arduino Uno к STM32 21
2.5 Управление периферийными устройствами STM32 в режиме
удалённого доступа 22
2.6 Разработка управляющих скриптов для автоматизации ввода
управляющих команд 26
2.6.1 Разработка скрипта для программирования STM32 26
2.6.2 Разработка скрипта для управления периферийными устройствами
STM32 28
2.6.3 Разработка скрипта для очистки памяти платы STM32 29
2.7 Разработка тестовых программ для STM32 30
2.8 Выводы 32
3 Тестирование разработанной системы 33
3.1 Монтаж лабораторного стенда 33
3.2 Тестирование без участия сервера 34
3.3 Тестирование с участием сервера 36
3.4 Тестирование в режиме «точка-точка» 38
3.5 Выводы 39
ЗАКЛЮЧЕНИЕ 41
СПИСОК СОКРАЩЕНИЙ 43
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 44
ПРИЛОЖЕНИЕ А 46
ПРИЛОЖЕНИЕ Б 49
В настоящее время актуальной является проблема доступа к лабораторному оборудованию во время дистанционного обучения. В различных учебных заведениях применяются разные варианты решения этого вопроса. В данной работе был проведён анализ возможных вариантов его решения, а также разработана подсистема удалённого управления платой STM32 для системы удалённого доступа к лабораторному оборудованию.
Целью работы является разработка подсистемы удалённого управления платой STM32 для системы удалённого доступа к лабораторному оборудованию.
В данной работе использовалась платы STM32F407G-DISC1, Arduino Uno R3, среды разработки STM32CubeIDE 1.8.0 и Arduino IDE, а также утилита для программирования микроконтроллеров STM32:
STM32CubeProgrammer. Программное обеспечение реализовано на языках Python и C/C++.
В процессе реализации проекта поэтапно решались определенные по результатам анализа задания на ВКР задачи. На начальном этапе были рассмотрены известные программные и аппаратные решения по удаленному доступу к лабораторному оборудованию. Это позволило из прочих выбрать принцип организации доступа, примененный в НИЯУ ВШЭ, расширив его возможностью подключения различного оборудования, а также доступом через сайт и мобильное приложение вместо удалённого рабочего стола.
На втором этапе, при создании системы удалённого управления платой STM32 рассмотрена разработанная общая архитектура и организация сетевого взаимодействия аппаратных средств, а также разработана архитектура лабораторного стенда и предложен способ взаимодействия элементов стенда. Это позволило перейти к выбору требуемого аппаратного обеспечения и дальнейшей разработке аппаратной и программной частей лабораторного стенда. Также была выполнена интеграция ПО производителя STM32 для программирования конечного устройства стенда в режиме удалённого доступа. На этом этапе была разработана программа для управляющей платы, позволяющая управлять периферийными устройствами платы STM32 с помощью Arduino. Также были разработаны скрипты для серверного ПО, позволяющие автоматизировать ввод управляющих команд, и программы для последующего тестирования системы удалённого управления STM32.
На третьем, заключительном, этапе работ, было выполнено тестирование разработанной системы в трёх режимах: без использования сервера, с участием сервера на ПК лабораторного стенда и в режиме «точка- точка». При тестировании использовалось API и серверное ПО, созданное рабочей группой проекта. Результаты тестирования показали нормальное функционирование всех частей разработанной системы, определённых заданием на ВКР. Тем не менее, тестирование показало некоторые недочёты 41
в работе системы, а именно: задержку трансляции видео, сбои в работе управляющей платы при перезагрузке сервера, необходимость выдерживать время между отправкой управляющих команд для Arduino, а также недостаточную информативность при передаче видео. Полученные результаты тестирования можно использовать при разработке дальнейшего плана модификации лабораторного комплекса.
Таким образом, все поставленные задачи ВКР решены, что позволяет сделать вывод о достижении цели работы.