基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx

上传人:b****6 文档编号:16216738 上传时间:2023-07-11 格式:DOCX 页数:84 大小:3.17MB
下载 相关 举报
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第1页
第1页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第2页
第2页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第3页
第3页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第4页
第4页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第5页
第5页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第6页
第6页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第7页
第7页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第8页
第8页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第9页
第9页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第10页
第10页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第11页
第11页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第12页
第12页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第13页
第13页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第14页
第14页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第15页
第15页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第16页
第16页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第17页
第17页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第18页
第18页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第19页
第19页 / 共84页
基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx_第20页
第20页 / 共84页
亲,该文档总共84页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx

《基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx(84页珍藏版)》请在冰点文库上搜索。

基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文.docx

基于Android手机的六旋翼飞行器状态实时监控系统本科生毕业设计论文

基于Android手机的六旋翼飞行器状态实时

监测系统

摘要

随着Android技术的日趋成熟,以Android为操作系统的手机的使用也越来越广泛。

基于Android手机的蓝牙传输技术的使用也引起了软件开发人员的关注,这种短距离通信技术被广泛的应用到移动电话、PDA、无线耳机、笔记本电脑、相关外设等众多设备之间进行无线信息交换。

在深入理解Android编程技术和蓝牙技术后,构建了一个小型的数据采集系统。

该系统中,以六旋翼飞行器上的多种传感器数据为原始数据,在单片机端将多种传感器数据基于自定义协议组合成数据包的形式,单片机将以数据包的形式定时转发给无线数传模块,数据包经过远距离无线传输后,通过蓝牙模块将数据传输到手机端。

手机端接收到数据后,对数据进行处理,以曲线图的形式显示当前的六旋翼的多种飞行参数。

本毕业设计实现了温度采集部分,其他数据采集部分未完全完成。

本设计未在六旋翼实体上进行。

关键字Android;蓝牙;单片机

 

BasedontheAndroidmobilephonesixrotoraircraftstatereal-timemonitoringsystem

Abstract

WiththematuringoftheAndroidtechnology,withAndroidfortheuseoftheoperatingsystemisbecomingmoreandmorewidely.BasedontheuseoftheAndroidmobilephonebluetoothtransmissiontechnologyalsocausedtheattentionofsoftwaredevelopers,theshortdistancecommunicationtechnologyhasbeenwidelyappliedtothemobilephone,PDA,wirelessheadset,notebookcomputersandrelatedperipherals,andmanyotherdevicesbetweenwirelessinformationexchange.

AfterunderstandingtheAndroidprogrammingtechnologyandbluetoothtechnology,builtasmalldataacquisitionsystem.Withsixforthesystem,therotoraircraftonavarietyofsensordataastheoriginaldata,theSCMclienttoavarietyofsensordatabasedonacustomprotocolcombinedintopackets,intheformofsinglechiptimingintheformofpacketisforwardedtowirelessdatatransmissionmodule,datapacketafterlong-distancewirelesstransmissionmoduletotransmitdatatomobilephoneviabluetooth.Mobileterminalreceivesthedata,thedataprocessing,intheformofagraphdisplaysthecurrentsixrotorofavarietyofflightparameters.

Thedesignandimplementationofatemperaturegraduationacquisitionpart,theotherpartofthedatacollectionisnotcompletelyfinished.Thisdesignisnotcarriedoutonsixrotorentity.

 

KeywordsAndroid;Bluetooth;Developmentboard

1绪论

1.1研究的相关背景

1.1.1六旋翼飞行器的发展

六旋翼飞行器,是一种具有六个旋翼的旋翼航空器。

由每个轴末端的电动机转动,带动旋翼从而产生上升动力。

旋翼的角度固定而不像直升飞机那样可变。

通过改变不同旋翼之间的相对速度可以改变推进力的扭矩,从而控制飞行器的运行轨迹。

六旋翼飞行器以其独特的结构和简洁的系统构架与传统飞行器相比有明显的优势。

(1)以高能电池作为能量与油动力飞行器相比噪音更低,可实现低空飞行不易察觉。

(2)垂直起降可在较狭小的空间就可以稳定飞行,与定翼飞行器相比有不受场地限制的优势。

(3)简单的机械部件组成(仅电机轴承为机械部件)与传统直升机(有较复杂的机械部件与传动结构)相比,维护相当简单。

(4)体积小、重量轻、载重量大是六旋翼飞行器的一个明显优势。

