当前位置:文档之家› 基于Android智能终端的远程控制系统

基于Android智能终端的远程控制系统

基于Android智能终端的远程控制系统
摘要:提出了基于Android 手机的远程控制系统设计方案,该系统基于Openmobster开
源手机云计算平台。

介绍了整个系统结构框架,详细分析了各个模块的具体实现。

通过应用
实例在设备上进行了测试,实现了云服务器端对Android智能手机终端的访问和远程控制。

关键词:云计算; Openmobster; Android;远程控制
随着移动互联网的快速发展,云计算在移动平台的应用引发了一场变革。

在移动领域的云
计算(移动云计算)是利用云计算技术解决移动终端的存储和数据处理等问题,帮助用户摆脱
硬件设备、存储设备、应用程序等条件的限制,实现将移动终端应用的“计算”
从终端转移到服务器端,从而弱化了对移动终端设备的处理要求[1]。

Openmobster是一个
开源的集成了手机应用的云服务平台,具有开发手机同步应用、开发推送应用、开发离线手
机应用、应用开发框架、移动云服务的服务器端开发框架和管理控制台等特征。

其目的是让
应用开发人员省掉开发底层同步及消息通知中间件的工作,只需将注意力集中于更好地实现
业务需求上。

本文介绍了一种基于Android智能终端的远程控制系统,在系统中Android
手机利用周围的无线网络资源,与云端服务器自发交互,如远程下发通知、远程设置密码、
远程GPS定位、远程数据同步等操作。

通过该系统使云计算真正“落地”,实实
在在地为手机提供服务。

1 Openmobster平台的概述1.1 Openmobster对应用的支持 (1)
数据同步无需任何特定的设备间的同步程序,即可支持云端和终端间数据的自动同步。

允许应用工作于在线或离线模式,一旦检测到终端数据状态变更,立即发起对云端的自动数
据同步。

(2)实时推送通知消息云端的状态变更可以通过实时消息推送通知到终端,
该推送机制使用基于网络Socket的方式,而不是发送短消息或电邮的方式。

(3)移动远
程调用(Mobile RPC) 提供了一种访问云端服务的方式,无需复杂的网络底层编码
(.demo.sync.DemoBeanChannel">3.3 Android手机终端的开发(1)编写HomeScreen。

HomeScreen组件代表了Androidapp启动时的屏幕主界面。

其postRender()方
法的实现如下:。

if(MobileBean.isBooted("demobean")) { MobileBean[]demobeans=MobileBean.readAll("demobean");
String[] ui = new String[demobeans.length];for(int
i=0,size=ui.length;i<size;i++){ui[i] = demobeans
[i].getValue("message");} listApp.setListAdapter(new ArrayAdapter(listApp,yout.simple_list_item_1, ui));} (2)在moblet-app.xml 进行配置。

<screen>com.demo.app.HomeScreen</screen>3.4 系统的总体设计流程整
个系统的总体设计流程。

具体设计步骤如下:
(1)用户通过浏览器打开自己设计的网页,选取需要下发的控制命令,然后输入已经在服
务器上配置好的账号和密码,点击“确定”后调用JSP代码: <form
action="action.jsp" method="post" name="form1"
id="form1"> (2)JSP执行过程为将网页请求request封装的各功能选项字
段取出并封装。

(3)CloudServer中定义的DemoChannel会定期调用scanForNew并对上
面的字段进行检查,一旦发现有新数据,即通过read()接口取出该数据,将其封装到DemoBean
对象中,并通过OpenMobster下发推送通知到终端。

(4)终端的后台服务Service同样建
立了对应云端DemoChannel的接口,一旦收到频道的下发通知,即通过发送Intent的方式启
动一个Activity,在启动过程中可以通过MobileBean.read(channelUri,userName)接口读
出对应账号名和通道下发MobileBean,通过MobileBean.getValue接口获得下发通知中的各
功能命令字段。

(5)通过对上述各命令字段的含义解析,获取字段的值,并进入等待队列。

如果手机上的客户端已经被用户登录并激活,将调用Android平台提供的各个功能接口,完成下发的控制命令操作[3]。

(6)如果下发的命令字段中要求将手机中的数据上传到服务器时,通过类似下发的逆过程,相应地建立上传的通道,将数据上传到服务器侧。

如果用户有需要,还可以将这些数据展示在网页界面上。

4 实现结果系统采用了C/S模式的架构进行实现,服务器与客户端通过Socket 进行网络通信。

在PC 端Openmobster的实现中,采用了基于HTTP长连接的“服务器推送”技术,通过长连接,服务器随时发送Push 通知;服务器采用移动App框架结构,手机的客户端做成一个可开机自启动的apk,该手机只要接入网络而且被激活,会在后台一直运行等待用户发送命令。

该系统可实现远程追踪、远程擦除、远程锁定、远程同步、远程推送、远程过程调用等功能[4],实现环境为Eclipse。

Android 手机端的激活与远程下发和锁定过程。

经过在Android高通平台手机上反复测试,手机连接Server 的时间小于3 s,远端Server 对手机控制命令的响应时间小于5 s,基本完成了云服务器对智能手机终端的访问和控制功能。

但是在测试过程中发现Openmobster平台设计的数据同步算法还不完善,如在本地进行的新增、修改、删除记录的操作时,如果没来得及同步到服务器侧,会因为重新同步数据操作而丢失,造成用户使用不便,有待于今后深入研究和探讨。

相关主题