Новые информационные технологии в образовании. Часть 2 - Материалы конференции

Удаленный  доступ  к  лабораторным    работам  с использованием adobe flash

arton@psu.karelia.ru

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

Развитие   информационных   технологий   расширяет   возможности   для  изобретения новых методик дистанционного обучения, повышая качество образования. Неотъемлемой частью   систем   дистанционного   обучения   являются   клиент-серверные   приложения.   На кафедре   физики   твердого   тела   ПетрГУ   создан   программно -аппаратный   комплекс   для проведения лабораторных работ, где в качестве оптоэлектронного устройства с удаленным доступом   используется   солнечный   модуль.   Комплекс   расширяет   возможности использования  лабораторной  работы  «Солнечный  модуль»,  позволяя  проводить дистанционные измерения. Он задействован для проведения лабораторных работ в рамках курсов «Физические основы получения информации» и «Микрооптоэлектроника».

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

установке     применяется     кремниевый     монокристаллический      модуль     MSW 7-12 1       с

максимальной     мощностью     7,31 Вт    и    номинальным     напряжением     12 В.     Лампы,

обеспечивающие  равномерное  освещение модуля,  подключены  к светорегулятору  для изменения уровня освещенности, при котором происходят измерения.

В         ходе    эксперимента            проводятся     измерения      вольтамперных         характеристик

солнечного модуля. Величина нагрузочного сопротивления, выполненного на МДП- транзисторах,  задается  путем  подачи  на затворы  транзисторов  напряжения  с платы  ввода - вывода. Автоматизация  измерительного  комплекса  осуществлена  посредством  платы NVL -

08 2,   установленной    в   слот   ISA   системной   платы   компьютера    с   проце ссором   Intel

архитектуры   x86,  работающего   под  управлением   операционной   системы   Windows   XP. Доступ  к портам  ввода -вывода  компьютера,  необходимый  для работы платы,  осуществлен путем установки программы UserPort 3.

Дистанционная  работа  с экспериментальной   установкой  проводится  по  технологии

«клиент – сервер». Связь происходит с использованием  сокетов – программного интерфейса для обеспечения обмена данными между процессами  компьютерных  программ 4. Различают клиентские и серверные  сокеты 5. Клиентские  сокеты грубо можно сравнить с оконечными аппаратами  телефонной  сети,  а  серверные  –  с  коммутаторами.  Каждый  процесс компьютерной  программы  может  создать слушающий  (серверный)  сокет и привязать  его к порту  6   используемого  протокола.  Слушающий  процесс  находится  в  цикле  ожидания  и

«просыпается» при появлении нового соединения. Клиентский сокет подсоединяется к слушающему,   после  чего  операции   чтения  или  записи  передают   данные  между  ними. Серверное   приложение   служит   для   ожидания   запросов   на   установление   соединения, отправки ответов программе-клиенту, а также для управления аппаратной частью установки.

Сервер,  не  имеющий  продолжительного   соединения,  должен  ожидать  http-запрос,

который является причиной задержек. Соединение, созданное с помощью сокетов, позволяет серверу передавать информацию клиенту в тот момент, когда она становится доступна. Продолжительное соединение фактически устраняет проблемы с задержками и часто используется для приложений «реального времени».

Серверная   часть   реализована   в  среде   программирования   Delphi.   Для   работы   с сокетами  применен  компонент  ServerSocket 7.  В  свойствах  компонента  указан  номер используемого порта.

При установлении содинения с клиентом происходит событие OnClientConnect. На сервере срабатывает обработчик данного события и выполняется метод Socket.SendText, отсылающий  клиенту  текст  «'ConnectConfirm'+chr(0)».  После  текста  отправляется  нулевой байт chr(0), иначе клиент не обработает полученную от сервера строку. Компилируя сформированную   программу,   мы  получим   простейший   сервер,   который   после  запуска ожидает   запрос   на   соединение   от  клиента   и,  в  случае   удачного   установления   этого соединения, отсылает подключившемуся клиенту строку для подтверждения соединения.

Если  клиент  отсоединяется  от образованного  сокетами  канала,  происходит  событие

OnClientDisconnect.  При  передаче  клиентом  серверу  данных  срабатывает  обработчик события  OnClientRead,   в  тексте  которого   «отрезается»   нулевой  байт  в  полученных   от клиента   данных.   Нулевой   байт  добавляется   клиентом   автоматически,   но  в  Delphi   он помешает дальнейшей обработке данных.

Клиентская  часть  выполнена  в  Adobe  Flash.  Выбор  среды  разработки  обусловлен

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

солнечном элементе. Для работы требуется Flash Player 8.

Adobe Flash использует объектно-ориентированный язык программирования ActionScript. Данный язык добавляет интерактивность,  обработку данных и многое другое в содержимое  Flash-приложений,   и,  в  частности,  предоставляет  встроенный  объект XMLSocket,  позволяющий  устанавливать  длительное  соединение  с сервером.  Объект XMLSocket осуществляет связь компьютера, на котором запущен Flash Player, с программой-

сервером,  идентифицируя  сервер  по  IP-адресу  или  по  доменному  имени.  Данные пересылаются   через   соединение   в  виде  строки   в  формате   XML,   но  в  данном   случае используется возможность пересылки в текстовом формате.

Поскольку объект XMLSocket  устанавливает  и поддерживает  открытое подключение