(5)整机全电子增稳,操作简单。

自主导航可实现全自动飞行。

性能优异的动力系统提供了机动灵活的飞行姿态,抗风能力强。

六旋翼飞行器在各个行业的应用有一下几点:

(1)公安系统的应用

六旋翼飞行器具有便携、质轻、飞行稳定、噪音低等特点,携带影像设备与侦测设备可以为秘密侦查提供强有力的手段,尤其是人不易接近的区域,可以提供空中第一手影像资料。

同样在群体性事件中也可以发挥巨大的作用,除侦查外甚至可以携带小型催泪瓦斯进行空中投掷。

(2)消防行业的应用

现场火灾的蔓延、林区火势的详情、高层起火的救生等方面都是消防工作部署的关键,多轴飞行器可以到现场迅速升空,有了高度就能把详细情况实时传送到地面指挥车,可以为消防部署提供真实有效地参考。

(3)电力系统的应用

高压线路的巡视,高压线塔的检修维护是一个长期而艰巨的工作,有了六旋翼飞行器这一有力的工具,让线路巡视、线塔检修成为简单易行的工作。

尤其是在多山地区的传输线路,更能发挥飞行器的优势。

同样在交通巡查、油田管路巡查、高铁高架巡查等都比较类似。

(4)农业行业的应用

我国作为农业大国,农作物病虫害的防止任重而道远。

往往像水稻田等类似的农药喷洒一直都是人力有所不及。

多轴飞行器以稳定飞行和操作简单的特性,携带药液进行低空喷洒,可以实现喷洒均匀,药效好,极大的节约了人力,实现高效率作业。

飞行器携带病虫色谱摄影设备还可以对大面积植被进行病虫害监测和预警,做到及早发现,及时治理。

(5)影视行业的应用

小型飞行器飞行相对不稳定。

公司多年来致力于飞行器功力系统与影像稳定方面,现在的六旋翼飞行器可以携带高清摄像机、高画质单反相机进行稳定飞行,可完成空中的视频航拍和摄影航拍。

而且六旋翼飞行器可以尽可能的低空飞行达到动感的视频效果,这也是载人直升机不能完成的超低空飞行,填补了在超低空领域航拍的空白。

1.1.2飞行器的状态参数

飞行器状态参数可归结为以下几类:

(1)飞行参数——飞行高度、速度、加速度、姿态角和姿态角速度等;

(2)动力系统参数——飞行器转速、温度、燃油量、进气压力、燃油压力等;

(3)导航参数——位置、航向、高度、速度、距离等;

(4)武器瞄准系统参数——目标的熟读、温度、高度、雷达警告、攻击警告等;

(5)生命保障系统参数——座舱温度、湿度、气压、氧气含量、氧气储备量等;

(6)飞行员生理参数——飞行员脉搏、血压、睡醒状态等;

(7)其他系统参数——电源系统参数、设备完好程度、结构损坏程度等。

本毕业设计所涉及的状态参数有:

温度,气压,高度,航线。

MS5534B气压传感器来获得气压值和温度值,并利用已得气压值和温度值来估测六旋翼的高度值,利用GPS_MSP430F149_V1模块来测得六旋翼的位置。

1.2设计目的

本设计的目的是基于Android技术和蓝牙技术设计并实现一个六旋翼飞行器姿态控制系统。

该系统由Android手机、TinyM0开发板、HC-06-S蓝牙模块、FT52D数传模块、六旋翼飞行器及多种传感器组成。

一方面,通过Android手机的蓝牙串口与六旋翼飞行器建立连接。

另一方面,通过Android手机的蓝牙串口采集六旋翼飞行状态参数信息并以图像的方式对信息进行显示。

在设计实现的过程中,主要工作包括Android软件编程,单片机开发技术,蓝牙协议分析,HC-06-S蓝牙模块、FT52D数传模块和多种传感器分析。

通过一个完整的系统分析、设计和实现的过程,我掌握了硬件分析和软件设计的流程,学会了如何分析问题,如何通过一些测试方法找到问题的根源,并且解决问题。

通过本次设计,我在对专业知识的理解、掌握上都有了提高,对嵌入式领域也有了一定的认识和收获。

1.3论文的构成概要

本论文共分为5章。

第一章:

绪论。

介绍本设计涉及的六旋翼飞行器的的发展及飞行器的状态参数,同时对设计的目的和要求进行概要说明。

