《基于Windows Mobile操作系统的虚拟摄像头设计.pdf》由会员分享,可在线阅读,更多相关《基于Windows Mobile操作系统的虚拟摄像头设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、电脑编程技巧与维护基于W i n d o w sM o b i l e 操作系统的虚拟摄像头设计李群祖1。谢植广2(1 空军9 3 9 2 6 部队,和田8 4 8 0 0 0;2 海军9 1 3 8 8 部队,湛江5 2 4 0 2 2)摘要:通过分析研究W i n d o w sM o b i l e 手机操作系统、蓝牙技术以及W D M 驱动程序,提出了一种虚拟摄像头解决方案。该方案利用基于W i n d o w sM o b i l e 操作系统的智能手机采集摄像头视频数据并通过蓝牙将数据实时发送到电脑上,并且开发虚拟设备驱动程序,接收并使用这些实时数据,实现了网络摄像头功能。关键词:
2、微软手机操作系统;蓝牙;虚拟驱动;W i n d o w s 驱动程序模型V i r t u a lC a m e r aD e s i g nB a s e do nW i n d o w sM o b i l eO p e r a t i n gS y s t e mL IQ u n z u l,X I EZ h i g u a n 9 2(1 U n i t9 3 9 2 6o fP L AA i rF o r c e,H e t i a n8 4 8 0 0 0;2 U n i t9 1 3 8 8o fP L AN a v y,Z h a n j i a n g5 2 4 0 2 2
3、)A b s t r a c t:A n a l y z i n ga n ds t u d y i n gW i n d o w sM o b i l ep h o n eo p e r a t i n gs y s t e m,b h e t o o t ha n dW D M,t h i sp a p e rp r o p o s e sas o-l u t i o no fv i r t u a lc a m e r a T h es o l u t i o nd r a w sO nW i n d o w s M o b i l e 一叩e m t i n g 一8 y s t e
4、m b a s e ds m a r tp h o n et op i c kc a m e r av i d e od a t aa n ds e n d st h er e a l-t i m ed a t at oc o m p u t e r st h r o u g hB l u e t o o t h,a n dd e v e l o pc o m p u t e rv i r t u a ld e v i c ed r i v e rt or e c e i v ea n du s et h e s er e a l-t i m ed a t at oa c h i e v en
5、 e t w o r kc a m e r af u n o t i o n K e yw o r d s:W i n d o w sM o b i l e o p e r a t i o n;B l u e t o o t h;V i r t u a ld r i v e r;W D M1引言目前,智能手机逐渐普及,因为其处理能力不断增强,功能越来越多、应用范围也不断扩大;在智能手机市场上,W i n d o w sM o b i l e 手机操作系统异军突起,因为其和W i n d o w s操作系统有着天然的联系。共用同一操作系统平台,在系统和软件的开发和使用卜有着得天独厚的优势。2 0
6、 0 3 年以来蓝牙技术日趋成熟,应用也越来越普及,在终端设备上基本上是必备的。提 n 的设计方案就是将手机通过蓝牙技术与电脑进行连接,在电脑上开发摄像头虚拟设备驱动程序,利用智能手机的摄像头在电脑上实现网络摄像头功能。2基本原理2 1W i n d o w sM o b i l eW i n d o w sM o b i l e 是微软为移动终端设备提供的一个高级的、开放的、标准的多任务操作系统,它将用户熟悉的W i n d o w s 体验扩展到了移动环境中,广泛应用于智能手机、个人数字助理、随身音乐播放器等移动终端设备;它的内核是通用嵌入式操作系统W i n d o w sC E,模块化
7、及可伸缩性、实时性能好,通信能力强大,提供了与无线通信相关的系统特性和U I 界面风格,针对智能手机和个人数字助理的特点,提供了系统定制、应用开发、平台仿真等一系列工具。2 2W i n d o w sM o b i l eS D K 和N E TC o m p a c tF r a m e w o r kW i n d o w sM o b i l eS D K 将W i n d o w sM o b i l e 开发人员工具集成到V i s u a lS t u d i o 中,提供了必要的模拟器、帮助文件、头文件和库文件,使W i n d o w sM o b i l e 开发人员町以利
8、用该平台开发自己的W i n d o w sM o b i l e 程序;N E TC o m p a c tF r a m e w o r k 也就是N E TF r a m e w o r k 精简版,简称N E TC F,是微软针对N E T 计划的智能设备开发框架,专为在设备资源有限的情况下实现最佳性能而设计;它将代码托管和W e b 服务带给了智能设备,允许安全的、可下载的应用程序在终端设备上运行。廷i 戤矗与蠢2 3 蓝牙技术I l】蓝牙是一种支持设备间短距离通信(一般是1 0 i n 之内)的无线电技术,能够在近距离内低成本的连接各种相关设备;完整的蓝牙协 义栈按功能又叮划分为4
9、 层:核心协议层(B B、L M P、L C A P、S D P)、线缆替换协议层(R F C O M M)、电话控制协议层(T C S B I N、A T 命令集)和选用协议层(P P P、T C P、T P、U D P、O B E X、I R M C、W A P、W A E)。具有以下特点:(1)上作在2 4 G H z 的I S M(I n d u s t r i a l、S c i e n t i f i ca n dM e d i c a l,工科学和医疗)频带上,不需要执照许可证;(2)采用快速跳频和短包技术,减少了同频T 二扰,保证r 物理层传输的口r 靠性和安全性;(3)支持6
10、 4 K b p s 的实时语音传输和各种速率的数据传输;(4)采用鉴权和加密等措施保证r 设备识别码的唯一性和通信过程中设备的安全保密;(5)支持点到点和点到多点的连接,因此可以在1 0 m 的小范围内将蓝牙设备连成一个微微网(P i c o n e t),多个微微网又叮以连成其他拓扑结构的网络,从而实现各种设备之间的数据传递和资料共享。2 4 基于W D M 的视频驱动技术1 2-5 1W D M(W i n d o w sD r i v e rM o d e l,W i n d o w s 驱动程序模型)以W i n d o w sN T 4 0 的内部结构为基础,给W i n d o
11、w s 操作系统设备驱动程序提供r 一个统一的参考框架,它屏蔽了操作系统结构对设备驱动程序兼容性的影响,同时它不是直接操作硬件,而是操作H A L(H a r d w a r eA b s t r a c t i o nL a y e r,硬件抽象层),所以说它是一个全新的跨平台的驱动程序模型。在W D M 中,微软提供了一个独立于硬件设备的驱动,称为类驱动程序。驱动程序的供应商提供的驱动程序称为M i n i d r i v e r(小端口驱动程序)。编写基于W D M 的视频驱动程作者简介:李群祖(1 9 7 8 一),男,硕士,工程师,研究方向为网络信息安全。收稿日期:2 0 1 1-0
12、 4 1 1万方数据A R T I F I C I A LI N T E L L I G E N C EA N DI D E N T I F I C A T I O NT E C H N I Q U E S人工智能及识别技术序实际是编写视频M i n i d r i v e r,供流类(S t r e a mC l a s s)驱动调用,两者配合完成视频数据采集等动作。流类驱动是一个中间层驱动,它在M i n i d r i v e r 和操作系统I 日J 提供一个接口,由D e v i c eM a n a g e r 来调用和管理流类驱动函数来完成大多数视频流的动作以及对硬件的控制。当流类
13、驱动和M i n i d r i v e r 都初始化完毕之后,M i n i d r i v e r 将处于一个被动的地位,只能被流类驱动调用和控制,两者之间通过S R B(S t r e a m i n gR e q u e s tB l o c k,流请求块)处理来实现交互。3系统框架设计系统分为4 个主要部分,整体设计框架如图l 所示。W i n d o w sM o b i l e其他应用程序采集摄像头数据j 七多系统席拟视系统视频驱动程序频驱动程序8彳 多W i n d o w s系统蓝牙驱动程序系统蓝牙驱动程序操作系统、8羊棚卜的茁砰尴倬b入纠电脑上的蓝牙模块丁倒LJ 日,1 址
14、1t 天,EN手机平台电脑平台图1 系统整体设计框架3 1 视频数据采集W i n d o w sM o b i l e 系统通过服务器C a m e r a 控制摄像头硬件的访问。在任何给定的时间,只有一个客户可以使用摄像头硬件。在使用摄像头拍照前,需要先连接服务器C a m e r a 再开启摄像头。当不再需要摄像头时,可以关闭它,终止与服务器C a m e r a 的连接。拍照是利用异步函数控制的。3 2 手机蓝牙模块与电脑蓝牙模块间的数据交换蓝牙系统在W i n d o w s 操作系统上分为以下几个部分:蓝牙用户模块、蓝牙协议模块、传输层模块和驱动程序模块。实现结构如图2 所示。蓝牙
15、用户模块主要是蓝牙守护进程,包含启动蓝牙设备所必须的一些基本配置信息,用来启动和配置蓝牙设备;在操作系统肩动时自动运行,保证蓝牙设备一直处于运行状态。将来也可以在该模块中增加一些蓝牙扩展应用,比如供用户进行扩展编程的A P I 接口和C O M 服务。蓝牙协议模块被置于在操作系统的核心模式下,一方面与守护进程合作,建立与远端服务的连接,处理远端的连接请求,提供用户配置界面;一方面负责和硬件打交道,解析和处理蓝牙数据包,和本地虚拟串口设备管理器结合起来,管理虚拟串F 1 设备。传输层模块南蓝牙协议模块中的蓝牙守护进程管理在运行时根据配置文件以动态链接库的形式来动态选择并加载每次蓝牙连接所使用的传
16、输方式,比如U A R T、U S B、P C 卡,甚至是用网卡模拟蓝牙设备。驱动程序模块实现蓝牙设备的硬件的注册和识别,这是所有1:作的基础。图2 蓝牙系统在W i n d o w s 操作系统上的实现结构在手机客户端,使用R F C O M M 协议将手机与电脑建立S o c k e t 连接:首先是发现远程设备提供的串口服务并提取监听端口,其次利用该端口信息与电脑建立S o c k e t 连接并收发数据。在手机服务端,一是用蓝牙安全管理器(B l u e t o o t hS e c u r i t yM a n a g e r)设置蓝牙服务安全要求,对进入的连接进行授权处理;二是发布
17、串n 服务,使远程设备能够通过B l u e t o o t hS e r v i c eD a t a b a s e 查询该串口服务是否可用;三是接收M e s s a g e并设置属性,确保同一时刻只有一个连接町用。在电脑端,使用与手机端相似的B l u e t o o t hS o c k e t,而不是将要使用的串口设置为蓝牙适配器所提供的虚拟串口,因为后一种情况下,电脑端只能被动地等待连接。3 3 视频数据采集1 4 1视频数据的实时采集,是利用W i n d o w sv 肼S D K 中的A V I C A P 部件,比如其中的消息、宏函数、结构以及回调函数来完成。A V I
18、C A P 支持实时的视频流捕获和单帧捕获并提供对视频源的控制,特别是它能直接访问视频缓冲区,不需要生成中间文件,实时性很强,效率很高。在进行视频捕获之前必须使用c a p C r e a t e C a p t u e r t W i n d o w0 来创建一个捕获窗口。这是所有捕获操作的基础。3 4 系统应用程序与视频驱动之间的数据交换在视频驱动程序与上层应用程序建立通信之前,首先要获得设备句柄以打开设备。获得设备句柄后,就可以在上层应用程序中建立与驱动程序的通信。有3 种方法:(1)在上层应用程序中卣接调用A P I 函数R e a d F i l e0 和W f i t e F f
19、l e0 建立处理读、写I R P 的例程,这种方法最简单也是最常用,但缺点也是很大的,就是通信是单方向的,驱动程序总是处于被动执行命令状态,不能和上层应用程序形成瓦通。(2)使用I o C r e a t e N o t i f i c a t i o n E v e n t0 在驱动程序中创建事件。并返回指向所建立事件的指针,在需要的地方使用K e S e t E v e n t0函数设置事件,在上:层应用程序中可使用O p e n E v e n t0 函数万方数据电脑编程技巧与维护打开此命名事件,并使用W a i f f o r S i n g l e O b j e c t0 等待事
20、件的触发。从而形成应用程序和驱动程序间的互通;但是这种方法也存在弊端,就是事件是在驱动程序中设置的,所以不能在应用程序中使用S e t E v e n t0 和R e s e t E v e n t0 来改变事件的状态,只能被动地等待事件的触发。(3)同样使用I o C r e a t e N o-t i f i c a t i o n E v e n t0 函数在驱动程序中创立事件,并把该事件的时间句柄传给应用程序,这样应用程序不必使用O p e n E v e n t0函数打开事件,叮以使用S e t E v e n t0 和R e s e t E v e n t0 随意改变事件的状态,使
21、事件与驱动程序中的系统线程同步;要注意的是。必须要在在应用的进程上下文中而不是在系统的上下文中创建事件并传给应用。在该系统中,使用第三种方案。4结语利用蓝牙技术以及W D M 驱动技术,开发了虚拟摄像头系统,使基于W i n d o w sM o b i l e 操作系统的智能手机可以作为网络摄像头在电脑E 使用。测试表明,数据传输稳定性、视频(上接第6 8 页)数据包转发效率,有效地隔离“广播风暴”对网络的影响。(3)视频会议和基层网络都属于单一链路,在建网初期考虑架设成本,但没考虑到丁作的实时性,如果网络中断,对会议和基层的上作产生严重影响。因此在基层设立第二条微波链路,区域成环互备但不衔
22、接。机关的架设专线联接总部,形成视频会议双链路互备。4网络架构实施过程(1)网络架构重新构建必须遵循以下原则:1)先进性和经济性适中,即技术不超前。价格不贪便宜。2)町靠性和可扩展性适中,即技术上既要有保障,还要考虑未来发展,便于升级。3)安全性和町管理性适中,即严格保护网络的同时还要便于管理维护。(2)实施过程中的技术要求:计算机网络管理离不开技术支持,在结合实际工作中的问题对网络提出r 以下技术要求:1)取消原网络D H C P 功能,采取I P 地址和M A C 地址邦定的技术手段,限制个人计算机联接公司网络。2)在网关出口部署高级网络管理硬件,限制网游和B T等网络应用,并对互联网数据
23、进行病毒过滤隔离。3)划分V I,A N 隔离计算机病毒和网络“广播风暴”等。4)设置远程网络设备管理I P,便于管理基层库站。5)在部分单位设置交换机端口限速,有效地节约了带宽。6)在核心交换机部署Q o S(质量保证)和P o S(优先队列),保障有用数据优先。(3)目前网络产品百家争鸣,在产品选择过程中秉承“性能与价格平衡,以国产研发为先导”的原则。根据公司新的网络架构和对新技术的需求,采取了A 公司的的以美国思科3 5 6 0 为核心交换机,国产华为二层接人层交换机,国产山石防火墙为网关高级设备的网络改造实施方案。公司网络改蠢戮矗与l画面的质量以及实时性都能满足正常的使用要求。参考文献
24、 1】1 刘新,吴秋峰无线个域网技术及相关协议叨计算机J:程,2 0 0 6,3 2(2 2):1 0 2 1 0 3 2】2 余文权虚拟摄像头开发模式及其应用研究 J 微计算机信息,2 0 0 7,2 3(9-1):2 8 7 2 9 0【3】陈军,胡瑞W i n d o w s 视频驱动程序的技术剖析和比较阴计算机工程与应用,2 0 0 2,(1 6):1 1-1 4 4】袁魏华,季鹏,乔卫民基于W D M 模型的P C I 卡驱动程序设计叨计算机工程与设计,2 0 0 5,2 6(2):5 3 7 5 3 9 5】沈宏伟,许超D C I 规范数字电影视频解压卡的W D M 驱动设计叨计算
25、机工程与设计,2 0 0 8,2 9(8):2 0 6 5 2 0 6 7【6】王华V i s u a l C+6 0 编程实例与技巧【M】北京:机械r 业出版社,1 9 9 9 造后的拓补图如图2 所示。思科3 5 6 0图2 华北公司北京本部网络拓补图5改造后网络现状目前华北公司北京本部计算机网络趋于稳定,有E R P、信息平台、视频会议等多个大型网络软件应用在运行。星型网络拓补架构的实施使公司网络运行稳定,视频会议和基层库站网络双链路是日常T 作不受单链路网络中断的影响,三层交换和V L A N 的引入使公司的网络数据在各层畅通无阻。新增加的各种网络设备的新功能很好地解决了公司原有的各种
26、问题,总体上说,华北航油公司的计算机网络较早期有了很大的提高,网络设备的功能、链路的规划、硬件的管理水平都处于社会前列。6 结语随着公司的信息化管理工作不断深入,公司的计算机网络还要不断提高,在这里秉承“发展和规划相结合”,“管理与技术相结合”,“架构与实施相结合”的原则来对计算机网络进行改造和更新。万方数据基于Windows Mobile操作系统的虚拟摄像头设计基于Windows Mobile操作系统的虚拟摄像头设计作者:李群祖,谢植广,LI Qunzu,XIE Zhiguang作者单位:李群祖,LI Qunzu(空军93926部队,和田,848000),谢植广,XIE Zhiguang(海军91388部队,湛江,524022)刊名:电脑编程技巧与维护英文刊名:COMPUTER PROGRAMMING SKILLS&MAINTENANCE年,卷(期):2011(12)本文链接:http:/