基于蓝牙的设备参数设置app设计毕业论文
2020-02-13 15:47:06
摘 要
近年来安卓系统的移动设备越来越普及,基于蓝牙的电子产品也层出不穷,人们得以更加方便得利用蓝牙与手机无线控制其他蓝牙设备。很多工程运用了大量的蓝牙基站,借助设置蓝牙设备参数的手机应用软件,能够更方便得管理和运用这些蓝牙设备。
论文主要研究开发了一款基于蓝牙的设备参数设置app,借助蓝牙开发技术与安卓应用开发,实现了打开蓝牙、扫描蓝牙设备、配对连接蓝牙设备、与蓝牙设备进行通信等功能,通过这些功能实现无线设置蓝牙设备的参数。
蓝牙模块选用HC-05,基于蓝牙SPP(Scrial Port Profile)协议,在蓝牙设备之间创建串口,进行无线数据传输。运用AT指令,设置蓝牙模块HC-05的相关参数。参考模块官方的使用手册,搭建了测试环境,完成模块与微处理器外围电路的连接。
关键词:安卓开发;蓝牙技术;HC-05;AT指令
Abstract
In recent years, Android mobile devices have become more and more popular, and electronic products based on Bluetooth have emerged in an endless stream. People can use Bluetooth and mobile phones to control other Bluetooth devices more conveniently. Many projects use a large number of Bluetooth base stations. With the help of mobile application software which sets parameters of Bluetooth devices, it is more convenient to manage and use these Bluetooth devices.
This paper mainly studies and develops a Bluetooth-based device parameter setting app. With the help of Bluetooth development technology and Android application development, the functions of opening Bluetooth, scanning Bluetooth devices, pairing Bluetooth devices and communicating with Bluetooth devices are realized. Through these functions, the parameters of Bluetooth devices can be set wirelessly.
HC-05 is used in Bluetooth module. Based on Bluetooth SPP (Scrial Port Profile) protocol, serial ports are created between Bluetooth devices for wireless data transmission. The parameters of Bluetooth module HC-05 are set by using AT instruction. Referring to the official Manual of the module, the test environment is built, and the connection between the module and the peripheral circuit of the microprocessor is completed.
Key Words:google android sdk; Bluetooth Technology;HC-05; AT- commands
目 录
第1章 绪论hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;..4
1.1课题研究背景与意义 4
1.2 国内外研究与应用现状 4
1.2.1 蓝牙技术 4
1.2.2 Android 5
1.3 本文的研究目标 6
第2章 技术原理hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;..6
2.1 蓝牙 6
2.1.1 蓝牙的主要技术 6
2.1.2 蓝牙的系统组成 8
2.1.3 蓝牙模块HC-05 9
2.2 安卓开发 12
2.2.1 安卓开发工具 12
2.2.2 Android架构 12
2.2.3 应用程序基本组成 13
第3章 应用程序开发hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;14
3.1 应用程序结构 14
3.2 Bluetooth开发 14
3.2.1 Android系统的蓝牙通信功能 14
3.2.2 启用蓝牙并让设备可被发现 14
3.3 具体功能实现过程与调试结果 18
3.3.1 程序流程图 18
3.3.2 应用程序界面 19
3.3.3 手机与电脑通信 20
3.3.4 手机与单片机通信 24
3.3.5 获取蓝牙设备MAC地址 26
3.3.6 获取蓝牙设备名称 26
3.3.7 清空数据窗口 27
3.3.8 退出应用程序 27
第4章 系统功能与性能测试hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;28
4.1 测试过程 28
4.1.1 手机与电脑通信测试 28
4.1.2 手机与单片机通信测试 31
4.1.3 其他功能测试 32
4.1.4 开发过程中的问题与解决方法 33
4.2 测试结果 34
第5章 总结与展望hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;34
5.1 总结 34
5.2 展望 35
参考文献hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;..36
致谢hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;hellip;..37
第1章 绪论
1.1课题研究背景与意义
在信息技术高速发展的今天,各种应用的电子产品层出不穷,使人们的生活更加便利快捷,更加丰富多彩。移动互联网时代已然到来,人们可以通过各种移动设备获得网络信息,通过蓝牙技术而操控各种蓝牙设备,智能手机已成为标志性的客户端工具。Android、ISO和Windows Phone操作系统已占据全球的绝大部分市场,由于安卓的开源性,Android系统得到了大多数手机厂商的使用。[1]
蓝牙技术的成熟化使得智能手机可以快捷便利的与其他电子产品进行短距离数据交换。借助安卓系统与蓝牙技术,智能手机可与大量的电子设备进行连接,使用户得以无接触管理和应用其他电子产品。
在一些运用到大量蓝牙设备的工程中,通常使用大量的人力去改变蓝牙设备的某些参数,在开发及维护工作中不仅程序繁冗,工作量还特别大。若运用蓝牙技术,通过专用的手机应用程序软件来修改蓝牙设备参数,可节省大量的人力物力,大大提高工作者工作效率,极大便于之后的工程维护。通过蓝牙技术与应用程序软件,用户可以实现在手机端操控电子产品,并修改蓝牙设备的某些参数,使蓝牙设备的运用更加便利,提高用户的生活质量与体验度。
如今科学技术的飞快发展,实物的简便操纵性与便捷携带性也显得非常重要,智能手机已广泛普及。设计一款能够无线操纵蓝牙设备的手机app,方便快捷,有利于提高用户的生活质量。
1.2 国内外研究与应用现状
1.2.1 蓝牙技术
蓝牙技术被认为是通信技术的革命性变革,更是信息产业中的一颗明星,与其他短程无线连接中使用较广泛的红外线、HomeRF、802.11等方式相比,蓝牙技术以其组网灵活、安全、低成本等优点受到了人们越来越多的重视。
蓝牙的主要特点是开放性强、移植性强、兼容性强、抗干扰性强、功耗低、传输距离小。[2]
蓝牙技术在1994年由爱立信公司首次提出,适用于2.4-2.485 GHz频段间的数据传输,后各大公司组建了蓝牙技术联盟(SIG),用于制定蓝牙的全球规范。蓝牙技术成本较低,采用无线连接方式,提供了一种设备与设备之间进行短距离通信的全球规范。采用蓝牙技术,能够使电脑、智能手机和各种固定设备之间的通信变得更加高效快捷,大大简化了各个通信设备和网络之间的数据传输,提供了一种无线通信的方式。[3,4]各个蓝牙标准的版本特点如表1.1所示。[5]
表1.1 蓝牙标准的版本特点
蓝牙版本 |
特性 |
蓝牙1.1 |
易受同频率产品干扰 |
蓝牙1.2 |
增加抗干扰跳频功能 |
蓝牙2.0 |
支持双工模式 |
蓝牙2.1 |
延长待机时间 |
蓝牙3.0 |
采用交替射频技术,传输速率提高到24 Mbps |
蓝牙4.0 |
加强设备兼容性,扩大覆盖面积 |
蓝牙4.1 |
更加智能化,可以自动连接 |
蓝牙4.2 |
蓝牙数据包容量扩大 |
蓝牙5.0 |
有效工作距离达300米 |
1.2.2 Android
安卓系统是目前开放程度最大的智能操作系统,各大品牌的智能手机与平安电脑借助安卓系统得到快速发展,使用人群庞大。智能手机的普及推动了移动互联网技术的发展,手机应用程序软件的研究开发也得到了极大推动。
Android是一个移动设备技术平台,以Linux为基础,功能强大,使用标准高级语言,便携性强,具有API的可移植性与可靠性。安卓开发使用最多的工具是Eclipse和Android Studio,用Java编程语言编写,经过API的编译成为安卓虚拟机(AVD)的字节码。
安卓操作系统是由Andy Rubin开发,起初主要用于手机。Google在2005年收购后扩展到平板电脑等诸多领域。安卓的软件开发工具包(SDK)是开放的,任何开发者都能随意改变界面。
Android发展至今,最新版本是Android 9.0,其新功能包括:谷歌统一推送升级、深度集成Project Treble模式、更加封闭、原生支持通话录音等。
本文所开发的APP是基于平台Android 8.1,SDK版本为27,下面主要介绍Android 8.1的功能特性。
- 蓝牙连接设备的电池电量
此版本的一项优秀功能是能够显示连接蓝牙设备的电池电量,这对于那些已经抛弃耳机插孔而完全无线化的人群来说非常方便。不仅如此,8.1更新也使得查看电池级别更容易。
- 主体颜色自适应
8.1更新使得系统根据用户使用的壁纸类型自动改变设备的亮暗主题。使用浅色壁纸的用户手机会显示浅色主题,当用户换成深色壁纸时,主题自动切换到深色模式。
- 持久的“使用电池的应用程序”通知可被解除
Android 8.0发布了一个新功能,即显示在后台运行的应用程序,但这个通知不能被删除。8.1版本解决了这个问题。
- 下载管理器通知隐私减少
Android 8.0针对不同的通知引入了不同的通知优先级,当高优先级通知收到它们的个人卡片时,较低优先级的通知会聚集在一起。8.1更新将下载管理器分配为较低的优先级,减少其占用的空间
1.3 本文的研究目标
本文所开发的基于蓝牙的设备参数设置APP设计,用到的平台有单片机80C51,蓝牙模块HC-05,操作系统为Android 的智能手机。HC-05与80C51通过串口进行通信,智能手机通过蓝牙模块,与80C51无线通信。
本文的主要研究目标有三个:
- 开发设备蓝牙接口电路,实现蓝牙HC-05与单片机80C51的串行通信;
- 编写80C51单片机软件程序,实现单片机通过蓝牙模块能够接收并返回数据的功能;
- 开发基于蓝牙的安卓手机应用程序软件,完成扫描蓝牙设备、连接设备、通过蓝牙模块与电脑通信、通过蓝牙模块与单片机通信四大功能,实现设备参数无线配置,并读取原有参数,制定手机和设备间的通信协议。
第2章 技术原理
2.1 蓝牙
2.1.1 蓝牙的主要技术
蓝牙技术以无线局域网的IEEE802.11标准为基础,应用了“即连即用”的概念,即蓝牙设备一旦扫描到其他蓝牙设备,可以立刻建立联系,无需用户进行任何设置。蓝牙的技术方法和理论包括:规范描述语言、无线通信与网络技术、软件工程、软件可靠性理论、协议的测试技术、嵌入式实时操作系统、跨平台开发和用户界面图形化技术、软硬件接口技术等。本文主要分析蓝牙作为一种无线电通信技术,其电波传播原理。
2.4 GHz是全球免许可证ISM频段,由于法律法规上的支持以及技术的发展,许多无线产品都是基于2.4 GHz频段,因此本章所讨论的内容都是基于2.4 GHz频段来进行的。
电波传播分析包括两方面内容:
- 无线系统的链路动态范围的设定
根据系统各关键部分的技术指标,如接收机灵敏度、发射机的发射功率、天线的增益等,计算出无线系统的链路动态。
- 电磁波的传播损耗分析及预测
无线电波在传播过程中会产生损耗,当损耗达到一定数值时便不能确保可靠的通信,因此如何建立一个可靠的无线通信链路以及在多长距离上维持可靠的无线连接是需要考虑的问题。电波传播的损耗主要包括自有空间传播损耗,信号穿透损耗以及反射、散射和衍射损耗与多径损耗等。[6]
- 无线系统链路动态范围
无线系统链路动态范围决定了传输信道上允许的最大功率损耗。最大发射功率和接收灵敏度是影响动态范围的主要指标。传播损耗是指传输路径上损失的能量,传播路径是从发射机到接收机的路径。
以HC-05蓝牙模块为例,最大发射功率是 4 dBm,接收灵敏度是-85 dBm,这意味着路径上的最大传播损耗是89 dB,其最大动态是89 dB。
- 电波在自由空间的传播损耗
电波在自由空间传播时,其能量既不会被障碍物所吸收,也不会产生反射或散射,无线电波的传播距离越大,电波能量便越分散,由此造成扩散衰减。
自由空间是一种理想的情况,现实的电波传播由于反射、绕射及折射等特性,能量会随传播距离扩大而进一步减少。因此,只有当发射机与接收机的距离很近时,自由空间的模型计算结果才与实际结果近似。
对工作在2.4 GHz的无线通信设备,可计算出在自由空间中的传播损耗,如表2.1所示。
表2.1 自由空间中2.4 GHz频段的传播损耗
距离/m |
路径损耗/dB |
1 |
40 |
5 |
54 |
10 |
60 |
20 |
66 |
30 |
70 |
40 |
72 |
50 |
74 |
80 |
78 |
100 |
80 |
在同等的传输损耗下,工作频率越高的工作距离更短。在同等距离的自由空间衰耗,2.4 GHz要比400 MHz下的损耗大9 dB;而6 dB的损耗就会将使通信距离减少一半。
- 无线电波的穿透损耗
无线电波在穿透物体时会产生穿透损耗,穿透损耗与材料类型、温度等因素有关。对于金属材料,无线电信号几乎无法穿透,而且会反射掉几乎全部信号。水对无线电信号的衰减是比较大的,在室温下水对2.4 GHz信号的衰减可达330 dB/m。由于水占人体组成部分的70%以上,人体会对无线电信号产生明显的衰减。
2.4 GHz电磁波对各种建筑材料的穿透损耗的经验值如表2.2所列。
表2.2 各种建筑材料对2.4 GHz电磁波的穿透损耗
材料类型 |
损耗/dB |
砖混隔墙(lt;30cm) |
10 ~ 15 |
玻璃 |
5 ~ 8 |
木质家具 |
3 ~ 6 |
混凝土墙体 |
20 ~ 30 |
天花板管道 |
1 ~ 8 |
混凝土楼板 |
25 ~ 30 |
实际中,无线电波还受到诸如地面的吸收、反射、障碍物的阻挡等影响。
- 通信距离
通信距离是指发射机与接收机之间的距离。当无线电波的频率为2.4 GHz时,通信距离D与功率损耗P有关。根据以色列RF实验室的实验,功率损耗是通信距离对数的函数,其关系如式(2.1)所示:[6,7,8]
|
(2.1) |
以本文主要讨论的HC-05蓝牙模块为例,其最大发射功率为 4 dBm,接收灵敏度为-85 dBm,由上面的讨论知其动态范围为89 dB,则按照公式(2.1)可计算出在室内时的通信距离R为38 m。这是理论值,在实际使用中,由于多径损耗、衰落等多种因素的影响,还会加入8 dB的修正因子。考虑修正因子后,得到通信距离R为21 m。
2.1.2 蓝牙的系统组成
蓝牙系统一般由天线单元、链路控制单元、链路管理单元和蓝牙软件单元四个模块单元组成。蓝牙系统的四个模块单元的具体功能特性见表2.3。[6,9,10]蓝牙软件必须符合蓝牙规范,蓝牙规范由两部分组成:第一部分用来规定基带、射频、业务搜寻、连接管理、互操作性等组件;第二部分是协议子集部分,用来规定不同的蓝牙应用所需要的协议和过程。
表2.3 蓝牙模块单元的功能特性
模块单元 |
功能特性 |
天线单元 |
微带天线,遵循天线电平为0 dB的ISM频段 |
链路控制单元 |
处理基带和其他低层常规协议 |
链路管理单元 |
包含链路硬件配置、鉴权和数据设置等协议 |
蓝牙软件单元 |
独立的操作系统,符合蓝牙规范 |
2.1.3 蓝牙模块HC-05
- 模块性能参数
HC-05蓝牙模块基于Bluetooth Specification V2.0带EDR蓝牙协议,可用于数据传输,模式为主从一体。模块正面与反面外形分别如图2.1与图2.2所示,此蓝牙模块外形规模为,带有LED灯,用以判断蓝牙的连接状态。
图2.1 HC-05蓝牙模块正面
图2.2 HC-05蓝牙模块反面
HC-05蓝牙模块的特性参数如表2.4所示。
表2.4 HC-05特性参数
参数名称 |
参数值 |
型号 |
HC-05 |
模块尺寸 |
27*13*2 mm |
天线接口 |
内置PCB天线 |
工作电压 |
3.0 ~ 3.6V |
通信电流 |
40 mA |
通信电压 |
3.3 V |
最大发射功率 |
4 dBm |
工作频段 |
2.4 GHz |
蓝牙芯片技术 |
CSR BC04 |
空中速率 |
2 Mbps |
通讯接口 |
UART串口收发 |
接收灵敏度 |
-85 dBm |
工作温度 |
-25℃ ~ 75℃ |
工作湿度 |
10% ~ 90% |
存储温度 |
-40℃ ~ 85℃ |
RSSI支持 |
不支持 |
参考距离 |
10 m |
支持系统 |
Android,winxp,win7 |
- 模块引脚介绍
HC-05蓝牙模块共有34个引脚,重要引脚介绍见表2.5。需要注意的是,模块第二个引脚RXD不带上拉电阻,若所连接单片机没有上拉能力的话,此引脚需要接电阻后再与单片机连接。
模块自带的LED指示灯显示模块状态,其各个状态下的指示灯闪烁如下所示:
- 模块作为主机使用,连线前未记录从机地址时:快闪。
- 模块作为主机使用,连线前主机已记录从机地址时:慢闪。
- 模块作为主机使用,连线后两闪一停。
- 模块作为从机使用:快闪。
- 模块进入AT指令模式:每两秒亮1秒。
表2.5 HC-05模块重要引脚介绍
引脚 |
说明 |
RXD |
数据接收端 |
TXD |
数据发送端 |
GND |
公共地 |
VCC |
接供电电源3.3 V |
- AT指令
蓝牙模块HC-05有自动连接(透传模式)与命令响应(AT模式)两种工作模式。模块在透传模式下有三种工作角色,分别是回环、主和从,主机模式可以发现其他广播设备并连接,而从机模式可以被其他蓝牙设备发现,等待被连接。当模块处于透传模式时可以进行数据传输,此时不能对其发送AT指令。模块在AT模式下能执行AT指令,而不能进行数据传输,用户可通过串口助手使用AT指令设定模块的各个参数,如修改蓝牙设备名称、修改UUID等。通过控制模块引脚(PIO11)的高低电平可设定模块的两种工作状态。
所谓AT(Attention)指令,即PC应用与设备终端之间连接通讯的指令。其以AT为首,以回车结尾,不区分大小写。一个AT命令行只能包含一条AT指令,无论指令执行成功或失败,都有相应的返回,以告知用户是否成功设置。
要让模块进入AT模式,有两种方法:第一种,模块上电未配对时即处于AT模式,其波特率默认为9600,每发送一次AT指令需置高一次KEY键(PIO11),在模块上有一黑色按钮,按下此按钮KEY键即被置高;第二种方法,KEY键置高后模块再上电,此时模块即进入AT模式,波特率固定为38400,此时可以直接发送AT指令,KEY键一直为置高状态。
常用的一些AT指令及其响应、参数与说明见表2.6。
表2.6 AT指令详细说明
指令 |
响应 |
说明 |
AT |
OK |
测试是否进入AT模式 |
AT RESET 以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。 相关图片展示:
|