第二章:

Android开发平台以及ARM开发板TinyM0的介绍。

首先介绍了软件开发采用的软硬件平台,以及关于Android的一些基本知识。

然后介绍了ARM开发板,即TinyM0开发板以及其开发环境。

第三章:

系统各模块的设计及其功能的实现。

介绍了数据采集模块,433MHz远距离无线数传模块,数据转发模块,蓝牙无线数传模块及Android数据处理显示。

第四章:

系统整体功能的实现及测试。

介绍系统的构成,对系统中重要模块的实现工程进行了介绍,包括Android端监测软件的实现,TinyM0端数据采集软件的实现,数据转发软件的设计和实现并对系统的整体性能进行测试。

第五章:

结论。

总结毕业设计所做的主要工作、实现的功能和存在的不足,并介绍了自己在设计和实验过程中掌握的设计方法和心得体会。

 

2Android、ARMTinyM0开发板与无线数传模块

2.1系统概述

本系统组成如图2-1所示。

主要的的功能有:

(1)Android蓝牙控制功能。

(2)Android数据动态曲线显示功能。

图2-1系统构成

2.2Android软硬件平台介绍

2.2.1Android软件平台架构

对操作系统而言,必须做到设计合理、层次分明,同时还需考虑整个系统的结构要聚耦适当,Android系统是基于linux内核的,因此还必须具备开源的特性,以符合开源人员共同工作。

从系统的组成要件来讲,Android平台架构包括硬件设备、板级支持包、驱动程序、操作系统内核、程序运行库,运行框架,应用程序等,它们的有机结合和协同工作共同完成了整个系统的正常运行和对事务的处理。

依据Google开源资料可知,整个系统由Linux内核、程序库、AndroidRuntime、应用程序框架和应用程序等5部分组成,系统架构如图2-2所示。

图2-2Android系统平台架构

参照图2-2,由上而下对组成系统各部分的主要组件作以下描述。

(1)Linux内核

Android基于Linux2.6内核,但并非完全照搬内核,而是对内核作了部分增删和修改,在Linux2.6内核的基础上,Android核心系统实现了安全性、内存管理、进程管理、网络协议栈和驱动模型等功能,Linux内核也同时作为硬件和软件栈之间的抽象层。

硬件驱动程序:

完成与各种硬件的通信,Linux内核提供了大部分设备的驱动程序,如显示屏,摄像头,内存,键盘,,无线网络,音频设备,电源等组件。

系统内存管理:

对所有可用的内存进行统一编码管理,定义一整套内存定位,使用与回收的策略。

系统进程管理:

内核管理进程的创建与销毁,管理进程间的通信,以及采取必要的措施避免死锁等内容。

网络管理系统:

无线网络设备工作原理,内核掌控如何读取网络设备中的缓存数据。

(2)程序库

程序库是指可供使用的各种标准程序、子程序、文件以及它们的目录等信息的有序集合,Android包含一些C/C++库,,Android系统中不同的组件通过应用程序框架可以使用这些库,以下是一些核心库:

SurfaceManager:

管理显示子系统,并且为多个应用程序提供2D和3D图层的无缝融合;

MediaFramework:

基于OpenCORE的多媒体框架,支持多种常用的音频、视频格式文件的回放和录制,同时支持静态图像文件。

SQLite:

一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

OpenGLES:

3D图形库,用于3D图形渲染,该库可以使用3D硬件加速。

FreeType:

位图(Bitmap)和矢量(Vector)字体显示。

WebKit:

支持Android浏览器和一个可嵌入的Web视图。

SGL:

2D图形库,用于2D图形渲染。

Libc:

一个从BSD继承的标准C系统函数库,它是专门为基于嵌入式Linux设备定制的。

(3)AndroidRuntime

Android运行库包括两部分:

一是核心库,二是自身的虚拟机。

核心库提供Java编程语言核心库的大多数功能。

Dalvik虚拟机是Google专为Android开发的,比SunJava虚拟机的效率更高,功能也更为复杂,以更好的支撑Android平台,并拥有独立的版权。

每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,Dalvik虚拟机执行.dex的可执行文件,该格式文件针对小内存的使用进行了优化,同时虚拟机是基于寄存器实现的,所有的类由Java编译器编译,然后通过SDK中的相应工具转化成.dex格式,最后由虚拟机执行。

(4)应用程序框架