к серверу, из соображений  безопасности  на него наложены ограничения.  Порты с номерами ниже  1024  часто  используются  системными  сервисами,  такими  как  FTP,  Telnet  и  HTTP, поэтому  объект  XMLSocket  не допускается  к этим  портам.  Так, используя  метод  Connect, объект может соединиться  только с TCP-портами,  номера которых больше или равны 1024 (из  диапазона   от  1  до  65536).  Соответственно   серверный   процесс  должен  также  быть назначен  на порт больше или равный  1024. Ограничение  диапазона  номеров  разрешенных портов устраняет возможности  ошибочного обращения и неправильного использования этих ресурсов.

Метод  XMLSocket.Connect   может  соединиться   только   с  компьютером   в  том  ж е

поддомене, где расположен файл с расширением  *.swf . Это ограничение не относится к swf- файлам,  выполняемым  на локальном  диске.  При  попытке  соединения  с удаленным компьютером появится сообщение о запрете удаленного соединения. Для устранения данной проблемы                      необходимо                      перейти                      по                      веб -ссылке www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html .        В окне «Всегда доверять этим местоположениям» в меню выбрать пункт «Добавить местоположение» и указать swf-файл, которому разрешается удаленный доступ.

Для работы  с объектом  XMLSocket  сначала  нужно  воспользоваться  конструктором:

Client = new   XMLSocket().    Для   связи   объекта   с   сервером   требуется   вызвать   метод Client.Connect("хост",   "порт"),  где  "хост"  –  IP-адрес  компьютера,  где  запущен  сервер,  а "порт"  –  номер  порта,  который  указан  в  свойствах  компонента  ServerSocket  программы - сервера.  При  обработке  запроса  на  соединение   Client.Connect(),   вызывается   обработчик события Client.onConnect.  В ходе работы клиент соединяется с сервером и получает от него строку  «ConnectConfirm».  Обработчик  этого  события  Client.onData  вызывается  в  случаях, если текст загружен  с сервера полностью  или при загрузке с сервера произошла  ошибка. В ответ серверу можно передать произвольную строку: Client.Send("ConnectQuery").

Перед   работой   с   программно-аппаратным   комплексом   пользователю   (студенту)

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

На  панели  управления  программы-клиента  находятся  области  для  построения графиков измеренных зависимостей тока и мощности от напряжения, а также для вывода полученных данных измерений; поля ввода параметров измерения. Кроме того, представлена панель   управления   соединением.   Она   содержит   поле   для  ввода   I P-адреса   удаленного компьютера и кнопки для установления и разрыва соединения. Присутствуют на панели программы  также  кнопки,  служащие  для  подачи  команды  пуска  измерения ,  построения измеренных  зависимостей  тока и мощности  от приложенного  к солнечному  модулю напряжения,  а также записи  полученных  данных на информационный  носитель.  Статусная строка для индикации текущего состояния может содержать следующие надписи: «Ready to connection»,   «Server   connected»,   «Data  get»,  «Error  connecting   to  server»,  «Server   started measuring», «Server disconnect».

После  запуска   swf-файла   программы-клиента   строка   состояния   будет  содержать

надпись «Ready to connection». Для установления соединения необходимо указать в соответствующей  строке IP-адрес удаленного компьютера, на котором запущена программа - сервер, после чего «кликнуть» по кнопке «Установить соединение». В случае успешного соединения  в строке состояния  появится надпись  «Server connected»,  в противном  случае  –

«Error  connecting  to  server».  Далее  следует  задать  шаг  по  напряжению  и  нажать  кнопку

«Начать  измерение».  Надпись  в строке  состояния  изменится  на «Server  started  measuring», что свидетельствует  о начале процесса измерения. По окончании измерений сервер отправит полученные  данные  клиенту,  а  содержание  строки  состояния  изменится  на  «Data  get». Теперь можно произвести построение графиков и проанализировать полученные результаты.

Помимо данного комплекса на кафедре физики твердого тела ПетрГУ созданы лабораторные работы с удаленным доступом для измерения вольтфарадных характеристик МДП-структур,  C–t (емкость–время)  характеристик  МДП-структур,  характеристик фотоматрицы  на  приборах  с  зарядовой  связью ;  также  применяются  автоматизированные лабораторные  работы с использованием  среды National Instruments LabVIEW по измерению характеристик  транзисторов.  На базе плат ввода -вывода  National  Instruments  и комплектов Lucas-Nulle   Unitrain-I  проводятся   лабораторные   работы,  разрабатываются   новые лабораторные практикумы.

На основе ресурсов с удаленным доступом возможна дис танционная работа студентов

с  уникальным   либо   недоступным   оборудованием.   Перечисленные   выше   лабораторные работы  можно   рассматривать   как  способ   освоения   студентами   дистанционной   работы. Возможно также сочетать виртуальные лабораторные  практикумы  и лабораторные  работы с удаленным доступом.

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

1.         https://solarhome.ru/ru/pv/tcm.htm

2.         https://www.signal.ru/adc_l/internal/nvl08.htm

3.         https://hem.passagen.se/tomasf/UserPort/

4.         https://ru.wikipedia.org/wiki/Процесс_(информатика)

5.         https://ru.wikipedia.org/wiki/Сокет_(программный_интерфейс)

6.         https://ru.wikipedia.org/wiki/Порт_(TCP/IP)

7.         https://www.delphisources.ru/pages/faq/base/use_ss_cs.html

8.         https://www.adobe.com/products/flashplayer/

В.А. Биллиг