多媒体中控系统网络控制的软件设计

时间:2022-07-07 06:59:54

多媒体中控系统网络控制的软件设计

摘要:随着计算机网络与通信技术,以及多媒体等技术不断成熟完善,传统的教育手段和方式已经不适应现代化的需要。智能网络多媒体教室中央控制系统给校园教学的信息化管理带来了变革,其智能化和网络化给教学活动和对设备的集中管理带来了很大的便利。在设备管理中,任务都是通过网络来进行执行的,因此中控系统的网络控制部分起着很重要的作用。该课题采用VC编程实现了中控系统的网络控制部分,并配合硬件调试系统成功。

关键词:多媒体;网络控制;TCP/IP

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)35-8090-04

1 概述

现今,多媒体教育、多媒体网络教学已经被普遍地运用于全国各大校园中。在智能网络多媒体教室的中控系统中,网络控制系统占据核心地位。在实际的应用中,将各个教室或会议厅的网络系统接入以太网, 在远程监控计算机上安装相应软件。打开软件, 便可以建立与所有接入网络的网络系统的连接, 并对基于网络所连接的投影机、功放、话筒、计算机、电动屏幕、电动窗帘、灯光等多媒体设备进行网络控制和管理, 其中包括设备的使用状态查询和断线报警等。本课题主要谈论整个系统中的网络控制部分,要结合前端的控制硬件设备配合完成整个中控系统。

2 系统的总体结构

在智能网络多媒体教室的中控系统中,教室的中控作为整个系统的桥梁包含了两个部分,一部分是网络控制模块,另一部分是管理监控模块。网络控制模块通过TCP/IP在校园网传输数据到多媒体中央控制室,并从那里接收数据转发给管理监控模块。管理监控模块[1]在收到来自网络控制模块的数据后做出相应的设备处理工作。网络控制模块通过RS-232串口协议通信,教室的计算机与网络控制模块通过TCP/IP协议通信完成计算机上软件实现设备控制的通信。网络控制模块含独立的网卡[2],可以通过多媒体网络中央控制室直接控制教室的设备。整体的设计框架结构如图1所示。

2.1 软件的设计思想

安装于教室端的软件包,可以通过讲台的控制面板手动进行操作。另外为了方便教师操作,系统提供软件控制,让教师在上课时可以通过点击电脑安装的一个软件实现面板操作的功能。通过软件能实现对教室设备的所有控制操作,例如电源开、电源关、幕布升、幕布降等功能。因此,每个教室的计算机上都需要安装该软件实现对教室设备的控制。

安装于中央控制室的软件包,要对每个教室进行设备管理。如果在下课以后一些教室的电源或一些设备没有正常关闭,需要对相应的教室进行操作,当教室的报警系统发现可疑现象时会报警,并将报警信息传到中央控制室。每间教室分配了一个固定的IP,中央控制室的控制软件能够根据IP辨别所在教室,做出相应处理。

2.2 通信过程

教室中控定时向主控室发连接请求并发送设备状态数据,中央控室服务端口一直处于监听状态并处理来自各个教室的数据并显示其设备状态;同时,中央控室在进行远程控制时,发送控制命令给教室中控,教室中正确无误接收到命令后,作出相应的控制动作,并在控制操作完成之后返回设备状态信息给中央控室。

例如,西楼101教室上课的老师把柜门打开,系统自动启动,包括电源开,幕布自动降下,投影机自动开启等。此时在中央控制室的界面上可以看到西楼101的设备使用情况,电源、电脑等设备处于运行状态。老师上课时通过控制台面板或者电脑软件的界面进行控制,如果老师使用手提电脑授课,要把手提电脑的内容投影到屏幕上,只需要按下“手提电脑”切换按钮便可以实现视频和声音切换到手提电脑,如果要切换回讲台的电脑,则按下“电脑”切换按钮便可实现切换。当下课之后,老师把柜门关闭,系统自动关闭,投影机延时自动关闭。此时,如果在中央控制室发现某个教室的开关锁已经关闭了,但是幕布没有升上去,则可通过中央控制室的控制按钮操作,然后关闭总电源。每次操作之后根据界面按钮对应的图标的颜色判断其状态,红色表示开启状态,蓝色表示关闭状态。

