Web Camera模拟Windows Phone 7在重力加速度传感器的应用-设计应用_第1页
Web Camera模拟Windows Phone 7在重力加速度传感器的应用-设计应用_第2页
Web Camera模拟Windows Phone 7在重力加速度传感器的应用-设计应用_第3页
Web Camera模拟Windows Phone 7在重力加速度传感器的应用-设计应用_第4页
Web Camera模拟Windows Phone 7在重力加速度传感器的应用-设计应用_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑WebCamera模拟WindowsPhone7在重力加速度传感器的应用-设计应用

引言

WindowsPhone7是微软发布手机操作系统。据国外媒体报道,微软公司执行官史蒂夫-鲍尔默北京时间2月15日在移动通信大展上发布了公司一代手机操作系统,WindowsPhone7.微软称,公司将通过一代手机操作系统WindowsPhone7,将旗下XboxLIVE游戏、Zune音乐与独特的视频体验整合至手机中。2022年10月11日晚上9点30分,微软公司正式发布了智能手机操作系统WindowsPhone7,并同时宣布了首批采用WindowsPhone7的智能手机有9款,早将于10月21日上市。微软执行官史蒂夫·鲍尔默在发布会上说,"我荣幸的向各位介绍WindowsPhone7系列手机操作系统。在市场充斥着相同功能及体验产品,我激励团队要拿出一个可以带来全新移动体验的解决方案。"鲍尔默说到,"手机的发展要求产品真正契合用户生活脚步、满足社交需求并提供各种无缝体验。WindowsPhone7系列手机操作系统的发布,是这一历程的转折点。

目前,对于我们国内大多数的WindowsPhone7开发者来说,模拟器是调试程序的选择。因此,和硬件相关的一些功能就没有办法进行测试。加速度传感器是WindowsPhone7中一个基本的传感器,很多应用软件和游戏软件都需要用到它,因此,使用其他手段来模拟重力加速度传感器是一个十分有用的尝试。

线索

WindowsPhone7的模拟器本质上是一个x86的虚机,而里面跑着一个WindowsPhone7OS的完整镜像。该模拟器模拟了很多外围设备(例如声音、网络),当然这个外围设备列表有望在以后扩展。如果你的PC机具有多点触摸的屏幕的话,该虚机也是支持多点触摸的。它使用宿主PC上的GPU来对图形进行加速。它能够模拟x86的环境并且可以在里面运行托管代码的一个原因在于。NETCompactFramework的运行时支持x86和ARM架构(为两种架构提供了JIT,在两种环境中均可无缝的运行托管代码)。

在今年8月,WindowsPhone7开发工具还是Beta版本的时候,山羊胡大叔的Blog《给你的WindowsPhone7模拟器加入GPS和加速度传感器模拟功能》中,已经给出了一种途径,其方法是:使用一台真实的HD2来获取加速度传感器的数据,然后把这些数据再传回WCF服务;同时WindowsPhone7的应用程序通过这个WCF服务来获取加速度传感器的值。由于手头没有HD2设备,所以就无法去尝试和验证这个方法。

准备工作

1.安装WindowsPhone7的开发工具,这个我就不再啰嗦了。

2.网络摄像头一个,普通的就可以。

3.去Codeplex网站开源项目AccelKit。

4.解压AccelKit以后,里面包括EmuClasses、Executable、src这三个文件夹和Print_This_Cutout这个pdf文件。EmuClasses文件夹中的文件可以引入到我们的应用程序中,实现加速度传感器数值的读取;Executable文件夹中的文件用来运行在桌面PC上,控制摄像头,并保存数据;src中的文件是对应的控制摄像头程序的源程序。

5.将Print_This_Cutout.pdf文件打印,并用剪刀剪裁其中一个WindowsPhone7的面板,将其固定于一块板子上。

开始测试

1.启动Executable文件夹中的accelKit.exe文件,开启摄像头。

2.开启WindowsPhone7模拟器,运行带有加速度传感器的应用程序。

3.在摄像头前晃动带有WindowsPhone7面板的板子,检验效果。

实现原理

摄像头对捕捉到的图像进行分析,识别WindowsPhone7面板的移动加速度,按照一定的时间间隔发送给本地的端口::88/。

我们在写WindowsPhone7的应用程序时,利用WebClient来获取88端口的数据:

。.

WebClientwc;

wc=newWebClient();

wc.AllowReadStreamBuffering=false;

wc.DownloadStringCompleted+=newDownloadStringCompletedEventHandler(wc_DownloadStringCompleted);

wc.DownloadStringAsync(newUri(:88/));

。.

voidwc_DownloadStringCompleted(objectsender,DownloadStringCompletedEventArgse)

{

if(e.Error!=null){timer.Begin();return;}

if(e.Result==null){timer.Begin();return;}

string[]vc=e.Result.Split(newChar[]{‘,’,‘’});

doublex=Convert.ToDouble(vc[0]);

doubley=Convert.ToDouble(vc[1]);

doublez=Convert.ToDouble(vc[2]);

}

具体可以参考EmuClasses文件中的文件。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论