当前位置:首页 > 通信技术 > 通信网络
[导读] 智能手机普及率的提升,催生了基于智能操作平台的附加产物。而Android平台为开源的手机开发平台,通过对Android平台的设计开发,使智能手机获得增强化的个性服务。提出了基于Android手机

智能手机普及率的提升,催生了基于智能操作平台的附加产物。而Android平台为开源的手机开发平台,通过对Android平台的设计开发,使智能手机获得增强化的个性服务。提出了基于Android手机的无线控制系统,介绍了整体结构框架,分析了各功能模块的具体实现,并在实际设备中进行测试。实现了基于Android手机对设备的远程访问和控制。

引言

近年来,智能手机在全球范围内迅速普及。根据市场研究公司尼尔森发布的《2013移动消费者报告》显示,中国智能手机普及率已达到66%,已超越英国和美国的普及率。随着信息科技的快速发展,人们生活水平的提高,对电子产品的功能要求也越来越高。人们希望通过简单方便的操作,对周围设备进行访问控制。Android是一种开源的手机操作系统,具有强大的应用层API和丰富的传感器功能,其开放的平台有利于开发者开发出各类应用软件,增加手机的个性化服务。本文将Android手机与PC端联系起来,介绍了一种基于Android手机的无线控制系统。在该系统中,Android手机利用周边无线通信资源与其他设备进行交互,可进行无线鼠标控制、无线键盘输入、文件传输操作等。

1 Android的系统架构

Android的系统架构采用了由下至上的分层的结构,使下层为上层提供统一的服务。各层各司其职,本层及以下层发生变化不会影响上层,避免了各层的差异,图1是一张公开的关于Android体系结构架构图:

图1 Android的系统架构

从图中可以看出,Android系统分为四个层面,从底层到高层分别是:

Linux核心层(LINUX KERNEL)

Linux核心层负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。Android的核心系统服务依赖于Linux2.6内核,同时作为硬件和软件层之间的抽象层,隐藏了具体的硬件特性,并为上一层提供统一的标准服务。

库(LIBRARIES)和运行环境层(ANDROID RUNTIME)

库和运行环境层包含了标准C函数库Libc、 OpenSSL、SQLite等以及支持游戏开发2D SGL和3D OpenGL|ES,并负责解释和执行生成的Dalvik格式的字节码。核心库提供了Java编程语言核心库的大多数功能。每一个Android应用程序都在自己的进程中运行,并拥有各自独立的Dalvik虚拟机实例。

应用程序框架层(APPLICATION FRAMEWORK)

普通开发这可以使用Android基本应用程序使用的系统API,Android应用框架中的各个模块都可以被复用,各种服务也可以被复用。该层复用机制使用户可以方便的替换程序组件。

应用程序层(APPLICATIONS)

应用程序层内含有Android内置的Google Maps、E-mail、即时通信工具、浏览器等,开发人员开发的程序也将置于该层,并同内置程序有平等的位置,可以相互调用和替换。这类应用基本都是通过Java语言编写的,能够独立的完成某些功能的应用程序。开发人员可使用应用框架提供的API编写自己的应用程序。

2系统实现

设计原理