应用程序框架是指定义了一个应用程序运行所必须的全部功能组件,开发者也可以访问核心应用程序所使用的API框架。

该应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块,并且任何其他的应用程序都可以使用其所发布的功能块(应该遵循框架的安全性限制)。

同样,该应用程序的重用机制也使用户可以方便地替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统,其中包括:

①活动管理器(ActivityManager):

用来管理应用程序生命周期,并且提供常用的导航回退功能。

②丰富而又可扩展的视图(Views):

可以用来构建应用程序,它包括列表(Lists)、网格(Grids)、文本框(TextBoxes)、按钮(Buttons),甚至包括可嵌入的Web浏览器。

③内容提供器(ContentProviders):

使得应用程序可以访问另一个应用程序的数据,或者可以共享它们自己的数据。

④资源管理器(ResourceManager):

提供非代码资源的访问,如本地字符串、图形和布局文件(LayoutFiles)。

⑤通知管理器(NotificationManager):

使得应用程序可以在状态栏中显示自定义的提示信息。

Android程序框架体显了“统一”与“兼容”的原则,其优势归纳为:

①任何一个应用程序都可以发布它的功能块;

②所有的应用程序在Android平台上都是平等的;

③所有的应用程序与资源都被按类别进行分别管理;

④所有程序各司其职。

(5)应用程序

Android系统发布时,会同一系列核心应用程序和常用程序一起发布,如常用的手机功能程序,包括语音电话、通讯录、短信收发、照相、话机设置等;数据应用程序,包括邮件工具,日程表,浏览器,地图导航等,以及AndroidMarket上的各种应用程序;所有的应用程序都是使用Java语言编写。

2.2.2Android基本组件

应用程序组件是一个Android应用程序的基本构造块。

每个组件都是系统可以进入你的应用程序的切入点。

不是所有的组件都是实际的切入点,它们之间一些是互相依赖的,但每一个的存在都作为自己的实体,扮演着特定的角色,每个组件都是一个独特的建筑块,它可以帮助确定您的应用程序的整体行为。

有四种不同类型的应用程序组件。

每种类型提供不同的目的,并具有明显的生命周期定义组件如何被创建和销毁。

(1)activity

一个activity代表与用户交互的单个界面。

例如,电子邮件应用程序可能有一个activity用来显示新的电子邮件列表,一个activity用来撰写电子邮件,另一个activity用来阅读电子邮件。

虽然每个activity一起形成在电子邮件应用程序中有凝聚力的用户体验,但每一个activity都是相互独立的。

因此,不同的应用程序可以启动这些活动中的任何一个(如电子邮件应用程序允许的话)。

例如,照相机的应用程序可以启动撰写电子邮件的activity,构成新的邮件,为了共享一个图像的用户。

(2)service

service是运行在后台执行长时间运行的操作或执行远程工作进程的组件。

service不提供用户界面。

例如,一个服务可能会在不同的应用程序中播放音乐,也可以获取在网络上的数据而不会阻塞用户交互的活动。

另一个组件,如一个activity,可以启动该服务,并让其绑定到它,使得与它进行交互。

(3)contentprovider

contentprovider管理着应用程序数据的共享集。

你可以将数据存储在文件系统中,SQLite数据库,网络上,或任何其他您的应用程序可以访问的持久性存储方式。

通过contentprovider,其他应用程序可以查询,甚至修改数据(如果这个content允许的话)。

例如,Android系统提供了管理用户的联系人信息的contentprovider。

因此,具有适当权限的任何应用程序都可以通过contentprovider(如ContactsContract.Data)来读取和写入有关某一个人的信息的一部分。

contentprovider也可用于在你的应用程序中读取和写入私有的数据,而不是共享的。

例如,记事本应用程序使用一个contentprovider,以保存笔记。

(4)broadcastreceive

broadcastreceive是响应系统范围的广播公告的组件。

许多广播由系统发出,例如,广播宣布,该显示屏已经关闭,电池电量低或图片被捕获。

应用程序也可以发起广播,例如,让其他应用程序知道某些数据已经被下载到设备上,可供他们使用。

虽然广播接收机不显示用户界面,它们可以创建一个状态栏来通知用户广播事件发生。

更常见的是,对于其他组件而言,广播接收器仅仅是一个“网关”,承担非常小的一个工作量。

例如,它可能会启动一个服务来执行基于事件的一些工作。

2.2.3Android硬件平台