3 教室端的具体设计

3.1 系统工作流程

根据TCP/IP的客户/服务器模型[3],教室的计算机作为一个服务器,网络控制模块则作为一个客户机,教室的计算机不断侦听来自网络控制模块的连接,连接建立以后,当用鼠标单击相应的按钮时往端口发送控制数据给网络控制模块。网络控制模块每隔一定的时间会向服务器发连接请求在连接断开的时候可以重新启动服务器使连接能够保持。设计的程序流程图和界面的设计如图2所示。

3.2 系统功能实现

1)加载套接字库:要使用套接字Windows Sockets[4][5],首先要加载套接字库,进行版本协商。在MFC环境下,提供了一个函数AfxSocketInit(),使用它可以完成加载和版本协商等工作。

2)创建套接字:Create调用Socket函数创建一个socket,并把它捆绑在this所指对象上,监测指定的网络事件。函数定义为BOOL Create(UINT nSocketPort = 0, int nSocketType=SOCK_STREAM,long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE,LPCTSTR lpszSocketAddress = NULL);

3)侦听:在服务器方对客户请求进行监听,当服务器在该端口和IP上监听到客户的网络连接事件FD_CONNECT,则会调用CAsyncSocket∷Accept()成员函数开始接收。函数定义为BOOL Listen(int nConnectionBacklog=5)

4)接收连接请求:为了使服务器端接受客户端的连接请求,就要使用accept() 函数,该函数新建一Socket与客户端的Socket相通,原先监听之Socket继续进入监听状态,等待他人的连接要求。

函数定义为virtual BOOL Accept(CAsyncSocket& rConnectedSocket,SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL);

5)发送和接收数据:当一个网络事件发生时,分别调用基于CAsyncSocket类的子类,在其虚函数里要添加发送Send /接收函数Receive来具体实现数据的收发。

函数定义:virtual int Send(const void* lpBuf, int nBufLen, int nFlags = 0);

virtual int Receive(void* lpBuf, int nBufLen, int nFlags = 0);

6)关闭套接字:函数定义为virtual void Close();

4中央控制端的具体设计

4.1 系统工作流程

中央控制室的控制程序流程与教室端软件相似,在网络模块和中央控制室服务器连接上以后,增加了获取IP、显示IP、接收数据、显示状态的函数功能。作为服务器,一开始也是在设定的端口34567和主机的IP上不断侦听,教室中控连接上以后就可以开始进行数据的收发,数据发送通过按钮控件触发。具体控制流程与界面设计图见图3:

3)当客户端和服务器连接上并发生FD_READ网络事件时,调用CAsyncSocket类[6]子类MySock的虚成员函数OnReceive(),在该函数内部要实现真正的接收,需要调用MySock的成员函数receive()。在函数内部,首先要为数据开辟一个缓冲区,设为1024。接收的数据帧经过检查符合协议标准才可以使用,否则视为无效帧丢弃。根据OnAccept函数设置的教室标志来判定教室显示区域,最后根据数5 结束语

本文设计的中控系统的网络部分,测试结果良好,能实现预期效果。

参考文献:

[1] 晏飞,王耀.网络控制的多媒体教室中央控制系统[J].科技创业,2006,6(4):188-189.

[2] 浦万成.多媒体中控系统的设计与应用[J].北京联合大学学报,2003,17(2):67-69.

[3] 梁敏.用VC实现基于TCP/IP的局域网内点对点的大文件传输[J].西北民族大学学报,2005,26(57):72-76.

[4] 艾光利.基于Sockets 的计算机远程监控技术及实现[J].重庆师范大学学报,2003,21(1):33-37.

[5] 马永宏.VC++环境下基于WinSock的网络通信[J].北京工商大学学报,2006,24(6):40-44.

[6] 丁忠.基于VC++的网络实时通信系统的设计与实现[J].四川理工学院学报,2006,19(5):66-69.

上一篇:数字网络化语音室的应用管理与维护 下一篇:研究常见课件PPT的制作要点