- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
以IP为基础的电子白板系统的设计要点揭示
1 引 言
随着我国教育科研网(CERNET)的不断普及和推广使用,许多高等学校将远程网络教育作为辅助教学的一个重要手段。网络教育的基础是建立网络教室系统,其中,传统的黑板被电子白板所替代,电子白板不仅可以满足教师的需要,方便随意地书写、绘画,开展丰富多采的教学活动,而且,通过电子白板,异地的学生们可以“登录”互联网,和教师进行“面对面”的实时交流,领略最新的知识,感悟信息爆炸所带来的冲击。这种教育所带来的效果是传统教育方式所无法比拟的。本文以所指导的大四毕业设计课题为例,设计了一种方便、实用的基于IP的电子白板系统。
2 电子白板应用技术简介
2.1 GDI图形设备接口
它是一个抽象的接口。相当于图形显示的函数库,实现设备的无关性。也就是说,Windows编程时不允许直接访问显示硬件,而必须通过和特定窗口相关的“设备环境”(DC)跟显示硬件进行通讯。
2.2 VCAD(VisualCAD)小型图形应用程序
该程序与Windows附带画图工具相似,使用标准Windows界面,用于设置界面,绘制直线、矩形、圆、自由线以及文字,并有调色板和绘图工具栏与相应操作对应。所有图形边框的宽度和颜色可以调整,矩形和圆可以置为实心或空心,文字类型和颜色可以调整并添加在任何地方。
建立一个图元链表存储图元信息,以实现存储和打开操作,并可以以图元包为单位进行网络传输。删除操作可以利用图元的外接矩形选定,并通过链表的删除操作实现。
2.3 Socket套接字
Winsock控件对用户来说是不可见的,它提供了访问TCP和UDP网络服务的方便途径。MicrosoftAccess、VisualBasic、VisualC++或VisualFoxPro的开发人员都可使用它。为编写客户或服务器应用程序,不必了解TCP的细节。通过设置控件的属性并调用其方法就可轻易连接到一台远程计算机上去,并且还可双向交换数据。
本次设计是采用TCP数据传输协议,它允许创建和维护与远程计算机的连接。要使用TCP协议,那么,首先必须决定应用程序是服务器还是客户端。如果要创建一个服务器端,那么应用程序需要“监听”指定的端口。当客户端提出连接请求时,服务器端能够接受请求并建立连接。在连接建立之后,客户端与服务器端可以自由地互相通讯。
如果创建客户应用程序,就必须知道服务器计算机名或者IP地址,还要知道进行“侦听”的端口,然后调用Connect方法。建立连接后,任何一方计算机都可以收发数据。
3 基于IP电子白板系统的设计
3.1 系统结构
系统结构如图1所示。
3.1.1 界面设计部分
为了营造出美观实用的界面,本系统采用了与Windows操作系统附带的画图板相类似的绘图环境,仅仅添加了几个连接选项,力求使界面标准化,简化用户对系统的熟悉过程,同时在状态栏中加入了当前工作状态和鼠标坐标的显示功能。
3.1.2 绘图设计部分
绘图设计模块是电子白板系统的一个十分重要的组成部分。它首先进行绘图参数的初始化,然后对绘图工具栏进行设置,若用户没有要求打开原有的.pdf文件,则创建新的白板文件,接着由鼠标选择进入画图模块。在退出或存储项被击活时提示存储。
3.1.3 实时交互系统
实时交互系统包括服务器端和客户端两部分,它们首先分别进行初始化,创建套接字以及捆绑地址。然后服务端通过监听端口等待连接请求,当客户端有连接信号到来时,它接收客户端的地址并建立连接。客户端在收到确认信号以后,表示连接已经成功,可以开始传送数据。客户端的输入数据类型分为两类:文本和图形对象。文本用于客户之间进行文字交谈,图形对象则包括直线、矩形、圆、以及自由画线等。每一种数据类型都被定义为相应的类,并由另一个类包装成数据包在网络上传送,接收到数据的一方,通过解压数据包,将图形还原出来。当网络出错或请求断开时,释放网络资源。如图2所示。
3.2 系统设计
本次设计是用VC++6.0的AppWizard和MFC开发Windows应用程序。首先进行界面及画图代码的编写,并生成图元链表完善存取、删除等功能。接着是利用Socket的TCP功能实现网络交互。最后是解决如何在接收端将数据包转换成图形显示出来。
电子白板的基本工作步骤如下:
(1)绘图程序通过GDI将鼠标绘制图形与显示设备连接起来。
(2)程序将图元的特征取出并放入一个对象类内,用链表链起以实现存取和删除指定图元操作。
(3)通过Socket的TCP功能建立连接。
(4)连接成功后,程序将图元对象或文字作为数据包在网上传送。
这几部分相互衔接又互为调用,构成了完整的系统。
3.3 系统特点
本次设计完成的电子白板系统是作为远程教育的一个基本组成部分,经过测试验收,系统运行正常,实现了基本的交互功能,并具有以下特点:
(1)它能够在绘图板内任何地方绘制直线、矩形、圆、自由线以及添加文字,并改变边线和文字的颜色,同时可实现矩形和圆的实心与空心并添加填充色。
(2)提供22种色彩供用户选择。
(3)具有标准的文字类型选择功能。
(4)将全部所绘图形存为.pdf文件,并在下次需要时调用。
(5)能够选择定位框内所有图元进行删除。
(6)建立TCP连接,并提供不同的连接错误提示。
(7)在建立好的连接上传输数据,并根据接收到的信息改变绘图板上的内容。
(8)图文并貌地实现实时网络交互。
(9)采用面向对象技术及对象连接、集成网络与绘图及字处理软件,增强系统功能,方便用户使用。
(10)用开放式结构,具有良好的扩展性和通用性。
电子白板的系统要求:Windows 95/98/2000/NT;局域网网卡;TCP/IP网络协议。
4 结束语
这次设计仅仅是完成电子白板系统的部分功能而已,系统还有许多功能没有实现。比如,服务器一对多点连接,网络的加密,绘图板的拖拽、翻转、镜像以及网络权限的管理等等。这些都可以作为系统的外延充实系统,有待以后完善。
参考文献
1 舒 畅.基于IP的电子白板交互系统的设计与实现.东南大学毕业设计(论文)报告.南京:东南大学无线电工程系,2002
2 刘长明,杨工明编著.VisualC++实践与提高——多媒体篇.北京:中国铁道出版社,2001
3 李于剑编著.VisualC++实践与提高——图形图像编程篇.北京:中国铁道出版社,2001
4 David JKruglinski著.VisualC++技术内幕.潘爱民,王国印译.第4版.北京:清华大学出版社,