目前可供程序开发的Android平台版本从1.5至4.4,市场上的Android手机或平板所安装的Android版本主要为2.2、2.3和4.0。

本毕业设计中相关实验硬件平台为华为公司生产的智能手机,型号为C8813Q,搭载操作系统为Android4.1,支持多点触控,内置蓝牙。

华为C8813Q外观如图2-3所示。

图2-3华为C8813Q外观

2.2.4Android开发环境搭建

(1)登陆

图2-4Android下载界面

点击图中蓝色按钮,开始现在下载ADT套件。

在ADT套件包括需要开始开发应用程序的一切:

①Eclipse+ADT插件;

②AndroidSDK工具;

③Android的平台工具;

④最新的Android平台;

⑤用于Android模拟器。

android-sdks文件夹下包含,如图2-5所示。

图2-5SDK文件夹内容

(2)启动SDKManager.exe,即可看到安装界面,如图2-6所示。

图2-6SDKManager

选择需要安装的工具,点击InstallPackages即可安装开发所需要的工具。

这时开发环境搭建成功。

2.3ARMTinyM0开发板介绍

2.3.1ARMTinyM0开发板

TinyM0是广州致远电子股份有限公司为广大企业用户、电子工程师和高校师生精心设计的Cortex-M0开发平台,核心控制器是基于NXP公司LPC1100系列芯片,应用简单灵活。

LPC1100系列微控制器采用ARM公司最新发布的Cortex-M0内核,工作频率高达50MHz,功耗低至110μA/MHz,性能卓越、应用简单,更突出的是,它能够显著降低所有8/16位应用的代码长度,并且是目前市场定价最低的32位MCU,其价值和易用性比现有的8/16位微控制器更胜一筹,为追求ARM架构的8/16位用户提供了一种全新的32位解决方案。

此外,Cortex-M0内核指令向上兼容Cortex-M3内核,LPC111x系列LQFP48引脚封装的芯片和LPC1300系列LQFP48引脚封装的芯片完全兼容。

TinyM0开发板实物图如图2-7所示。

图2-7TinyM0开发套件

2.3.2ARMTinyM0开发环境搭建

TKStudio集成开发环境(又称TKStudioIDE)是广州致远电子有限公司开发的一个微处理器软件开发平台,是一款具有强大内置编辑器的多内核编译调试环境,支持8051、ARM、AVR等多种微控制器,可以完成从工程建立和管理,编译,链接,目标代码的生成,到软件仿真,硬件仿真(挂接TKS系列仿真器等硬件)等完整的开发流程。

TKStudioIDE主界面如图2-8所示。

图2-8TKStudioIDE主界面

TKStudio集成开发环境包括工程管理器、代码编辑器、编译工具链、源码级调试器和外部工具等。

(1)TKStudio工程管理器可以管理工程中用到的所有源文件、库文件和其它输入文件。

在工程窗口中分为工程、文件组、源文件三级结构,并且根据文件类型显示为不同的图标,直观而又醒目,更方便用户管理工程。

TKStudio工程窗口如图2-9所示。

图2-9TKStudio工程窗口

(2)TKStudio代码编辑器以最大化用户编码体验为目标,功能强大,能非常有效地提高编码效率,并提高整体开发效率。

(3)TKStudio具备丰富的编译器选项配置信息,对各种工具链的编译、链接、调试提供了灵活的配置参数,对MCS-51、ARM、AVR等芯片都提供了支持,主要有C51、SDCC51、GCCARM、ADSARM、RealviewMDK、GCCAVR等编译工具链。

如图2-10所示。

图2-10编译工具链

LPC1100系列微控制器开发需要用到的编译工具链是RealviewMDK4.x,如果用户在安装TKStudio前已经安装了该编译器,安装程序会自动将编译器的路径设置到TKStudio中。

但如果用户之前没有安装RealviewMDK编译器,则需在TKStudio安装过程中根据提示到相关网站下载安装。

在安装好RealviewMDK编译器后,用户需要将该编译器的路径设置到TKStudio中。

(4)TKStudio调试器与广州致远电子推出的K系列仿真器完美结合,支持8051、ARM、AVR等主流芯片的系统级调试,配备大量调试窗口、性能分析器、数据代码覆盖分析器、运行轨迹回溯工具,内置了完备的软件仿真系统。

能帮助您快速定位无用代码、无用变量,更好地优化完善整个系统。

TKStudio调试器如图2-11

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2