УДК 004.451.9

Квочкин Д. О.
Информационная система «Дистанционная лаборатория» на платформе Django

Информационная система «Дистанционная лаборатория» на платформе Django

Information system «Remote Lab»
based on Django framework

Д. О. Квочкин

D. O. Kvochkin

Сыктывкарский государственный университет им. Питирима Сорокина, г. Сыктывкар

Syktyvkar State University named after Pitirim Sorokin, Syktyvkar

В статье рассматривается построение информационной системы на Python-фреймворке Django для сбора экспериментальных данных физической лаборатории. Показано применение ИС в эксперименте по ультразвуковому сканированию пространства.

This article provides an overview of the structure of the special information system (IS) for data acquisition and controlling of the laboratory equipment built on Python framework Django, and the description of using the IS in the hypersonic scanner experiment.

Ключевые слова: автоматизация, удалённое управление, система сбора и анализа данных, Python, Django.

Keywords: automation, remote control, data acquisition system, Python, Django.

Введение

Современные лаборатории естественнонаучных дисциплин представляют собой сложную сеть взаимодействующих узлов управления и сбора экспериментальных данных. Все информационные потоки внутри этой сети сходятся на локальном компьютере экспериментатора. Целью данной работы является разработка универсальной информационной системы, позволяющей объединить в совокупность стандартные процедуры в работе экспериментатора, а именно: удалённый доступ к экспериментальному оборудованию, журналирование протекания эксперимента, формирование отчётов по проделанной работе, и т. д.

Теоретический анализ

Принцип объединения в единую сеть разнородных установок позволяет организовать сложнейшие эксперименты в различных физических областях науки. Недостатком этого принципа является то, что разнородное оборудование имеет несовместимые интерфейсы связи. Эта проблема просто решается на аппаратном уровне, если известен протокол взаимодействия установки и персонального компьютера (ПК) оператора. Аппаратные модули согласования могут быть специфическими коммерческими разработками или модулями собственной разработки, предоставляющие возможность сбора данных по стандартным интерфейсам: RS-232, RS-485, USB и последующей отправке в сеть передачи данных Ethernet. Примеры собственного модуля сопряжения предложены в [1–3].

Описанное решение позволяет привести к однородности протоколов связи с ПК оператора и упрощению построения программного обеспечения для сбора данных из локальной сети лаборатории.

Дальнейшим развитием системы взаимодействия оператор–ПК-устройство является выделение сервера лаборатории с ролями:

  • авторизации экспериментатора (роль сервера авторизации);
  • агрегации собранных данных (роль системы управления базой данных);
  • организации пользовательского интерфейса для доступа к результатам эксперимента (роль веб-сервера);
  • организации низкоуровневого взаимодействия с Ethernet-модулями сопрягаемых дистанционно установок (роль сервера приложений).

Перечисленные аппаратные средства организации сетевого взаимодействия установок и программные средства сервера лаборатории являются составляющими разрабатываемой информационной системы (ИС) (рис. 1).

Организация локальной вычислительной сети лаборатории

Рисунок 1. Организация локальной вычислительной сети лаборатории

Предложенная архитектура ИС обладает преимуществом в области информационной безопасности и систем хранения данных по сравнению с настольными ИС или иным ПО на ПК оператора.

Методика

Для реализации ИС использовался язык Python 2.7 с набором стандартных библиотек и дополнительным модулем для визуализации экспериментальных данных: Gnuplot-py.

Внутреннее строение ИС показано на рис. 2. Запросы авторизации, доступа к выполнению или получения результатов уже проделанных экспериментов обрабатываются через функциональный веб-сайт, построенный на Python-фреймворке Django 1.9 (по состоянию на март 2016 г.). Графический интерфейс пользователя, основанный на веб-технологиях, позволяет решить проблему кроссплатформености, разрешая работу пользователей в ИС из любой операционной системы (в т. ч. под управлением Android).

Внутреннее строение ИС

Рисунок 2. Внутреннее строение ИС

Обработка запросов пользователя к удалённому эксперименту осуществляется через приложение-сервис «Менеджер лаборатории», являющееся ядром ИС. Для каждой низкоуровневой задачи управления экспериментом создаётся отдельный управляющий Python-скрипт и Django-приложение с последующей регистрацией в общей структуре ИС.

Накопление информации о проделанных экспериментах, зарегистрированных пользователях, текущих экспериментах осуществляется в базе данных SQLite 3. Кроме этого результаты эксперимента хранятся в виде файлов с набором выходных данных от каждой установки и могут быть визуализированы или обработаны иным ПО на стороне сервера без модификации ядра ИС.

Взаимодействие между веб-сайтом и ядром ИС, а также между «Менеджером лаборатории» и дочерними управляющими приложениями осуществляется через механизм локальных сокетов. Основу протокола взаимодействия составляют текстовые команды с набором аргументов, инкапсулированные в TCP-пакеты.

При запросе на выполнение нового эксперимента «Менеджер лаборатории» инициирует проверку доступности удалённой установки и последующий запуск соответствующего управляющего Python-скрипта с привязкой к локальному сокету для управления. Таким образом, у запущенных экспериментов интерфейсы связи не пересекаются и работают независимо.

Экспериментальная часть

В качестве примера применения разрабатываемой ИС «Дистанционная лаборатория» предложена система ультразвукового сканирования пространства (УЗСП) с дистанционным управлением (рис. 3).


Рисунок 3. Автоматизация эксперимента УЗСП

Суть эксперимента УЗСП заключается в панорамировании датчика УЗ дальномера от 0 до 180 градусов внутри помещения или на открытом пространстве. Детали аппаратной части УЗСП показаны на рис. 4.

Выходными данными является серия измерений дальности до объектов. По результатам, взаимно соответствующие величины: угол поворота – расстояние, визуализируются в виде графика в полярных координатах (рис. 5 б).


Рисунок 4. Аппаратная часть УЗСП

а) б)

Рисунок 5. Работа в ИС «Дистанционная лаборатория» с мобильного устройства

Полученные графики можно анализировать, выделяя на них объекты, их линейные размеры, перемещение в пространстве (если используется режим непрерывного сканирования) в плоскости УЗ датчика.

Описанное применение ИС «Дистанционная лаборатория» можно использовать в системах безопасности, лесотехнической отрасли (таксация выделов), строительстве.

Выводы

Предложен инструмент для превращения научной лаборатории в единую сеть для проведения экспериментов, хранения и анализа их результатов, обмена научным опытом с другими лабораториями. Гибкость и модульность позволяют данной системе легко адаптироваться для решения схожих задач в различных естественнонаучных областях.

Показано частное применение ИС «Дистанционная лаборатория» в эксперименте по УЗСП.

Предлагаемая информационная система находится в стадии разработки и тестирования. В настоящее время ведутся работы по оптимизации архитектуры серверной компоненты (функционального веб-сайта и сервиса «Менеджер лаборатории»), доработка графической части ИС, разработка шаблонов Django-приложений для быстрого внедрения новых экспериментов в структуру ИС.

Статья поступила в редакцию: 04.05.2016

Список литературы

1. Won-jong Kim, Kun Ji & Ajit Ambike (2006, July). Real-Time Operating Environment for Networked Control Systems. IEEE Transactions on automation science and engineering, Vol. 3. No. 5. Pp. 287–296.

2. Demeter R., Campeanu R. (2009). Microcontroller based Ethernet embedded systems. Bulletin of the Transilvania University of Brasov. Vol. 2 (51). Pp. 249–254.

3. Дмитриев В. М., Коротина Т. Ю. Принципы реализации автоматизированных лабораторных комплексов с локальным и удалённым доступом // Журнал «Доклады Томского государственного университета систем управления и радиоэлектроники». 2007. № 2 (16). С. 121–128.

List of references

1. Won-jong Kim, Kun Ji & Ajit Ambike, «Real-Time Operating Environment for Networked Control Systems,» IEEE Transactions on automation science and engineering, vol. 3, no. 5, pp. 287–296, July 2006.

2. Demeter, R., Campeanu, R., «Microcontroller based Ethernet embedded systems,» Bulletin of the Transilvania University of Brasov, vol. 2 (51), pp. 249–254, 2009.

3. Dmitriev, V. M., Korotina, T. Y., «Principles for the implementation of automated laboratory facilities with local and remote access,» The journal «reports of the Tomsk state University of control systems and Radioelectronics», no 2 (16), pp. 121–128, 2007.

VN:F [1.9.17_1161]
Rating: 10.0/10 (1 vote cast)
VN:F [1.9.17_1161]
Rating: 0 (from 0 votes)
VN:F [1.9.17_1161]
Стиль изложения
Информативность
Сложность вопроса
Научная новизна
Коммерциализуемость
Rating: 0.0/5 (0 votes cast)
Информационная система «дистанционная лаборатория» на платформе django, 10.0 out of 10 based on 1 rating