嵌入式系统实验指示书.doc_第1页
嵌入式系统实验指示书.doc_第2页
嵌入式系统实验指示书.doc_第3页
嵌入式系统实验指示书.doc_第4页
嵌入式系统实验指示书.doc_第5页
免费预览已结束,剩余3页可下载查看

下载本文档

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

文档简介

嵌入式系统实验指示书(创新实验:Android平台上的多设备互操作)ver 2.1创新实验:Android平台上的多设备互操作注:选做本实验平台实验的同学如有问题可首先咨询本实验平台负责人,最后也首选联系负责人检查实验1. 实验目的1) 深入学习掌握基于Android系统的嵌入式系统开发过程。2) 培养自学能力、小组合作能力和创新能力。2. 实验要求1) 实验内容:在Android平台上,围绕多设备间的互操作(手机与PC,手机与手机间),自选一个实验题目进行研究探索,选题应具有一定的难度、工作量、创新性和应用价值。2) 实验检查:实验应在本学期第16周结束之前(2010年1月9日之前)申请检查并提交实验报告。检查时由同学向助教或老师演示实验结果,说明本组同学的分工,并回答助教或老师的问题。检查时要求本组的所有同学必须同时到场,不到场将被扣分。过期未完成实验检查的,本组所有成员的成绩将乘以系数0.8,请大家尽可能按时完成实验。3) 实验报告:本实验要求提交一份实验报告,报告的格式要求正规一些,但也不要长篇大论、言之无物,希望言简意赅、抓住重点、突出增量。实验报告文件命名规则:姓名1_姓名2_.姓名n_实验报告题目.doc(姓名1、姓名2姓名n分别为该组n名同学的姓名)。实验报告电子版应在申请实验检查之前提交到网络学堂上,并告知相关的助教或老师(联系谁检查实验就告知谁),实验检查之前未提交实验报告的组所有成员均将被扣13分。3. 实验选题建议Android平台是Google公司近年推出的面向移动设备的嵌入式操作系统,本实验希望同学们在Android平台上开发出支持多设备间互操作的应用系统。所谓多设备互操作的应用系统,是指在多个计算设备(如手机、电脑、投影仪)间互联互通的基础上,设计并实现这些设备间的相互控制、屏幕共享、文件传递等互操作功能。本实验需要同学们首先学习并熟悉Android平台上的编程,部分文档和例程可参考1-6.本实验推荐面向如下的场景,基于实验室已有的一些工作基础来建立Android手机上的多设备互操作应用系统:推荐场景:会议室中具有一台公用的投影仪,其显示输入与一台PC相连接。用户P携带一台或多台基于Android系统的手机(或上网本)进入会议室。P启动手机上的多设备互操作应用软件,应用显示当前环境中具有一台可供使用的投影仪设备。P作为此次会议的主讲人,他通过此软件便捷的将已存储在手机上的PPT文件推送给投影仪。投影仪打开PPT文件并进入播放模式。会议开始,P通过它的手机远程控制PPT的播放完成演讲。在上述推荐场景中,具体的工作主要具有如下六个工作单元(WP),分别为:WP1:手机主动发现投影仪(已与PC相连接,下同);WP2:手机将本地的文件推送给投影仪;WP3:手机远程控制投影仪;WP4:手机显示投影仪当前显示的屏幕内容;WP5:手机上完成WP1-WP3的应用界面设计。WP6:集成使用WP1-WP5的一个演示场景具体而言,有如下建议:1) 多设备间互操作的应用系统包括设备间的底层通讯连接,以及上层实现远程控制/文件传递或共享/屏幕共享等具体功能。2) 【面向WP1】目前实验室中已实现了一套在PC设备上运行的多设备间互操作应用系统,本实验建议充分利用现有应用系统来开发基于Android系统的应用。如下图所示,每个设备上都会运行MDIClient,每个MDIClient通过连接MDIServer来实现与环境的通信(MDIServer按照一定的规则运行在其中的一台设备上),设备间的控制命令通过MDIServer来实现转发。对于本实验而言,我们提供PC上的Server供大家进行调试,同学们需要在Android手机上实现Client端,并完成对MDIServer的自发现、自动连接、以及消息传递等功能,具体的连接附录中具体阐述。同时,我们提供场景中的投影仪所属PC的MDIClient供参考使用。同学们可以利用MDIClient上具有的功能(如基于SMB的文件推送、面向屏幕共享的VNC等)来实现本实验所需的应用场景。3) 【面向WP3】在Android手机上实现对其他设备(如PC)远程控制的例子,可考虑将Android手机实现为其他PC的无线键鼠。具体可参照RemoteDroid6或gRemote 7等,其实现方法实现采用C/S结构,手机为Client,PC为Server,Client端截取手机的控制命令(键盘输入,滚轴操作等)发送给Server,Server在PC上模拟这些控制命令。4) 【面向WP2】在Android手机上实现与其他PC(或Android)手机的文件共享/传递功能,可考虑利用Android手机上的开源的SMB服务10来具体实现。5) 【面向WP4】在Android手机上实现与其他PC的屏幕共享功能,可考虑利用VNC协议来实现,参考Android上的开源的android-vnc-viewer9来具体实现。6) 【面向WP5】Android平台上的创新型UI(用户界面)设计与标准PC开发环境有较大的不同,因此需要针对Android手机设计适合其特点的多设备交互界面。在这个方面大家可以充分发挥想象力,并可利用手机上具有的特殊传感器(如摄像头、加速度传感器等)。交互界面需要在保证可用性的基础上,具有美观、易用等特点。如可以参考Android平台上简单的Gadget开发,通过选取手机上的PPT文件,将文件拖拽到界面上代表投影仪的图标上,从而实现PPT文件的上传与播放;通过将常用的PPT命令实现为Gadget上面的按钮实现PPT播放的控制等。7) 另外,需要说明的是,对PC端的控制WP2-WP4可能都可以借助于VNC来实现,但本实验是要求WP2-WP4的功能可以分开演示(即可以在不共享屏幕的前提下实现远程键鼠功能;可以独立的向投影仪推送/控制PPT演示等)4. 特别说明Android平台是近一年推出的新移动设备操作系统,基于Android平台的创新实现是本年度第一次提出,在资料上(往届同学的实验报告,开发文档及例程方面)相对于其他创新实验都有所欠缺。以上这些因素都无疑让本创新实验更具有挑战性。5. 致谢在本平台的建设过程中,衷心感谢以下人士:感谢索岳老师、研究生陈昶、董渊老师为G2的Android平台设计了最初的设备间互操作的有趣且有挑战的题目,并提供了已实现的部分代码和许多有益的设计建议,再此表示衷心的感谢。6. 搭建Android开发环境由于因为众所周知的原因无法访问。可以访问/,上面有详细的开发说明。其中,安装SDK可以参考/sdk/1.6_r1/installing.html ;详细的开发指南可以参考/guide/index.html 下面我们以windows平台为例,step by step 安装android最新的开发平台首先下载window平台的sdk,然后解压,移动到C:android-sdk-windows-1.6_r1然后设置环境变量,在PATH中添加;C:android-sdk-windows-1.6_r1首先下载安装eclipse 3.5,一般的sdk就可以。启动eclipse:Help install new Software Add Archive 选择已经下载的eclipse插件 ADT安装提示的包 安装完毕提示重启eclipse重启重启之后:在eclipse上面Window Preferences Android SDK Location in the main panel, Browse. 然后选择刚才sdk的路径 Click Apply, 就 OK.了7. 创建第一个Android程序Hello World!创建一个HelloWorld程序是开始学习新平台或新语言的第一步,/guide/tutorials/hello-world.html 上面有详细的创建Hello World程序的例子。请大家按照例程中的步骤一步步的完成下来,就可以写出一个Android平台上的HelloWorld程序。8. 一些参考资料1 Android 开发简介(一篇不错的中文Android入门介绍)/developerworks/cn/opensource/os-android-devel/index.html 2 使用 Android 实现联网 /developerworks/cn/opensource/os-android-networking/index.html 3 深入探讨Android传感器/developerworks/cn/opensource/os-android-sensor/index.html4 Google Projects for Android /android/ 5 Android Development Document. / 6 Android Widgets Guidelines/guide/practices/ui_guidelines/widget_design.html7 RemoteDroid. /8 Gmote. / (部分时间需借助其他工具才能访问)9 android-vnc-viewer. /p/android-vnc-viewer/ (部分时间需借助其他工具才能访问)10 SambaExplorer. /p/sambaexplorer/ 11 Android Docuementation. http:/lampwww.epfl.ch/linuxsoft/android/android-m3-rc22a/docs/documentation.html 12 Android开发所需的Eclipse、SDK及ADT等工具。ftp:/android:tools 附录1:相关软件FTPftp:/android:tools:21附录2:参考设备连接协议*设备发现阶段:发现开始1. Client:【multicast】地址: port:5556内容:“client add”2. MulticastServer接收到广播包之后:拿出源地址source ip【UPD】server产生一个id,向sourceip发送id3. Client监听port 5556,如果收到id,拿出源地址serverip发现结束 连接阶段:1. Client:通过拿到的serverip,建立与服务器的tcp连接,发送指令:command:addUser,name:reasonwritten-dx,group:,nick:somenick2.Server调整内部结构向所有用户*发送更新信息:response:lsAll,ip:4,name:reasonwritten-dx,group:,nick:reasonwritten-dx.(所有的用户).*也可以发送更新即可 文件共享阶段:主动推送:A85发出的信息:command:requestFilePush,targetip:4,filepath:Server_ipsscp_share52007210765.jpg服务器添加相应信息:B84接受的信息:command:requestFilePush,targetip:4,filepath:Server_ipsscp_share52007210765.jpg,sourceip:5,sourcename:Client_A,targetname:Client_B VNC1. push 方式(主动共享自己的屏幕)2. pull方式(获得别人的屏幕)Push 方式的通讯过程:A 85command:requestVNCPush,targetip:4,同时A打开自己的ServerB 84受到A的请求command:requestVNCPush,targetip:4,requesterIP:5获得请求之后,反向链接requesterIPPull 方式的通讯过程(1):A

温馨提示

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

评论

0/150

提交评论