基于Android的蓝牙远程控制系统的设计与实现毕业论文
2020-02-19 20:34:58
摘 要
随着科技和经济的不断发展,智能化设备相继问世,给人们提供了更加舒适的使用体验,然而随着当前智能化设备的种类越来越多,复杂的控制使得用户体验下降。为了保持良好的用户体验,本文结合当前用户主要使用的Android移动设备和发展成熟的蓝牙通信技术,设计并实现了一款基于Android平台的蓝牙远程控制系统。
系统分为移动控制端、服务器端和受控制终端三部分,移动控制端使用搭载Android系统的移动设备并通过Android Studio开发一个Android控制应用,服务器端使用Java语言在Eclipse上编写相应的代码,受控制终端为市场上的智能化设备,无需开发。系统三部分之间使用成熟的、跨平台的、短距离的蓝牙无线通信技术进行通信。通过该系统能够远程无线地控制设备实现调整音量、发出震动和调用系统日历功能,从而简化复杂的控制行为,使生活更加舒适便捷。
系统开发完成后,通过对该系统的测试,结果表明系统能够完成预期的远程控制功能且控制距离为蓝牙点对点系统的两倍,适用于办公室和家庭等室内场景。
关键词:Android系统;蓝牙通信;远程控制
Abstract
With the continuous development of technology and economy, intelligent devices have been introduced one after another, providing people with a more comfortable experience. However, with the increasing variety of intelligent devices, complex control has reduced the user experience. In order to maintain a good user experience, this paper designs and implements a Bluetooth remote control system based on Android platform, which combines the current Android mobile devices mainly used by users and the mature Bluetooth communication technology.
The system is divided into three parts: mobile control terminal, server terminal and controlled terminal. The mobile control terminal uses a mobile device equipped with Android system and develops an Android control application through Android Studio. The server uses Java language to write corresponding code on Eclipse. The controlled terminal is an intelligent device on the market and does not need to be developed. The three parts of the system communicate using mature, cross-platform, short-range Bluetooth wireless communication technology. The system can remotely and wirelessly control the device to adjust the volume, make vibrations and call the system calendar function, which simplifies the complicated control behavior and makes life more comfortable and convenient.
After the system is developed, the system test shows that the system can complete the expected remote control function and the control distance is twice that of the Bluetooth peer-to-peer system, which is suitable for indoor scenes such as office and home.
Key Words:Android system;Bluetooth communication;remote control
目 录
第1章 绪论 1
1.1 选题的背景及意义 1
1.2 国内外研究现状 1
1.3 论文的主要内容和结构 2
第2章 系统相关技术和开发工具 4
2.1 Android操作系统 4
2.1.1 Android系统架构 4
2.1.2 Android系统核心组件 5
2.2 蓝牙技术 6
2.2.1 蓝牙协议 6
2.2.2 蓝牙协议体系结构 7
2.2.3 Android平台下的蓝牙 8
2.3 数据库技术及开发工具 9
2.3.1 数据库技术 9
2.3.2 Android Studio 9
2.3.3 Eclipse 9
第3章 远程控制系统的设计 11
3.1 系统总体架构分析 11
3.2 系统各部分功能设计 11
3.2.1 移动控制端 11
3.2.2 服务器端 12
3.2.3 受控端设备 12
3.3 系统设计的原则 12
第4章 远程控制系统的实现 14
4.1 蓝牙通信模块的实现 14
4.1.1 蓝牙通信的工作流程 14
4.1.2 蓝牙设备通信的初始化 14
4.1.3 蓝牙设备通信的建立和进行 15
4.2 用户移动控制端的实现 16
4.3 系统服务器端的实现 18
第5章 系统测试及结果分析 20
5.1 测试内容 20
5.2 测试的步骤与结果 20
5.2.1 功能测试 20
5.2.2 性能测试 21
5.2.3 适配兼容测试 22
5.2.4 蓝牙通信测试 22
5.2.5 服务器性能测试 23
5.3 测试结果分析 23
第6章 总结与展望 24
6.1 总结 24
6.2 展望 24
参考文献 26
附 录 27
致 谢 37
第1章 绪论
1.1 选题的背景及意义
近年来随着智能终端设备和通信技术的日益发展,无线通信技术的新型应用,例如物联网、智能家居等,已成为相关产品研发的一个热门领域。这些新型无线应用依托于Android、IOS等操作系统平台,借助远程无线网络控制技术来实现智能设备之间的通信和控制。
Android和IOS皆为目前主流的移动终端设备操作系统,塞班系统和Windows Phone均已退出了历史舞台。Android系统于2007年问世,是由现如今鼎鼎有名的Google公司发布的,IOS系统也是和Android系统同年问世,当然最开始IOS系统被称为iPhone Runs OSX,它由另一个巨头公司Apple发布的。IOS系统闭源管理,安全性好,保密性高,系统性能强,在消费者中的口碑很好。但是也是因为IOS系统闭源的原因,不如Android平台开放性高,不具有良好的跨平台和移植性,导致全世界诸多移动终端厂商纷纷支持Android系统。目前Android系统的市场占有率位居第一[1],遥遥领先其它操作系统,搭载有Android系统的移动智能终端设备也已成为日常生活中不可或缺的通信娱乐休闲设备。
远程控制技术是用单个智能终端设备通过网络控制着其它单个或者多个终端设备。远程控制不等同于远距离控制[2],其控制可以通过有线网络或者无线网络,甚至有线和无线混组的网络来进行。可以作为远程控制系统的控制端设备种类繁多,包括嵌入式设备、智能手机、笔记本电脑等等[2],这些终端设备在生产时均已配备好了蓝牙模块功能,同时考虑目前终端设备的普及率和便携性,智能手机是基于Android的蓝牙远程控制系统的远程控制终端的最佳选择。
远程控制技术应用的场景多种多样,可以应用于办公场景,也可以应用于生活场景中。将远程控制技术应用到生活中,最适合的场景为家庭生活。远程控制技术将家中各种终端设备连接起来,使家中各种静止的设备更加智能化,通过远程控制技术的信息交换功能,以单个终端设备来控制家中各种设备,增强家庭生活中的舒适性,使日常生活更加便利,节约各种能源费用,让人们享受科技带来的便利。
物联网等领域的发展都需要远程控制技术的发展,设计并实现蓝牙远程控制系统能够促进远程控制技术的发展,对于物联网相关领域的发展有着积极的意义。
1.2 国内外研究现状
由于搭载Android系统的智能手机普及面最广,产品技术方面相当成熟,携带非常方便,因此可以作为本次研究基于Android的系统远程控制终端的最佳选择。当前基于Android系统的远程控制主要是使用智能手机远程控制搭载有Android系统的智能设备,这太过于局限。当前市场上已有的将Android系统和远程控制技术相结合的产品种类并不多,且主要和智能家居相关,相关产品利用物联网技术连接家中的各种设备,从而实现远程控制。
智能家居起源于上世纪80年代,那时候美国和欧洲一些国家就开始研究该领域,由于这些国家占据着先发优势和技术优势,在智能家居方面始终走在世界的前列。在智能家居整个发展的过程中,发达国家也推出了一些控制系统。例如采用预处理总线和集中控制的新加坡8X系统[3]、采用中央控制和预埋总线的德国EIB系统以及利用现有的电力线传输控制信号的美国X-10系统。
同时,微软、三星、IBM等大型公司也跻身于智能家居的研发当中。其中微软公司开发出一款操作系统,主要是让电器设备工作在同一操作系统上以实现远程控制。三星公司开发出一个智能家居的软件平台和一些与之相配套的硬件智能产品。IBM开发出“家庭主任”产品以更加简单易行的方式来建设家庭网络。
在上世纪90年代,智能家居才进入国内,起步比较晚。一直到近几年来,智能家居产业才开始迅猛发展起来。国内的家电公司海尔、TCL、美的在自身家电产品基础上推出自己的智能家居产品,通信公司华为、中兴围绕着智能家居发挥自己的通信技术以拓展业务,互联网企业百度、阿里和腾讯凭借自身海量用户数据优势踏足该行业。
国内的智能家居产业在起步晚的情况下,奋起直追,得到国家政策的支持后,更是发展迅速。诸多企业均看好智能家居行业,都在这一领域投入大量资金和研发人员,从而取得一定的成果。但是由于没有通用的行业技术标准,各个企业研发推出的产品都是基于自己的标准,导致市场上的产品技术标准五花八门,不同厂商之间的产品不能互联互通,都需要使用各自专有的控制系统,这大大阻碍了智能家居行业的快速发展。
实现不同品牌、不同产品之间互联互通,构造统一的智能家居控制系统是智能家居行业未来的发展趋势。实现这一趋势,需要解决的问题有很多,最基础的是智能家居中的通信问题。在家庭内部这种小范围近距离的室内场景下,最适合采用蓝牙无线通信技术。蓝牙技术的通信标准都是统一的,不论将蓝牙技术应用于何种平台、何种设备,都可以相互通信。从基础问题开始解决,不断发展,所有的产品都会实现互联共通,体验到科幻片中的家居生活将不会仅仅只是一个梦。
1.3 论文的主要内容和结构
本文致力于Android系统平台下的蓝牙远程控制系统的设计与实现,将短距离的家庭办公场景作为远程控制系统的应用场景,深入了解用户诉求,基于Android系统平台设计了移动控制端的软件,完成服务器端的应用程序的开发。
本文共分为6章, 各章节的主要内容如下:
第1章绪论。介绍选题的背景及意义,国内外远程控制系统的现状,分析目前远程控制系统存在的一些问题,结合当前存在的问题阐述未来远程控制系统的发展趋势。
第2章系统相关技术和开发工具。主要介绍Android系统平台和蓝牙无线通信技术,简要描述开发中涉及到的数据库相关知识和开发工具。
第3章远程控制系统的设计。根据蓝牙远程控制系统的功能要求,设计出蓝牙远程控制系统的整体方案,并将蓝牙远程控制系统分解为移动控制端、服务器端及受控制终端。
第4章远程控制系统的实现。根据远程控制系统的整体设计,分模块地对每部分进行设计开发,最后将模块整合完成整体系统的开发。
第5章系统测试及结果分析。通过分步骤地测试系统,确保系统达到最初设计的要求。
第6章总结与展望。总结本论文设计并实现的基于Android的蓝牙远程控制系统,展望系统当中存在的有待进一步解决的不足之处。
第2章 系统相关技术和开发工具
2.1 Android操作系统
2.1.1 Android系统架构
Android系统为移动设备的开发平台,出生于Linux世家,是谷歌公司开发的开源的操作系统。该系统软件架构层次可分为五层,分别是操作系统层(即Linux内核层)、硬件抽象层、各种库和Android运行环境、应用程序框架层、应用程序层,其系统架构层次如图2.1所示[4]。
图2.1 Android系统架构层次图
- 操作系统层
本层为Android系统最底层、最核心的的一个层次。Android系统基于Linux2.6的内核开发而来的,因而该层又可称之为Linux内核层。其相应的驱动程序基本上与硬件设备相关,主要的驱动程序包括键盘驱动在内共有9种。驱动程序供系统使用,从而能够控制硬件来执行系统的指令。Linux内核层将对底层硬件复杂的控制操作都封装屏蔽,并提供相应的API接口给上层调用,简化调用底层硬件的复杂过程。
- 硬件抽象层
硬件抽象层位于用户空间,将底层硬件的操作进一步的封装,实现一些硬件的基本功能以及调用各种驱动程序的接口。相对于应用框架层而言,底层硬件逻辑的实现完全被屏蔽不可见。硬件抽象层定义了统一的标准的访问硬件的接口,各硬件厂商遵循硬件抽象层的接口标准来实现自己的硬件控制逻辑功能。
- 各种库和运行环境
本层次分为各种类库以及Android的运行环境两部分。
Android系统中包含的各种类库有很多,核心的类库包括支持3D 图形显示的OpenGL ES、提供管理显示功能的界面管理工具、管理SQLite的数据库管理器、提供连接和浏览网页功能的浏览器引擎、谷歌公司自行研发的Libc函数库等9个。
Android的运行环境包括两部分:Dalvik虚拟机器和核心库[5]。Dalvik是专为Android系统定制的、基于寄存器的虚拟机,相比于Java虚拟机,Dalvik虚拟机可以依据硬件实现最大的优化,更适合移动设备。Android核心库提供使用Java编程语言需要的功能函数。
- 应用程序框架层
应用程序框架层在整个Android系统中与应用开发最为相关,为开发人员提供各种接口以便开发功能丰富的应用程序。该层提供了程序开发所需要的各种控件,包括但不限于创建程序视图的Views组件、进行应用间数据访问的内容提供组件、后台服务的Service组件和管理应用生命周期的Activity组件。借助于这些组件,简化了开发过程和代码的重用,使得开发者可以快速开发出满足需求的应用程序。
- 应用程序层
应用程序层为Android系统的最外层,由系统自带的应用程序和其他开发者开发的应用程序两个部分组成。Android系统本身自带了联系人、日历等众多的核心应用,提供了Android系统最基本的功能,保证了Android系统的正常使用。其他开发者开发的应用程序主要提供休闲、学习等其它功能,丰富了Android系统功能。
2.1.2 Android系统核心组件
Android应用程序通常由Activity、Intent和Intent Filter界面切换、Service服务、BroadcastReceiver广播接收器和Content Provider内容提供器5个组件构成[6],这5个组件构成了Android的核心功能。
- Activity界面
Activity是Android核心组件中最常用的一个组件,该组件也是用户可以直接接触到唯一的一个组件。Activity代表一个单独的用户界面[7],一个应用程序会拥有一个到多个界面,不同界面之间可以相互独立地同步工作。每个界面实际上都是一个单独的类,这个类由Views组成用户界面,并响应交互事件。
- Intent和IntentFilter界面切换
Intent类为Android中专门处理界面切换的类,Intent表明程序想要做什么的请求。与之相关的IntentFilter类用于描述一个Activity能够处理什么Intent。应用程序中界面的切换通过解析Intent来实现,具体地使用startActivity(Intent)方法启用新的Activity。在实时调用这个方法时,Intent也被实时解析,系统寻找所有IntentFilters,然后匹配到最适合的IntentFilters对应的Activity。
- Service服务
Service组件没有用户界面,只是在后台运行的一个服务,该服务主要用于处理那些不需要和用户交互而且还要求长期运行的任务。比如,用户在下载应用程序的同时,还能切换到其它应用程序而不影响程序的下载。
- BroadcastReceiver广播接收器
广播接收器BroadcastReceiver没有用户界面,该组件用于响应整个系统的广播通知。一个广播接收器是由SDK中BroadcastReceiver的子类来实现的,并且每个广播都是作为一个Intent对象来传递的。应用程序接收通知后,使用NotificationManager在状态栏上显示通知。
- Content Provider内容提供器
Content Provider有存储、读取数据的功能,通过Content Provider能够使用其它应用程序中的数据。Content Provider类包含有一系列标准方法,一个Content Provider实例由SDK中Content Provider的子类来实现的,同时还必须有一组能与其他的应用程序通信的API接口。
2.2 蓝牙技术
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: