首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于Windows服务、网络和串口投影机远程控制设计
来源:本站整理  作者:佚名  2009-07-03 13:09:59



 摘 要:在小型或零星的多媒体教室实现对投影机的网络远程控制,仍然值得进一步研究。在此阐述Windows服务的
基本特性,分析服务器端网络数据帧与串口数据帧通信协议的转换,论述基于Windows服务的软件设计流程。进而提出在
无网络中控的情况下,对投影机实现远程控制的“零成本”解决方案,并介绍投影机远程冷启动开机和延时关机的方法。基
于Windows服务的数据通信有着在特殊应用中的优势。
关键词:Windows服务;网络;串口;远程控制;投影机


0 引 言
    在小型、零星或分散的多媒体教室里,如果吊装投影机后,再配置一套多媒体教室设备网络集成中央控制系统(简称网络中控)显得有些多余。因为网络中控的主要控制对象是投影机,是围绕投影机服务而实现多媒体教室设备的集成控制。不过投影机已经具备了信号源的切换功能,与其连接的计算机又有网络和串口资源,而且网络中控还必须占用一个目前网络资源紧张的IP地址。
    为了充分利用投影机和计算机自有的硬件软件资源,这里使用Microsoft Visual Studio 2005集成开发工具和.NET 2.O框架,采用C#编程语言,提出一种既能在运行时不需用户交户的窗口界面、不与其它应用进程发生冲突,又能实现投影机的远程冷启动开机和延时关机,基于网络、Windows服务和串口的投影机远程控制“零成本”解决方案。

l 关键技术的实现
1.1 计算机Windows服务技术特征
    一个计算机 Windows服务程序是没有Win-dows窗口界面的后台运行程序,是在Windows操作系统下不要求用户交互而能在后台运行特定功能的可执行应用程序。对于自动启动的Windows服务程序,在Windows启动或是重启之后,用户登录之前就开始执行,随Windows系统关闭而最后停止。 Windows服务程序的应用范围很广,典型的Windows服务程序包含硬件控制、应用程序监视、系统级应用、诊断、报告、Web和文件系统服务等功能。
    Windows服务应用程序的启动由Windows服务控制管理器(Service Control Manager,SCM)完成,而SCM通过维护数据库对已经安装到系统的所有服务和驱动程序进行统一而安全的控制和管理,是一个远程进程调用服务器,在 Windows操作系统导人时自动启动。Windows服务分为服务应用程序启动、服务程序监控及运行和服务程序安装三个部分。这三部分通过安装程序组合为一个完整的.exe文件。
    实现投影机的远程控制,开发用户主要精力放在网络与串口通信协议及程序设计上。与投影机连接的计算机设置为服务器端,由服务器端的网络与串口通信程序转发客户端发送的控制信号实现对投影机控制,或作为返回投影机的应答信号。显然,计算机只是数据信号转发的硬件软件中介,网络与串口通信软件只能在计算机的 Windows操作系统后台进行,即Windows服务承担此特殊任务。这是实现硬件控制和应用程序监视,并以软件设计为主的解决方案。.NET框架简化了Win-dows服务程序的创建和控制过程,其中启动函数On-Start()和关闭函数OnClose()都是Windows服务开发重点。
1.2 网络数据帧与串口帧的通信协议设计
    为了在计算机启动后立即监听网络,及时转发客户端发来的控制信号到投影机,使投影机实现相应的动作,则计算机首先必须实现基于Windows服务的网络和串口的转换协议,定义图1所示网络数据帧和串口数据帧格式。服务器和客户端都以网络数据帧来通信,网络数据帧包含IP头、TCP头和若干串口数据帧。由于服务器端的计算机可能要使用多个串口控制嵌入式设备,同时因不同厂家生产投影机的串口波特率、效验位、数据位、停止位等都不一致。无法确定所有投影机的串口设置,串口帧除了串口数据(N位)外,还需要在串口数据前加串口号(1位)、串口设置(1位)。为了编程方便,设定统一串口帧长度,对于不够长度的,以填充位(为O)来补齐。在允许网络数据帧最大长度的情况下,可以一个网络数据帧包含若干个串口数据帧,各个串口数据帧以串口帧头和串口帧尾区分开。

1.3 网络与串口通信软件设计
    由上面论述可知,与投影机连接的计算机设置为服务器端。其软件设计采用客户机/服务器(C/S)模型,与远程客户端实现网络通信,都要建立通信网络套接字 Socket.对象,以后服务器端和客户端通过这个套接字进行网络通信。.NET 2.O提供了SerialPort串口组件,以完成与投影机或其他嵌入式设备的串口数据信号转发。
    在服务器端,基于计算机Windows服务的关键程序是网络与串口通信程序设计,网络与串口通信主程序流程图如图2所示。服务控制管理器SCM在Win- dows系统启动后就调用网络与串口通信程序的On-Start()函数。在OnStart()函数里建立新的线程,并建立新的Socket对象,使用 bind()函数绑定本地计算机的IP地址和协议端口,通过。listen()函数监听该协议端口。为了提高计算机的运行效率,采用非阻塞异步 Socket编程。

[1] [2]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:159,082.00000 毫秒