登录   |   注册
    准考证打印   论文投票   报考指南   论文辅导   软考培训   郑重申明  
您现在的位置:  首页 > 通信学苑 > 中级互联网技术 >> 正文
正文
多网络和Linux代理的Android无线远程控制系统
来源:尚大教育-通信学院 作者:辉辉 时间;2013-02-25 点击数: 尚大软考交流群:376154208
随着智能系统的高速发展和智能移动终端的普及,在政府部门和企事业单位,员工使用Android系统的智能终端(包括手机和平板电脑)办公越来越多,利用网络对移动终端进行控制和管理,十分必要,目前的远程控制大多基于应用层实现,只能对特定的一些应用或者上层的一些权限进行管理和控制,不能对Android终端实现真正意义上的完全控制。另外,这些远程控制只是基于单个网络实现,不能保证远程控制的稳定实现。

    3  具体实现

    3.1 多网络通信实现

    该系统的总体设计思路是;一定数量的Android终端用户群之间,有一个作为控制端,其余的是被控终端,通过WiFi无线网、GPRS网络进行通信,控制端发送命令到被控终端执行,采用C/S结构。

    (1) GPRS网络和WiFi网络通信实现

    首先,在控制终端和被控端都建立一个TCP端口监听线程。分别建立一个ServerSocket,能各自监听自己的TCP端口,端口地址分别为:控制端为10000,被控终端10001.被控终端监听控制端发送命令信息,命令放在报头中,而文件等内容放在数据流中;命令会被执行并保存到数据中,文件会保存到SD卡上,等待被命令调用执行,在此,完成TCP通信。另外,控制端和被控端各自创建一个MulticastSocket对象,并加入一个组播地址,地址为234.0.0.1,控制端的端口为10002,被控终端端口为10003.控制端用以监听被控终端发送的登录广播信息;被控终端监听控制端发送的连接请求;当接收到组播UDP包后,取得源IP地址和源ID,将信息保存到本地数据库中,完成通信。

    (2) GSM网络通信实现

    如果在GPRS和WiFi都不通的情况下,使用GSM短信发送命令。具体如下:在被控制端建立一个Broadcast Receiver,接收系统短信广播,并将优先级设置为2147483674最高级别,这样会优先于其他方式先对短信内容进行处理。当有短信进入被控终端时,Broadcast Receiver会优先截取到短信内容,首先判断该短信是否为控制命令。如果是,则将命令发送到Service执行,同时截断广播,这样手机收件箱就不会收到该条短信。

    3.2 控制端实现

    控制端包括5个大的模块:操作界面、自动注册、发送消息、发送文件、应用管理。

    操作界面:操作界面是基于应用层和应用框架层实现的。调用Android组件库中的Activity组件和ListActivity组件显示操作列表;点击列表按钮等组件用来调用操作命令;通过界面操作生成对应的命令发送到被控终端,并显示反馈结果。

    自动注册:启动后,通过组播地址,每隔30 s向网络中发送一次心跳包,报文为“regist‖ask”,通知网络中的被控终端进行注册。监听UDP端口和TCP端口,当接收到被控终端发送的注册信息后,取出源IP地址和ID,保存到数据库中,完成注册。

    发送消息:通过界面操作输入文本内容,向被控终端IP发送消息。报文为“sendMassage‖content”,第一部分是命令,第二部分是消息内容。

    发送文件:选择本地文件向被控终端IP发送。采用Socket发送报文“sendfile‖filename//filePath”.该报文第1部分是命令,表示发送文件,第2部分是文件名,第3部分是文件保存路径。通过发送路径,可以替换被控终端上的文件,实现数据更新等功能。文件内容在Socket连接的输入/输出流中,保存的文件名和路径从报头中获取。

    应用管理:首先,向被控终端IP发送命令,获取被控终端应用列表;然后,选择对应操作发送命令,在被控终端接收到命令后,调用Android接口和Agent代理执行命令。该命令包括4个:install、start、stop、uninstall.例如:报文“install ‖file.apk”,通过Socket发送file.apk应用到被控端的sdcard/apk目录下,然后,通过agent代理执行install安装命令安装该应用。此外,start、stop和uninstall三个命令中,只是调用接口执行,不传送文件。

    3.3 被控终端实现

    自动登录:被控终端启动的时候,也会建立两个线程和一个BroadCastReceiver.一个线程监听组播连接请求的消息,另一个线程监听TCP端口的命令;广播接收器接收GSM网络发送的短信命令。第一个线程中,组播端口监听到控制端发送的请求后,取得IP地址,然后,发送带有自己ID的Socket包,报文内容为“regist ‖IMEI号”,包括注册命令regist和IMEI号(Android终端唯一标识)。第二个线程中,创建一个ServerSocket,监听控制端发送的TCP消息。BroadCastReeeiver接收到短消息广播后,传递给服务进行判断,看其接收到的是否是命令,如果是命令则执行对应操作。

来顶一下
返回首页
返回首页
上一篇:短距离无线通信我们该如何关注
下一篇:Wi-Fi Direct遥控整合方案实现高速无缝串流
 相关文章
 
 
跟贴共
笔 名 :   验证码:
网友评论仅供其表达个人看法,并不表明尚大教育同意其观点或证实其描述
距离2023年10月14日通信考试还有
通信各地考务机构
各省市通信报名简章