基于Android手机的无线控制软件主要运用到Socket通信原理。Socket是通信的基本操作单元,主要有两种操作方式:面向连接和无连接。面向连接的Socket操作使用TCP协议,此模式下必须先连接上目的地的Socket,此操作模式下所有所发信息都会在另一端以同样的顺序被接受,安全性高。无连接的Socket操作无需连接一个目的Socket,只做简单的投出数据报,但是操作数据安全性不高[。

综合考虑本设计采用面向连接的Socket操作,在手机端和PC端建立一个Socket连接,当手机端和PC端之间发送不同的命令时,手机和PC机做出不同的响应,并返回响应的数据。

系统的总体工作流程图如图2所示:

图2 系统总体工作流程

PC端作为服务器先运行起来,通过WIFI或蓝牙设备在指定端口处进行监听。随后启动Android端程序,在Android端输入口令和PC端IP地址,并发送给服务器。当服务器接收的口令和IP地址与预置信息相同,验证信息无误后,返回数据信号,此时允许建立连接。现在便可在PC端和Android端进行无线控制,包括命令传送和文件传输。

为了提高响应速度,该系统在多处使用了子线程。此方法避免了事件间的盲等状态,可异步处理不同事件。如果当前没有处理任务,便可将处理器时间让给其他通信任务。提高了程序的运行效率以及CPU的利用率,同时减少服务器响应时间。

Android手机端设计

在Android手机端运行该软件XXX Client后,进入鼠标界面ControlAcTIvity,该界面同鼠标相对应,有左键、滚标、右键。在用该手机进行控制PC端之前,还需对手机进行通信设置,此时进入菜单栏,选择connecTIons,进入连接设置界面,新添加一个WIFI连接。在Android端输入用户名、服务端IP和端口号,通过服务器验证后,便和PC端建立好Socket连接。

当服务端和客户端建立好Socket连接后,他们之间可以相互发送命令和接受命令,目前支持图3中所示的控制命令。

图3 基于Android的无线控制系统支持命令

AuthentificationAction:认证命令。客户端向服务端发送认证的密码。

AuthentificationResponseAction:认证响应命令。服务端验证客户端是否正确的,返回验证的结果。

FileExploreRequestAction:打开文件命令。客户端请求打开服务端文件的命令。客户端发送这个命令请求打开服务端的文件。

FileExploreResponseAction:服务端响应客户端打开文件的命令。

KeyboardAction:键盘命令。

MouseClickAction:鼠标点击命令。

MouseMoveAction:鼠标移动命令。

MouseWheelAction:鼠标滚轮命令。

连接好Android端和PC端后通信,返回至鼠标界面,鼠标点击事件通过客户端发送特定的命令到服务端,触发MouseClickAction事件,服务端通过Java中专门控制鼠标键盘的Robot类[6],将事件发送到Android端,从而实现Android端对PC端鼠标控制。

鼠标滑轮事件MouseWheelAction和键盘事件KeyboardAction命令均需要用到Robot类向服务端发送事件,该命令同MouseClickAction触发事件相似,从而实现鼠标滚标事件和键盘事件。

除了鼠标点击和鼠标滚标外的黑色区域是一个ControlView。当手指在ControlView里面移动时,触发事件onTouchMoveMouseMove,根据moveXFinal和moveYFinal计算出鼠标移动距离,并发送到服务端:

dos.writeByte(MOUSE_MOVE);

dos.writeShort(this.moveX);

dos.writeShort(this.moveY);

当服务端接收到该命令时,会触发moveMouse方法,然后通过服务端的Robot类,向系统发送移动事件。

文件传输功能在FileExplorerActivity中实现,客户端向服务端发送请求打开目录命令,服务端返回文件列表的响应命令。当客户端点击的文件不是一个目录,而是一个文件时,服务端就执行打开该文件的命令。

3 系统测试

该系统采用了C/S的结构来进行通信实现,Android端和PC端通过Socket进行网络连接通信。Android端做成APP模式,运行时通过WIFI或蓝牙连接服务端,在PC端使用Java的OSGi框架。在Android手机上经过反复测试,手机连接Server的时间小于3s,PC端对手机控制命令的响应时间小于5s,并能实现手机端对PC端的访问控制、文件操作。Android端鼠标界面、访问控制和文件操作过程如图4所示。

4 结语

智能手机在世界范围内的快速普及,加上科学技术的高速发展,让人们对智能手机的功能要求越发靠近日常生活。该系统在运行方面基本能完成所要求操作,但设计界面还不够完善,在常规使用中应有合适的操作界面,同时还应完善操作功能,如在本地进行新增、修改、删除的操作。为便于未来用户使用,该系统有待于今后深入探讨和研究。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

(全球TMT2023年8月24日讯)2023年8月23日,时值实时3D引擎Unity在华设立合资公司Unity中国一周年之际,Unity中国正式推出Unity中国版引擎——团结引擎。Unity全球CEO John Ri...

关键字: UNITY CE Android 开发者

报告显示:全球电商 App 获客花费接近50亿美元 北京2023年8月23日 /美通社/ -- 全球营销衡量与体验管理平台 AppsFlyer 近日发布《2023 电商 App 营销现状报告》。尽管面临全球经...

关键字: APPS BSP iOS Android

数字机顶盒是一种数字技术下的多媒体娱乐中心,可以实现电视节目接收、播放、存储、网络应用等多种功能。随着科技的发展,数字机顶盒的设计方案也在不断进步和优化。本文将介绍数字机顶盒设计的几种实现方案。

关键字: 数字机顶盒 Android Linux

21ic 近日获悉,原小米 9 号创始员工李明在社交媒体平台公布了旗下首款产品乐天派桌面机器人,为全球首款 Android 桌面机器人,面向极客和发烧友的 AI + 机器人。据悉,李明两个月前宣布创业并进军 AI 领域,...

关键字: 小米 Android 桌面机器人 AI

尽管安装增长放缓,全球游戏 App 获客花费仍高达 267 亿美元 经济低迷导致 2023 游戏 App 营销优先考虑收入指标,用户增长次之 北京2023年3月9日 /美通社/ -- 今天,全球营销衡量与体验管理平台...

关键字: APPS iOS Android BSP

量子计算领域的新里程碑,来了! 谷歌科学家证明,通过增加量子比特的数量,就能降低量子计算的错误率。

关键字: 谷歌 Android Windows

「卫星通讯」正在被普及到每一台智能手机当中。普及的动机并非是消费市场的一个刚需,其实更像是将差异化的功能「抹平」成一个标配。时下,支持「卫星通讯」功能的智能手机只有苹果的 iPhone 14 系列与华为的 Mate 50...

关键字: 卫星通讯 Android 智能手机 iPhone

Android是Google开发的操作系统,支持多种指令集架构 (ISA),包括Arm和x86,多数使用Android的设备都采用Arm架构芯片组。新兴RISC-V架构是免费开放指令集架构,任何人都可用它设计芯片,且无需...

关键字: 谷歌 Android RISC-V架构

智能手机并非每年都取得重大进展,这导致越来越多的人将手机保留两年、三年或四年。不过,普通的 Android 手机能否在遇到问题之前使用那么久?

关键字: Android 安卓 谷歌 智能手机
关闭
关闭