远程虚拟实验室系统设计
2016-03-02冯文华
冯文华,孟 桥
(东南大学 信息科学与工程学院,江苏 南京 211189)
远程虚拟实验室系统设计
冯文华,孟 桥
(东南大学 信息科学与工程学院,江苏 南京 211189)
本文采用B/S结构设计了一个远程虚拟实验室平台的原型系统。系统主要分为Web服务器、数据库、控制模块、硬件平台四个组成部分。Web服务器软件使用Apache,通过html、CSS、JavaScript混合编写实现与客户前端的交互,以HTTP协议作为网络技术的支撑,并以PocketLab口袋实验室作为硬件平台。最后以两个实验课程案例,验证了异地远程控制的可能性。
虚拟实验室;B/S结构;HTTP协议
0 引言
大学教育在注重学生理论教育的同时,还应注重学生实践能力的培养,从书本理论到工程实践的过渡离不开进入实验室反复的动手操练,尤其对于工科院校而言,实验效果的好坏更是很大程度上影响着学生对于各种专业基础课程的理解程度。
但是实验室器材有限、器材成本高、实验过程损耗大、实验室开放时间有限等问题,使得传统的实验形式难以将实验资源充分发挥出来,从而影响教学效果。“虚拟实验室”概念的提出,使实验者能够非常有效的使用地理上分布于各处的优良资源[1]。远程虚拟实验室将真实的实验仪器以 Web方式进行延伸,因此受到国内外教育界的广泛关注,成为一个新的研究热点[2]。
本文主要面向大学生的课程教学,通过网络将实验室自主研发的Pocketlab仪器资源进行扩展,使实验者可以不受时间和地域的限制,通过网络平台进行虚拟实验,获取实验数据结果,达到良好的教学效果,扩展了教学资源的共享性和利用率。
1 系统结构设计
B/S体系结构的客户端只要求安装浏览器软件,无需安装专用的客户端软件,因此省却了每次程序升级时重复下载软件和安装的过程,开发、维护成本低[3]。本设计采用B/S结构构建一个面向学生实验的远程虚拟实验室系统。
图1给出了该系统的三层结构,客户层、服务器层和控制层。在客户层,不同的用户操作PC机可通过网络连接到系统的服务器层;服务器层是系统的关键部分,这一层包括主服务器、数据库服务器两部分,主服务器主要负责分析用户送来的命令请求、读写数据库信息、简介控制仪器硬件等功能,数据库服务器负责存储各类信息;服务器层通过网络连接控制层,控制层由实验服务器和实验范例构成,其中分散的各实验服务器通过网络接收并分析来自主服务器的用户指令,产生对应的控制指令通过USB传递给实验范例并将实验范例返回的数据传递给用户,各实验范例为真实的物理硬件平台,由PocketLab以及外围电路构成,其中PocketLab接收实验服务器的控制指令后生成对应电信号给与其连接的外围电路的输入端,并采集外围电路的输出结果以数据流的方式返回给实验服务器。三层结构提供用户以一个真实的实验环境。
图1 远程虚拟实验室三层结构图
2 硬件平台介绍
本系统以PocketLab为硬件平台,其体积小巧,集函数发生器、示波器、逻辑分析仪等功能为一体,可满足一般实验需求,并且提供与PC端的通信接口,便于软件方式进行功能扩展,因此作为本系统设计的硬件基础。
图2为PocketLab板卡的俯视图。
该板卡将实验所需的多种仪器功能集成在一块尺寸为9.7 cm×6.8cm×2.3 cm的板卡上,该板卡体积小巧,功能齐全,板卡的大部分面积被外壳保护,需要外接连接线的部分如下:
(1)电源输出区域:PocketLab板卡可输出3.3 V、5 V、-5 V三种电压,其中5 V由USB直接得到。
图2 PocketLab的俯视外观图
(2)功能端口区域:功能端口集中于此区域。可通过杜邦线等连接线扩展外围电路。
(3)程序烧写接口:仅更新内核用。
(4)电源开关:板卡的电源开关,标有on与off提示。
(5)USB MINI接口:其中USB MINI为设备供电的同时也作为通信接口与PC机通信。由于PocketLab提供了PC通信接口,并有一套相对完整的指令协议,极大的方便了软件控制模块的设计,使其非常适合作为远程虚拟实验系统的硬件平台,同时给后期系统拓展提供了便利。
3 软件部分介绍
3.1 Web前台设计
本系统采用HTML+CSS+JavaScript混合编程,提供给用户一个可视化的操作界面显示,根据用户的不同的操作还有一定的动态性[4]。前台提供一个用户登陆界面用于用户信息检测,信息检测成功后将自动跳转至实验选择界面,用户可以在提供的两个实验案例中进行选择,用户选择了未被占用的实验案例后,页面继续跳转至实验控制界面,如图3所示,根据实验的日常需求,控制网站进行了友好化的设计,便于用户操作。
图3 网站控制界面
3.2 Web服务器设计
Web服务器端采用PHP编写,它有着丰富的程序库,其出错信息的生成功能也很充分,为调试带来了很大的方便,同时有各种类型的数据库接口内置在PHP程序包中,使得PHP能够方便地与各种类型的数据库进行连接。
Web服务器软件采用Apache。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性,是最流行的Web服务器端软件之一。
远程控制网站架构如图4所示,客户通过客户端网页上按钮、输入框等设置要执行的操作及参数,JavaScript脚本控制器根据操作更新表单内容以及将各元素信息提交给Apache,服务器接收请求查询、添加、修改Access数据库对应表内容,控制模块定时查询Access数据库的指令并将执行结果生成图片,提供给用户浏览器链接,用户便可以简单直观地观察到实验结果。由于没有接口提供给Web服务器使其与控制模块直接进行交互,所以Web服务器将指令和参数按固定格式写入指定的数据库的数据表中,才能完成Web服务器与控制模块的数据交换。
图4 远程控制网站架构
3.3 实验服务器设计
实验服务器模块采用LabWindows/CVI软件进行设计。由于CVI不提供接口直接与Web服务器交互,并且考虑到系统针对不同客户需要对客户信息进行存储,所以在系统中加入数据库部分,控制模块的功能主要通过对数据库读写来进行。图5显示了控制模块工作流程,在面板显示完成后,关闭定时器控件以免影响硬件连接的建立,与PocketLab连接建立完成之后,即可开启定时器控件,周期读写来自用户存入数据库的指令,分析指令类型,根据指令类型读取数据表中相应位置的参数值,从而形成对应的完整的指令,然后通过伪串口将完整的指令交互给PocketLab口袋实验室的MSP430F6638单片机,操作结果在前端动态刷新图片的方式,进行结果反馈。
图5 控制模块工作流程图
3.4 数据库设计
数据库模块在系统中扮演着比较重要的角色,一方面由于Apache与LabWindows/CVI无法直接交互,需要通过数据库这个中介才能操控硬件这条通路;另一方面,随着虚拟实验室功能不断扩展,系统不断升级、更新,客户数量增加,指令内容变得更为复杂多样等等,需要处理的数据将会激增,数据库的使用不仅便于客户的存储与查询,大量数据的有效管理,而且也将整个系统划分成各个模块,便于修正和调试,以及后续的升级等。
图6显示了数据库结构的构成,本系统采用Microsoft Office Access数据库。它界面友好、简洁,开发简单、接口灵活。服务器对数据库的链接均采用ODBC(Open Database Connectivity)方式,所有数据内容存放在PocketLabData1.mdb文件中,在这个数据库中,分别建立了名为usermessage、LabStatus、operation1、operation2四张表,他们各自存储着不同类型的信息,有着不同的作用。
4 设计实例及测试结果
为验证系统能否正常工作,本系统可提供两个本科“电路”课程教学中常用的实验案例对系统进行测试。
图6 数据库结构图
4.1 反相放大器实验案例及测试结果
服务器开启,在客户端电脑正确登陆后,点击进入实验1。输入频率固定为某一值,输入信号幅度从100 mV不断增加至800 mV,步进100 mV,双踪示波同时显示输入输出波形,观察输入输出信号波形所呈现的反相特点;记录不同幅度输入时数据显示框内显示的输入输出波形峰峰值,可以得到放大器增益基本稳定的结论,这体现放大器线性的特点。
图7显示的状况为:频率设定为默认的500 Hz,双通道同时显示输入输出波形,可以直观地看出输入输出相位相差约180°,体现反相放大器的特点。
图7 反相放大电路测试图
4.2 RC滤波电路实验案例及测试结果
进入实验2,将输入正弦波幅度设置为1000 mV,输入正弦波频率从200 Hz逐渐增大至10 kHz,记录输出正弦波的峰峰值,计算不同频点下的增益及其分贝值,并将测量结果用Matlab拟合实际结果的波特图,并与计算的理论曲线作对比。
图8为Matlab拟合实际结果与理论值生成波特图的对比图,从结果可以看出,各实际测量值(各数据点)均比较接近理论曲线,整体呈现一个低通特性,增益下降3 dB对应角频率为8333 rad/s。
5 结语
本文以工科院校的实验教学为切入点,以自主研发的高性价比实验器件Pocketlab为硬件平台,构建了一个远程虚拟实验室系统,在实验系统上,通过两个实验案例对其效果进行测试,验证说明了本系统可以满足大部分本科实验基本教学要求。
图8 理论与实际系统波特图比较
大量分布的pocketlab资源通过连接服务器借助网络进行扩展,解决了广大学生的实验需求,使其不受时间、地域的限制,不但节省了实验室管理的人力资源,同时使无法提供较好实验器材院校的学生也能享受到便捷的实验资源。
[1] 蒋耘晨.虚拟实验室技术[M].北京:北京理工大学出版社, 2011.
[2] Ge J H, Zhu S.A study of virtual remote laboratory and its subsystem by using Modelica[J].Applied Mechanics and Materials, 2012, 157:1506-1514.
[3] XinXin D, ZhongPan Q, Xiaofang Y.Research and design of network behavior management system based on B/S architecture[C]//Computer Science & Education (ICCSE), 2011 6th International Conference on.IEEE, 2011:129-132.
[4] 位元文化.CSS/HTML网页设计[M].北京:中国铁道出版社, 2002
[5] Wolf T.Assessing student learning in a virtual laboratory environment[J].Education, IEEE Transactions on, 2010, 53(2):216-222.
[6] 王建新, 隋美丽.LabWindows/CVI虚拟仪器设计技术[M].北京:化学工业出版社, 2011.
The Design of Virtual Remote Laboratory
FENG Wen-hua, MENG Qiao
(SchoolofInformationScienceandEngineering,SoutheastUniversity,Nanjing211189,China)
This paper designs a virtual remote laboratory platform system by adopting the B/S structure.There are mainly four composing parts in total:Web server, database, application server and hardware platform.The Web server, which uses Apache, interacts with client side via HTML, CCS and JavaScript mixed programming, along with the HTTP protocol as the network technology support and PocketLab is used as the hardware platform.Lastly, taking two curricular experiments as an example, the system proves the feasibility of off-site remote control.
virtual laboratory; the B/S structure, the HTTP protocol
2016-11-03;
2016-11-28 基金项目:江苏高校品牌专业建设工程资助项目(PPZY2015A035)
冯文华(1991-),女,硕士,学生,研究方向为电路与系统,E-mail:whfeng4208@163.com
G434
A
1008-0686(2016)06-0101-04