Проектирование удаленной лаборатории с целью проведения лабораторных опытов для школ
Designing a remote laboratory to conduct laboratory experiments for schools
Авторы
Аннотация
Целью работы явилось проектирование системы удаленной лаборатории, которая обеспечит проведение лабораторных опытов для школ, нуждающихся в этом. Для реализации проекта, были поставлены следующие задачи: провести анализ возможности автоматизации проведения опытов и определения материальной базы; провести анализ предметной области для выявления функциональных требований к разрабатываемому приложению; определить средства разработки для приложения. В результате внедрения системы удаленной лаборатории планируется решить следующие проблемы: нехватка лабораторного оборудования, отсутствие возможности проведения сложных опытов по физике, химии и биологии.
Ключевые слова
удаленная лаборатория, риски разработки удаленной лаборатории, лабораторное оборудование, автоматизация проведения опытов, проведение лабораторных опытов для школ
Финансирование
Статья подготовлена в рамках мероприятия SC-2020 Международного конкурса научных работ и проектов молодых исследователей «Умный город – 2020» (Наука и образование ON-LINE)
Рекомендуемая ссылка
Турищев Инвер Вадимович,Киселев Никита Владимирович. Проектирование удаленной лаборатории с целью проведения лабораторных опытов для школ // Современные технологии управления. ISSN 2226-9339. — №2 (92). Номер статьи: 9214. Дата публикации: 01.07.2020. Режим доступа: https://sovman.ru/article/9214/
Authors
Abstract
The aim of the work was to design a remote laboratory system that would provide laboratory experiments for schools in need of this. To implement the project, the following tasks were set: to analyze the feasibility of automating experiments and determining the material base; conduct a domain analysis to identify the functional requirements for the application being developed; Define development tools for the application. As a result of the implementation of the remote laboratory system, it is planned to solve the following problems: lack of laboratory equipment, lack of the ability to conduct complex experiments in physics, chemistry and biology.
Keywords
remote laboratory, risks of developing a remote laboratory, laboratory equipment, automation of experiments, laboratory experiments for schools
Project finance
This article was prepared as part of the SC-2020 event of the International Competition of Scientific Works and Projects of Young Researchers “Smart City - 2020” (Science and Education ON-LINE)
Suggested citation
Turishchev Inver Vadimovich,Kiselev Nikita Vladimirovich. Designing a remote laboratory to conduct laboratory experiments for schools // Modern Management Technology. ISSN 2226-9339. — №2 (92). Art. # 9214. Date issued: 01.07.2020. Available at: https://sovman.ru/article/9214/
Введение
Во многих средних образовательных организациях регионов нашей страны (школах пригорода и сельской местности) возникают проблемы с проведением лабораторных работ. В частности, причиной проблемы является отсутствие необходимого лабораторного оборудования, его устаревание или нахождение в состоянии, подлежащее списанию. Был проведен опрос среди педагогов 10-ти школ города Нижнего Тагила и пригородного района, по вопросу обеспеченности оборудованием для проведения практических занятий. Опрос показал, что более половины опрошенных не устраивает качество имеющегося оборудования. В некоторых школах отсутствует оборудование для проведения части опытов: по оптике, органической химии, электродинамике, электростатике и др.
По результатам анкетирования были выявлены дисциплины, с которыми проблема стоит наиболее остро, а также определено состояние оборудования. Наиболее сложная ситуация оказалась у учителей физики, особенно, когда необходимо проводить опыты, связанные с электрическими, магнитными или световыми эффектами. Многие школы пользуются еще советскими образцами оборудования, отсутствует стендовое оборудования для демонстрации работы сложных электронных компонентов (например: транзисторов и диодов). Также отмечается, что некоторые школы не обеспечены оборудованием для проведения демонстраций магнитного поля, отсутствуют подковообразные магниты, отсутствие стендов для демонстрации линий магнитного поля. А для демонстрации световых явлений, имеются только выпуклые линзы и экраны для демонстрации их эффекта.
Также, трудности испытывают и учителя химии. Некоторые простые опыты можно произвести с использованием подручных средств (поваренная соль, пищевая сода, уксус, мел и т.д.), такие занятия зачастую не требуют сложного оборудования. Но, с другой стороны, для более сложных опытов не хватает реактивов (качественные реакции, реакция серебряного зеркала, возгонка йода и др.), или оборудования, например для опытов с демонстрацией электролитических свойств. Многие учителя отмечают, что лабораторная посуда находится в неудовлетворительном состоянии, имеет сколы и трещины, такое оборудование не пригодно для проведения качественных и безопасных опытов. Кроме всего прочего, некоторые школы не могут позволить себе качественную вытяжку в кабинетах химии, что делает проведение некоторых опытов невыполнимым.
Предварительно проведенный опрос показал, что среди опрошенных более 42% ответило, что лабораторное оборудование, находящееся в их образовательной организации старше 10 лет. В 63% организаций ближайшие три года оборудование обновлять не планируется. Более 55% педагогов не удовлетворены качеством и состоянием имеющегося лабораторного оборудования.
Цель работы – проектирование системы удаленной лаборатории, которая обеспечит проведение лабораторных опытов для школ, нуждающихся в этом.
Для реализации проекта, были поставлены следующие задачи:
- провести анализ возможности автоматизации проведения опытов и определения материальной базы;
- провести анализ предметной области для выявления функциональных требований к разрабатываемому приложению;
- определить средства разработки для приложения.
В результате внедрения системы удаленной лаборатории планируется решить следующие проблемы: нехватка лабораторного оборудования, отсутствие возможности проведения сложных опытов по физике, химии и биологии.
Анализ предметной области
В условиях сложной обстановки в мире, концепция удаленного образования становится все более популярной, однако, если теоретические занятия, и занятия по решению задач не вызывают трудностей (многие преподаватели используют возможности уже готовых продуктов: Skype, Discord, WhatsApp, Zoom и др.), то проведение лабораторных работ становится практически невозможным, в классическом понимании. Все, что сейчас можно предложить современным ученикам – просмотр видеоматериалов с демонстрацией опыта. Такой подход имеет существенные недостаток – ученик не является участником процесса, а лишь наблюдателем, что исключает личную значимость опыта, а значит плохо влияет на усвоение материала и его применения в будущем.
Для выявления возможных решений проблемы в рамках разработки проекта были рассмотрены аналоги концепции. Поскольку на территории Российской Федерации прямых аналогичных решений, а именно физических удаленных лабораторий не существует, рассмотрим некоторые из них. Algodoo – программа предназначенная для 2D физических симуляций. В данном симуляторе опыты основываются на математическом моделировании, которое имеет ограниченное число параметров реального мира. Главными плюсами данного решения являются простота и интерактивность, однако такой симулятор создает условия лишь приближенные к реальности и результат выходит получается идеальным, исключая любые погрешности, что в свою очередь дает ученикам ложное представление о протекающих процессах, также программа Algodoo не подходит к реализации опытов, имеющих сложные взаимодействия. Такой подход идеален в качестве сопровождающего материала, когда невозможно увидеть реальные процессы, например действия магнитного поля или молекулярные реакции.
Вторым рассмотренным решением является Labshare. Консорциум, созданный по инициативе министерства образования, занятости и трудовых отношений Австралии и включающий в себя 5 ВУЗов Австралии. Этот проект использует стриминговую основу. Через веб-интерфейс осуществляются манипуляции над процессами опытов, изображение происходящего передается путем трансляций на экраны пользователей. На данный момент внедрение Labshare на территории Российской Федерации является невозможным, так как он создан определенным количеством образовательных организаций Австралии, доступ к нему имеют только студенты данных организаций.
Однако, на текущий момент сложно судить о судьбе проекта Labshare, поскольку официальный сайт не доступен на территории РФ, можно лишь предположить, что проект точно существовал четыре года: первый проведенный проект транслировался в 2008 году, а последняя публикация (книга: Labshare: Towards Cross-Institutional Laboratory Sharing / Labshare: на встречу межвузовскому лабораторному вещанию) датируется 2012 годом.
Третий подход к решению задачи проведения практических занятий – использование различных видео-ресурсов. Такой подход максимально исключает манипуляции в ходе опыта. Единственное действующее лицо при таком подходе – лектор, объясняющий ход эксперимента. Главный недостаток в использовании видео-ресурсов – это заранее известный и записанный результат опыта. С другой стороны, в качестве преимущества можно отметить, что опыты полностью соответствуют действительности и зачастую уже содержат пояснительные материалы, графики и формулы. К сожалению, они не позволяют ученикам самостоятельно проводить опыты, что ограничивает полноту понимая сути практического занятия и приводит к потере интереса.
Кроме вышеизложенного можно отметить различные веб-ресурсы, которые используют сочетание использования видеоматериалов и использования различных flash-версий демонстрационных программ типа Algodoo. Например, программа STAR, Массачусетского технологического института (MIT) или проект VirtualLab.
В таблице 1 приведен краткий анализ рассмотренных решений [12].
Таблица 1. Сравнительная таблица готовых решений
Название решения | Возможность внедрения на территории РФ | Реалистичность | Возможность управлять процессом | Возможность проведения большинства опытов | Особенности |
Algodoo | + | — | + | — | Симулятор, имитирующий проведения опытов |
Labshare | — | + | + | + | Наглядная физическая лаборатория, позволяющая проводить опыты |
Видео-ресурсы | + | + | — | + | Наглядность и отсутствие возможности повлиять на процесс |
Из предложенных вариантов, только два используются на территории Российской Федерации, но из вышеизложенного становится понятно, что они не отвечают требования процесса обучения и не способны передать тот опыт, который учащиеся получают при личном управлении ходом эксперимента. Таким образом, наиболее верное решение – создание системы удаленной лаборатории.
Выбор средств разработки
Удаленная лаборатория – продукт, рассчитанный на массовое использование, при чем основные транслируемые данные – видеоматериалы, что делает систему высоконагруженной. Для успешного функционирования подобного проекта необходим стабильный и высокоскоростной доступ в интернет, надежный хостинг, рассчитанный на передачу больших объемов информации. И самое главное – доступность широкой аудитории.
На сегодняшний момент, по данным сервиса Яндекс.Радар, самый популярный тип устанавливаемого программного обеспечения – браузеры, всего на территории Российской Федерации установлено более 4 млрд. копий различных браузеров [21].
Таким образом, наиболее оптимальный вариант создания пользовательского интерфейса – это использование веб-технологий. Разработка веб-сервиса включает в себя: веб-интерфейс, сервер, база данных. Поскольку сервис имеет свою специфику, а именно удаленное управление оборудованием, то необходим программный слой, обеспечивающий взаимодействие веб-интерфейса и аппаратного обеспечения лаборатории.
Веб-интерфейс (frontend) — клиентская сторона пользовательского интерфейса к программно-аппаратной части сервиса. На сегодняшний день существует великое множество различных библиотек и фреймворков упрощающих создание клиентского интерфейса. Рассмотрим наиболее популярные решения: AngularJS, React, Vue.JS.
AngularJS — JavaScript-фреймворк с открытым исходным кодом. Предназначен для разработки одностраничных приложений. Фреймворк работает с HTML, содержащим дополнительные пользовательские атрибуты, которые описываются директивами, и связывает ввод или вывод области страницы с моделью, представляющей собой переменные JavaScript [4].
React — JavaScript-библиотека с открытым исходным кодом для разработки пользовательских интерфейсов, а также одностраничных приложений. Его цель — предоставить высокую работоспособность, простоту кода, расширяемость и масштабируемость. В качестве библиотеки для разработки пользовательских интерфейсов React часто используется с другими библиотеками, такими как Redux и GraphQL [5].
Vue.JS — JavaScript-фреймворк с открытым исходным кодом для создания пользовательских интерфейсов. Легко интегрируется в проекты с использованием других JavaScript-библиотек. Может функционировать как веб-фреймворк для разработки одностраничных приложений [6].
Для дальнейшего сравнения, выделим несколько ключевых моментов, связанных непосредственно с веб-разработкой:
- DOM (Document Object Model) – объектная модель документа, позволяющая считывать и менять содержимое, оформление и даже структуру HTML-документов;
- API (Application Programming Interface) – программный интерфейс при помощи которого одна программа/приложение может общаться с другими.
При выборе фреймворка были выделены основные критерии сравнения: рендеринг, архитектура компонентов, направленность и классы зависимостей, обратная совместимость.
Рендеринг – быстрота загрузки страницы. В современной архитектуре существует два вида рендеринга: на стороне клиента и на стороне сервера. Некоторые фреймворки (например Vue.JS и React) создают копию DOM, обрабатывают ее, а затем результат сравнивается с исходной версией. В конечном документе заменяются только те части страницы, которые отличаются от результатов обработки. Существует также двухпоточный рендеринг, причем за рендеринг DOM «отвечает» браузер (клиентская часть), а загрузку кода и сервисов – общий поток (серверная часть). Этот способ является менее оптимизирующим и не максимизирующим экономию трафика.
Рассматривая архитектуру компонентов, кроме всего, стоит обратить внимание на API, поставляемый вместе с фреймворками, необходимый для упрощения разработки, он позволяет использовать готовые блоки кода для построения приложения. Низкоуровневые API требуют большего времени для настройки, в отличии от высокоуровневых. Также высокоуровневые API обеспечивают обратную совместимость для всех библиотек.
Обратная совместимость имеет немаловажную часть при обновлении архитектуры приложения и подключения новых модулей и библиотек. Поскольку все рассматриваемые фреймворки основаны на JavaScript, то и обратная совместимость присутствует, кроме всего прочего, каждый фреймворк можно дополнить, используя свои конструкции, не нарушая целостность фреймворка.
Также при выборе фреймворка стоит учесть наличие поддержки веб-хуков и веб-сокетов. Это необходимо для того, чтобы исключить возможные трудности при разработке и настройке удаленной лаборатории.
Веб-сокет (англ. WebSocket) — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. Поскольку проект удаленной лаборатории предлагает в режиме реального времени взаимодействовать с оборудованием лаборатории, то поддержание стабильного соединения – приоритет сервера. Технология веб-сокетов поможет решить эту проблему.
Веб-хук (англ. Webhook) — метод расширения или изменения поведения веб-страницы или веб-приложения с помощью обратных вызовов. Эти обратные вызовы могут поддерживаться, изменяться и управляться сторонними пользователями и разработчиками, которые не обязательно связаны с исходным веб-сайтом или приложением. В отличие от веб-сокетов, хуки работают на стороне сервера и позволяют оперативно передавать данные об оборудовании.
В идеальном варианте, необходимо, чтобы время на установление связи клиент-сервер-оборудование варьировалось от 30 мс до 90 мс, такое же утверждение справедливо и для ответного пути: оборудование-сервер-клиент. Среднее время ожидания ответа будет в районе 120 мс, чего вполне достаточно для проведения опыта [10][11].
Результаты сравнения представлены в таблице 2.
Таблица 2. Сравнительная таблица средств разработки веб-интерфейса
Фреймворк | Рендеринг | Архитектура компонентов | Направленность и классы зависимостей | Обратная совместимость | Поддержка веб-сокетов и веб-хуков |
Vue.JS | Поддержка DOM | Высокоуровневый API | Односторонняя передача данных | Полная обратная совместимость | + |
React | Поддержка DOM | Низкоуровневый API | Односторонняя передача данных | Полная совместимость между версиями | — |
AngularJS | Двух потоковый рендеринг | Высокоуровневый API | Модульная архитектура описания взаимодействия объектов | Абсолютная зависимость от предыдущих версий | — |
Таким образом для разработки веб-интерфейса удаленной лаборатории наиболее подходящим является фреймворк Vue.JS благодаря своей оптимизированной архитектуре и удобности в использовании, также в нем присутствует поддержка веб-сокетов и веб-хуков.
Для реализации демонстрации хода опытов необходимо внедрение технологии онлайн-трансляций в реальном времени. Было рассмотрено два способа внедрения. Первый способ – трансляция видеопотока от IP-камеры напрямую. Это самый простой способ трансляции, так как для него требуется только IP-камера и подключение к сети, желательно, со статическим IP-адресом. IP-адрес может быть как внешний, так и локальный. Для отображения онлайн потока на сайте, в код страницы необходимо добавить HTML-код плеера IP-камеры.
Для возможности поддержания трансляции IP-камеры необходима регистрация доменного имени и наличие хостинга или виртуальной удаленной машины с хорошей пропускной способностью. Поскольку на сегодняшний день множество компаний представляют подобные услуги в любых возможных конфигурациях, для дальнейших расчётов возьмем покупку доменного имени на год – 2000 рублей, и аренда виртуальной машины на год 20868 (1739 * 12). В итоге для создания базовой системы понадобится 22868 рублей (в максимальной конфигурации).
Второй способ – организация собственного медиа сервера. Медиа сервер предназначен для приема медиа потоков от различных источников или медиа файлов и раздачи их для просмотра на различные пользовательские платформы. Отличительной особенностью медиа серверов является поддержка источников различных форматов. Далее сигнал в требуемом формате по нужному протоколу передается на клиентские устройства. В качестве примера, рассмотрим три сервиса по созданию медиа-серверов.
Первым является Flash Media Server. Это коммерческим продукт компании Adobe Systems. Существуют несколько версий данного продукта, которые отличаются между собой стоимостью, количеством одновременных подключений и собственно набором функционала. Его плюсами являются поддержка передачи высокого качества изображения, стабильность соединения и наличие возможности организовывать сессию для большого количества людей. Явным минусом продукта является дороговизна.
Второй рассмотренный сервис – Wowza Streaming Engine. Бесплатная версия позволяет одновременно подключить 10 клиентов, коммерческая версия не имеет ограничений. Wowza поддерживает протоколы вещания RTP/RTSP и другие, что дает ему дополнительное преимущество по сравнению с другими медиа серверами. Также с помощью предоставляемого разработчиками API существует возможность самостоятельно создавать дополнительный функционал сервера.
Третьим был рассмотрен сервис Erlyvideo. Основной особенностью данного продукта является его модульность и масштабируемость. Широкий функционал сервера реализован на основе модулей, которые могут приобретаться по отдельности [7].
Более подробно рассмотрим ценовую политику данных решений и их максимальные возможности по подключениям клиентов (табл. 3).
Таблица 3. Сравнительная таблица сервисов для создания медиа сервера
Название сервиса | Эффективность | Цена |
Flash Media Server | Возможность поддерживать 50 клиентов одновременно, высокое качество и стабильное соединение. | 56000 руб. |
Wowza Streaming Engine | 10 клиентов одновременно, возможны риски нестабильной работы | Бесплатно |
Erlyvideo | высокое качество и стабильное соединение | 130000 руб. (за 75 одновременных подключений) |
Среди рассмотренных сервисов, предоставляющих медиа-сервера наиболее реалистичным выглядит Flash Media Server, это единственное решение, которое подходит по соотношению количество клиентов/цена/качество. Однако в эту цену не входит стоимость камер для трансляций. Для дальнейших расчётов возьмем цену 56000 руб.
Анализ способов ведения онлайн-трансляций позволил выявить основные критерии для сравнения: затраты на реализацию, сложность внедрения, качество изображения (табл. 4).
Таблица 4. Способы внедрения онлайн-трансляций
Способ | Затраты на реализацию | Сложность внедрения | Качество изображения |
Трансляция видеопотока от IP-камер напрямую | Камера IP HIKVISION HiWatch DS-1252 — 7560 руб. (1 шт.) | Данный способ не требует особых навыков, для внедрения | Напрямую зависит от возможностей качества записи камеры |
Организация собственного медиа сервера | Камера DIGMA DiCam 82C — 3990 руб. (1 шт.)
|
Необходима длительная настройка | Бесплатная версия продукта ограничивает качество съемки |
Несмотря на то, что при аренде медиа-сервера стоимость обычной веб-камеры сравнительно ниже, необходимо помнить о том, что оптимальный вариант медиа-сервера стоит в 2 раза больше, чем аренда виртуальной машины (56000 руб. и 22868 руб.). Сравнив оба варианта, было принято решение выбрать технологию трансляции от IP-камер напрямую, благодаря простоте его реализации и экономической выгоде.
Серверная часть для манипуляций — в среде лаборатории. Также необходимо настроить сервер для передачи информации о необходимых действиях, на конкретных этапах проведения опыта, манипуляторам. Был проведен сравнительным анализом между тремя вариантами: удаленный сервер, Raspberry Pi и физический сервер.
VDS (Virtual Dedicated Server, виртуальный выделенный сервер) — это услуга хостинга, при которой клиенту выделяется виртуальный сервер целиком с полными административными правами, которые дают возможность установить на сервер любое программное обеспечение. Функционально виртуальный сервер ничем не отличается от физического своей аппаратной частью [17].
Raspberry Pi это одноплатный компьютер размером с банковскую карту, изначально разработанный как бюджетная система для обучения информатике, но позже получивший более широкое применение и известность. Многие пользователи используют ее именно как сервер, благодаря ее малым размерам и отсутствию издаваемого шума и относительной дешевизне [19].
Физический сервер – это аппаратный комплекс, настроенный на хранение данных или непрерывное решение определенных задач. В идеале физический сервер должен быть настроен таким образом, чтобы выполнять свои функции без вмешательства человека, но для первоначальной настройки и внештатных ситуаций он имеет устройство ввода-вывода для внедрения команд. Чаще всего физические сервера, имеющие хорошие технические характеристики имеют высокую цену [18].
При выборе сервера отдельное внимание было уделено сложности технического внедрения. Были приведены основные критерии оценки технических характеристик (табл. 5).
Таблица 5. Сравнительная таблица серверов
Тип сервера | Цена / Рентабельность | Технические характеристики / мощность | Простота внедрения |
Физический сервер Сервер Lenovo ThinkSystem 7Y48A02CEA | 52990 руб. | Объем памяти: 1000 гб ( HDD 500гб . 2шт.) Объем оперативной памяти: 8 гб |
— |
Аренда удаленного сервера DL-9 | 3200 руб./мес. | Объем памяти: 1 тб
Объем оперативной памяти: 8 гб |
+ |
Raspberry Pi 4 (2шт.) | 9 931 руб. | Объем памяти: 64 гб ( microSD 32 гб 2 шт.) Объем оперативной памяти: 8 гб |
— |
На основании данных таблицы можно сделать выводы, что наиболее выгодным решением является аренда удаленного сервера так как, при аренде облачного сервера, выдается уже настроенный сервер с готовым пакетом настроек, в отличии от иных рассмотренных вариантов.
После выбора сервера, стоит рассмотреть разработку базы данных для удаленной лаборатории. В рамках разработки проекта были рассмотрены различные средства разработки баз данных, таких как: Oracle Database, Microsoft SQL Server и PHPMyAdmin. Для того чтобы выбрать лучшее решение был проведен сравнительный анализ по следующим параметрам: цена, максимальный размер базы данных, графический интерфейс, наличие встраиваемых СУБД. Анализ средств разработки приведен в таблице 6.
Oracle Database – это высокоэффективный программно-аппаратный комплекс, предназначенный для разработки корпоративных баз данных.
Microsoft SQL Server – система управления реляционными базами данных, разработанная компанией Microsoft.
Данные СУБД имеют все необходимые параметры, а именно: наличие графического интерфейса для облегчения и удобства работы, наличие встроенных версий, однако высокая цена является главным их минусом.
PHPMyAdmin – бесплатное веб-приложение для администрирования СУБД MySQL. Она представляет собой веб-интерфейс, позволяющий осуществлять не только администрирований MySQL сервера, но и запускать команды SQL, просматривать содержимое таблиц и баз данных [20]. Проведем сравнительный анализ решений (табл. 6).
Таблица 6. Сравнительный анализ решений
Название СУБД | Цена | Максимальный размер БД | Графический интерфейс | Наличие встроенных версий | Кроссплатформенность |
Oracle Database | 24500 руб. | Неограничен | Да | Да | Да |
Microsoft SQL Server | 56000 руб. | 16 ТБ | Да | Да | Нет |
PHPMyAdmin | Бесплатно | Неограничен | Да | Да | Да |
На основании анализа выбор был сделан в сторону веб-приложения PHPMyAdmin, так как данное приложение соответствует всем поставленным требованиям, а так же является бесплатным продуктом.
Схема базы данных, используемой для хранения информации, представлена на рисунке 1.
Рис. 1. Схема базы данных
Аппаратное обеспечение лаборатории планируется реализовать с помощью среды разработки Arduino, это необходимо для автоматизации процессов проведения опыта в лаборатории.
Arduino — торговая марка аппаратно-программных средств для построения простых систем автоматики и робототехники.
Программная часть состоит из бесплатной программной оболочки (IDE) для написания программ, их компиляции и программирования аппаратуры. Аппаратная часть представляет собой набор смонтированных печатных плат, продающихся как официальным производителем, так и сторонними производителями. Полностью открытая архитектура системы позволяет свободно копировать или дополнять линейку продукции Arduino.
Arduino может использоваться как для создания автономных объектов автоматики, так и подключаться к программному обеспечению на компьютере через стандартные проводные и беспроводные интерфейсы [14].
Для того чтобы связать аппаратную часть лаборатории с веб-интерфейсом необходимо использовать: HTTP-сервер, интерпретатор Python и плата Arduino со встроенным Ethernet портом. Интерпретатор Python выступает в роли cgi (стандарта интерфейса, используемого для связи внешней программы с веб-сервером). Таким образом интерпретатор послужит связывающим звеном между Arduino и сервером. Более детальная схема взаимодействия представлена на рисунке 2.
Рис. 2. Схема обработки запросов
Данный способ предполагает возможность настройки обратного «общения» Arduino с сервером. Для этого необходимо разработать дополнительный файл на языке Python. Данный способ связи является самым простым и доступным решением на настоящий момент, он не требует длительного обучения и настройки.
Работу различных микроконтроллеров в среде разработки Arduino обеспечивают различные библиотеки. Существует стандартный пакет предустановленных библиотек, но для узкоспециальных микроконтроллеров необходимо устанавливать сторонние библиотеки. Например, для осуществления работы манипуляторами и иными двигательными приспособлениям необходимы сервомоторы. Они имеют три провода: питание, заземление и сигнал. Их управление осуществляется посредством стандартной библиотеки Servo. Библиотека сервоприводов поддерживает до 12 двигателей на большинстве плат Arduino и 48 на Arduino Mega [15].
Для работы многих устройств и микроконтроллеров необходимо использовать универсальный асинхронный приёмопередатчик (Univsersal Asynchronos Reciever-Transmitter) — это физическое устройство приёма и передачи данных по двум проводам. Оно позволяет двум устройствам обмениваться данными на различных скоростях. У каждого устройства, поддерживающего UART обычно обозначены два вывода: RX и TX. TX — означает transmit (передаю), RX — receive (принимаю). Например, таким образом можно связать несколько плат Arduino для обеспечения локальной сети или настроить «общение» платы с лазерным модулем, необходимым для проведения опытов по физике [16].
Собранная аппаратная система автоматизирует проведение опытов и обеспечит работоспособность лаборатории без присутствия человека на ее территории. Таким образом, все 4 компонента при правильной настройке и сборке в единую систему сформируют удаленную лабораторию. Веб-интерфейс послужит инструментом управления аппаратной частью, по средством передачи информации через сервер, та в свою очередь, как и было сказано – автоматизирует процессы манипуляции, а IP-камеры будут транслировать ход опыта.
Работа проекта
Для того чтобы определить какие опыты необходимо реализовать в первую очередь, в опросе преподавателям было предложено указать конкретные опыты, с которыми возникают проблемы. Примеры опытов: опыты по оптике (демонстрация интерференции, дифракции и дисперсии света), электродинамике, электростатике, лабораторные по органической химии. Также были заданы вопросы, какое оборудование понадобится для проведения экспериментов.
Таким образом были выявлены наиболее острые потребности преподавателей в данной сфере.
Работа проекта осуществляется в два этапа: подготовка опыта и его проведение. На этапе подготовки со стороны школы преподаватель, используя графических интерфейс имеет возможность заказать опыт из имеющейся базы экспериментов или заполнить форму на новый, отсутствующий в базе. В форме заказа, преподаватель может увидеть описание опыта, просмотреть ход работы, указать необходимое время проведения и оставить комментарий к заказу, если это необходимо. После подтверждения преподавателем формы, формируется запрос, и информация отправляется на сервер. Алгоритм оформления заказа проектируемого продукта представлен на рисунке 3.
Рис. 3. Алгоритм работы оформления заказа
После обработки заказа, в случае если опыта нет в базе, куратор готовит новый в соответствии с запросом заказчика. Он разрабатывает рабочие программы, ход эксперимента и рекомендации к проведению. Лаборант в свою очередь производит настройку оборудования для проведения опыта. Схема взаимодействия лаборатории и школы, во время проведения этапа подготовки опыта, представлена на рисунке 4.
Рис. 4. Схема взаимодействия преподавателя с лабораторией во время процесса оформления заказа
После успешной подготовки опыта заказ находится в стадии ожидания даты, указанной в форме. В назначенную дату и время в лаборатории запускается online-трансляция для школы, заказавшей опыт. Преподаватель или ученик управляет ходом проведения опыта с помощью предусмотренного графического интерфейса в режиме реального времени, аудитория также может следить за протеканием эксперимента. Схема взаимодействия лаборатории и школы, во время этапа проведения опыта, представлена на рисунке 5.
Рис. 5. Схема взаимодействия аудитории с лабораторией во время проведения опыта
Прежде чем преподаватель сможет приступить к оформлению заказа ему необходимо авторизоваться, после чего он получит доступ к функционалу продукта. Чтобы сделать заказ преподавателю необходимо выбрать дисциплину, желаемы эксперимент, дату и время проведения, комментарий к заказу, если это необходимо. Макет страницы оформления заказа представлен на рисунке 6.
Рис. 6. Макет страницы оформления заказа
Первым опытом была выбрана демонстрация интерференции света от двойной щели. Необходимое лабораторное оборудование: полупроводниковый лазер, собирающая линза, непрозрачная пластина в оправе с тонкой щелью. Установка собирается таким образом, чтобы луч лазера был направлен перпендикулярно линзе и пластине. Все три модуля необходимо расположить в порядке соответственно. После включения лазера луч, проходя собирающую линзу и пластину, доходит до экрана. Луч на экране образует интерференционную картинку. Аналогично этому опыту проводится опыт “Дифракция света”. Опыт “Дисперсия света” проводится при помощи источника света, пластины с щелью, призмы из оптического стекла или компакт диска. При включении источника, свет проходит через установку из необходимых компонентов и доходит до поверхности экрана. Полный алгоритм проведения опытов представлен в диаграмме состояний на рисунке 7.
Рис. 7. Работа проекта
Основными процессами, которые возможно автоматизировать в проведении данного опыта являются: зажигание и выключение лазера, а также перемещение линзы или дифракционной решетки.
Во время проектирования веб-интерфейса удаленной лаборатории «EduLab», были выявлены следующие наиболее вероятностные риски, такие как: избыточная сложность, риски планирования, потеря работоспособности веб-интерфейса, неоптимальный выбор языка программирования. Результаты анализа рисков представлены в таблице (табл. 7).
Таблица 7. Риски реализации удаленной лаборатории
Название | Причина | Возможные последствия | Пути преодоления |
Избыточная сложность реализации
|
Проект может быть настолько сложным, что разработчик может с ним не справиться | Отказ от реализации проекта или перенос сроков сдачи проекта | На стадии проектирования объективно оценить свои силы с поставленным проектом |
Потеря работоспособности веб-интерфейса
|
Полный отказ работы веб- приложения из-за допущенной ошибки, например в коде | Полный отказ работы приложения у всех пользователей, на большой промежуток времени. | Грамотное тестирование и отладка приложения |
Некачественная настройка аппаратного обеспечения | Отсутствие тщательной проверки собранной системы | Потеря работоспособности технического оборудования | После полной сборки системы повторно протестировать ее надежность |
Можно сделать вывод о том, что основным риском для проектирования интерфейса «EduLab» является потеря работоспособности приложения. Для уменьшения вероятности данного риска будет уделено особое внимание к тестированию и отладке приложения.
Планирование реализации проекта
Планирование проекта ― непрерывный процесс, направленный на определение и согласование наилучшего способа действий для достижения поставленных целей проекта с учетом всех факторов его реализации. Основным результатом этого этапа является план проекта. Однако, процесс планирования не завершается разработкой и утверждением первоначального плана проекта. В ходе осуществления проекта могут происходить изменения как внутри проекта, так и во внешнем окружении, которые требуют уточнения планов, а часто значительного перепланирования. Поэтому процессы планирования могут осуществляться на протяжении всего жизненного цикла проекта, начиная с предварительного плана в составе концепции проекта, и заканчивая детальным планом работ завершающей фазы проекта. Во время проектирования продукта, была составлена диаграмма Ганта. Диаграмма Ганта — это инструмент планирования, управления задачами, который придумал американский инженер Генри Гант. Выглядит это как горизонтальные полосы, расположенные между двумя осями: списком задач по вертикали и датами по горизонтали. На диаграмме видны не только сами задачи, но и их последовательность. Это позволяет ни о чем не забыть и делать всё своевременно. На представленной диаграмме Ганта видно, что план разработки проекта разбит на 4 этапа: разработка интерфейса, разработка серверной части, создание программного обеспечения, предназначенного для управления лабораторным оборудованием и настройка серверного оборудования [9].
Рассмотрим каждый этап подробно. Первый этап — разработка интерфейса. Он включает в себя три задачи — проектирование дизайна, верстка веб-интерфейса и разработка базы данных. Данный этап планируется реализовать приблизительно за 90 дней. Вторым этапом является разработка серверной части. Для его реализации поставлены следующие задачи: изучение устройства сервера, установка сервера, планирование внедрения сервера в основную часть проекта, разработка связи взаимодействия. Реализация разработки серверной части планируется в 120 дней. Третий этап реализации проекта это создание программного обеспечения для управления лабораторным оборудованием. Для этого необходимо подключить IP-камеры, подготовить три комплекта оборудования для проведения опытов, разработать систему взаимодействия с серверной частью. На реализацию данной части разработки проекта отводится 120 дней. Последним этапом является настройка серверного оборудования. Разработка данного проекта ориентировочно займет календарный год. Календарный график представлен на рисунке 8.
Рис. 8. Календарный график разработки проекта
Заключение
В результате выполненной работы спроектирована удаленная лаборатория «EduLab»:
- Проведен анализ предметной области. Благодаря этому по результатам анализа составлена сводная таблица аналогов лабораторий, а также выделены основные функциональные требования для дальнейшей реализации.
- Для более точного планирования разработки удаленной лаборатории составлена диаграмма Ганта. Она отвечает за выполнения каждой задачи в определенный промежуток времени.
- Рассмотрены средства разработки и благодаря сравнительному анализу выявлены наиболее эффективные методы различных частей удаленной лаборатории. Спроектирована система лаборатории на языке UML. Рассмотрены возможности автоматизации первых опытов.
- Проанализированы риски разработки удаленной лаборатории «EduLab». Благодаря этому было выявлено, что основным риском является потеря работоспособности приложения.
Таким образом создание удаленной лаборатории возможно только при условии соблюдения всех этапов ее разработки в соответствии со спроектированным планом.
Читайте также
Библиографический список
- Маркова А.К. и др. Формирование мотивации учения: Книга для учителя. – М.: Просвещение, 2002. — 560 с.
- Генике Е.А. Активные методы обучения: новый подход: методическое пособие. – М.: Национальный книжный центр, ИФ «Сентябрь», 2015. — 176 с.
- Панина Т.С., Вавилова Л. Н. Современные способы активизации обучения: учебное пособие. – М.:Издательский центр «Академия», 2008. – 176 с.
- AngularJS [Электронный ресурс] //URL: https://habr.com/ru/post/341688/ (Дата обращения 23.05.2020)
- React // URL: https://metanit.com/web/react/1.1.php (Дата обращения 23.05.2020)
- JavaScript // URL: https://ru.wikipedia.org/wiki/JavaScript (Дата обращения 23.05.2020)
- Настройка потока IP-камеры [Электронный ресурс] //URL: https://habr.com/ru/company/prestel/blog/366639/ (Дата обращения 25.05.2020)
- Построение UML диаграмм [Электронный ресурс] //URL: http://www.uml2.ru/forum/index.php?topic=1269.0 (Дата обращения 26.05.2020)
- Построение диаграммы Ганта [Электронный ресурс] //URL: https://app.ganttpro.com/#/project/1590416573951/gantt (Дата обращения 01.06.2020)
- Особенности фреймворков [Электронный ресурс] //URL: https://habr.com/ru/company/ruvds/blog/343894/ (Дата обращения 03.06..2020)
- Особенности фреймворков [Электронный ресурс] // URL: https://mkdev.me/posts/sravnenie-javascript-freymvorkov-vue-js-react-i-angular-2019 (Дата обращения 05.06.2020)
- Виды удаленных лабораторий [Электронный ресурс] //URL: https://kpfu.ru/docs/F324157708/Virtualnye.laboratorii.pdf (Дата обращения 08.06.2020)
- Процессы управления [Электронный ресурс] //URL: http://www.pmonline.ru/pm/processes/ (Дата обращения 09.06.2020)
- Arduino [Электронный ресурс] //URL: https://ru.wikipedia.org/wiki/Arduino (Дата обращения 09.06.2020)
- Библиотека Servo [Электронный ресурс] //URL: https://www.arduino.cc/en/reference/servo (Дата обращения 09.06..2020)
- UART [Электронный ресурс] //URL: https://wiki.iarduino.ru/page/serial-protocols-uart/ (Дата обращения 09.06.2020)
- VDS [Электронный ресурс] //URL: https://1cloud.ru/blog/chto-takoe-vds (Дата обращения 11.06.2020)
- Физические сервера [Электронный ресурс] //URL: https://masterhost.ru/support/poleznye_stati/fizicheskij_server_i_dlja_chego_on_nuzhen/ (Дата обращения 11.06.2020)
- Raspberry Pi [Электронный ресурс] //URL: https://ru.wikipedia.org/wiki/Raspberry_Pi (Дата обращения 11.06.2020)
- PHPMyAdmin [Электронный ресурс] //URL: https://ru.wikipedia.org/wiki/PhpMyAdmin (Дата обращения 11.06.2020)
- Яндекс.Радар. Браузеры в России [Электронный ресурс]. //URL: https://radar.yandex.ru/browsers (Дата обращения 11.06.2020)
References
- Markova A.K. et al. Formation of teaching motivation: A book for a teacher [Formirovaniye motivatsii ucheniya]. – M .: Education, 2002 .– 560 p.
- Genike Ye.A. Active teaching methods: a new approach [Aktivnyye metody obucheniya: novyy podkhod]: methodological manual. – M.: National Book Center, IF “September”, 2015. – 176 p.
- Panina T.S., Vavilova L. N. Modern methods of enhancing learning [Sovremennyye sposoby aktivizatsii obucheniya]: study guide. – M.: Publishing Center “Academy”, 2008. – 176 p.
- AngularJS //URL: https://habr.com/en/post/341688/ (Date of access 05.23.2020)
- React //URL: https://metanit.com/web/react/1.1.php (Date of access 05.23.2020)
- JavaScript [Electronic resource] //URL: https://ru.wikipedia.org/wiki/JavaScript (Date of access 05.23.2020)
- About setting the IP camera stream [Nastroyka potoka IP-kamery] //URL: https://habr.com/en/company/prestel/blog/366639/ (Date of access 05.25.2020)
- Building UML diagrams [Postroyeniye UML diagramm]. //URL: http://www.uml2.ru/forum/index.php?topic=1269.0 (Date of access 05.26.2020)
- Construction of the Gantt chart [Postroyeniye diagrammy Ganta] //URL: https://app.ganttpro.com/#/project/1590416573951/gantt (Date of access 01.06.2020)
- Features of the frameworks [Osobennosti freymvorkov] //URL: https://habr.com/en/company/ruvds/blog/343894/ (Date of access 03.06.20.20)
- Features of the frameworks [Osobennosti freymvorkov] //URL: https://mkdev.me/posts/sravnenie-javascript-freymvorkov-vue-js-react-i-angular-2019 (Date of access 05.06.2020)
- Types of remote laboratories [Vidy udalennykh laboratoriy] //URL: https://kpfu.ru/docs/F324157708/Virtualnye.laboratorii.pdf (Date of treatment 08.06.2020)
- Management processes [Protsessy upravleniya] //URL: http://www.pmonline.ru/pm/processes/ (Date of access 09.06.2020)
- Arduino // URL: https://ru.wikipedia.org/wiki/Arduino (Date of access 09.06.2020)
- Servo library [Biblioteka Servo] //URL: https://www.arduino.cc/en/reference/servo (Date of access 09.06..2020)
- UART // URL: https://wiki.iarduino.ru/page/serial-protocols-uart/ (Date of access 09.06.2020)
- VDS // URL: https://1cloud.ru/blog/chto-takoe-vds (Date of access 11.06.2020)
- Physical servers [Fizicheskiye servera] URL: https://masterhost.ru/support/poleznye_stati/fizicheskij_server_i_dlja_chego_on_nuzhen/ (Date of access 11.06.2020)
- Raspberry Pi //URL: https://ru.wikipedia.org/wiki/Raspberry_Pi (Date of access 11.06.2020)
- HPMyAdmin // URL: https://ru.wikipedia.org/wiki/PhpMyAdmin (Date of access 11.06.2020)
- Radar. Browsers in Russia [Yandeks.Radar. Brauzery v Rossii] // URL: https://radar.yandex.ru/browsers (Date accessed 06/11/2020)