基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc

上传人:wj 文档编号:721754 上传时间:2023-04-29 格式:DOC 页数:80 大小:3.50MB
下载 相关 举报
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第1页
第1页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第2页
第2页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第3页
第3页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第4页
第4页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第5页
第5页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第6页
第6页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第7页
第7页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第8页
第8页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第9页
第9页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第10页
第10页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第11页
第11页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第12页
第12页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第13页
第13页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第14页
第14页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第15页
第15页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第16页
第16页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第17页
第17页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第18页
第18页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第19页
第19页 / 共80页
基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc_第20页
第20页 / 共80页
亲,该文档总共80页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc

《基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc》由会员分享,可在线阅读,更多相关《基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc(80页珍藏版)》请在冰点文库上搜索。

基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc

目录

1绪论 1

前言 1

1.1近距离无线通信技术概述 2

1.3课题的来源背景 5

1.4国内外研究状况 6

1.5系统总体方案 6

1.5.1设计要求 6

1.5.2硬件的选取:

6

1.5.3软件的设计:

7

2开发环境的搭建 8

2.1Linux开发环境搭建 8

2.1.1关于Linux系统 8

2.1.2关于GNU 8

2.1.3利用Vmware虚拟机搭建Linux开发环境 8

2.2安卓应用开发环境搭建 10

2.2.1关于Eclipse软件 10

2.2.2androidSDK开发环境搭建 10

2.2.3androidNDK开发环境搭建 11

3系统硬件的选取 13

3.1 关于ARM处理器 13

3.2GEC210开发板简介 15

3.3蓝牙HC-06模块的简介 17

3.3.1HC-06模块特征 17

3.3.2AT指令集(对蓝牙模块进行测试) 19

4系统软件的设计 22

4.1相关软件编程技术 22

4.1.1嵌入式C编程 22

4.2系统底层软件的设计 22

4.2.1LED灯驱动程序设计 22

4.2.2LED灯测试程序设计 26

4.2.3UART串口配置 28

4.3系统上层软件的设计 30

4.3.1android应用程序工程分析 30

4.3.2智能手机端的应用程序设计 31

4.3.3GEC210开发板端的应用程序设计 37

5系统整体的调试 42

5.1系统软硬件的测试 42

5.2结论与总结 45

参考文献 46

Abstract 47

附录:

48

附录一:

led_drv.c 48

附录二:

led_test.c 50

附录三:

AndroidApp工程源文件:

52

3.1主界面源代码MainActivity.java 52

3.2控制界面源代码SearchBlueTooth.java 55

3.3“关闭APP”类源代码SysApplication.java 60

3.5主界面布局文件:

activity_main.xml 61

3.6控制界面布局文件searchbluetooth.xml 63

附录四:

ArmApp工程源代码:

63

4.1主界面源文件MainActivity.java 63

4.2主界面布局文件activity_main.xml 65

4.3Jni源代码文件:

65

4.3.1C库源文件ArmApp.cpp 65

4.3.2头文件com_jhhu-armapp_MainActivity.h 69

4.3.3Android.mk 70

4.3.4Application.mk 70

致谢 71

仲恺农业工程学院毕业论文(设计)成绩评定表 72

1绪论

前言

随着移动互联网平台的发展,搭载着免费、开源的android操作系统的android智能手机在移动平台以其市场占有率第一的优势而大放异彩。

然而在现实生活中存在着许多这样的应用情况,系统需要实时传输小量的、近距离的突发信号,这就需要近距离无线通信技术。

因此,基于安卓智能手机控制的无线开关系统亦是一个值得关注的领域。

安卓智能手机随处可见,开关更是司空见惯,无线开关也是不再新鲜,然而基于安卓智能手机控制的无线开关确实一个较为新鲜的事物。

本系统是一个基于安卓手机的智能无线开关系统,其涉及的硬件设备由处理单元(基于contex-A8内核的S5PV210处理器)、发射模块(三星智能手机)、接收模块(蓝牙接收器)、ARM核心板以及其外接电路构成。

软件系统则需要用JAVA语言写两个安卓APP,一个是安装到手机端作为蓝牙信号发送的发送端,另一个则是安装到ARM核心板上作为蓝牙信号的接收端。

除此之外,还需要用C语言写关于ARM板上的LED灯的硬件驱动程序以及uart串口的初始化程序。

当发射模块发出信号时,接收模块会接收到无线信号,ARM处理器就会作出分析使对应的LED灯执行相应的亮灭操作,以LED灯的亮灭来模拟开关的状态。

此设计需要用到C语言,JAVA语言,数字电路,模拟电路,嵌入式系统设计以及安卓编程等相关知识。

1.1近距离无线通信技术概述

目前使用较广泛的近距无线通信技术是蓝牙(Bluetooth),无线局域网802.11(Wi-Fi)和红外数据传输(IrDA)。

同时还有一些具有发展潜力的近距无线技术标准,它们分别是:

ZigBee、超宽频(UltraWideBand)、短距通信(NFC)、WiMedia、GPS、DECT、无线1394和专用无线系统等。

它们都有其立足的特点,或基于传输速度、距离、耗电量的特殊要求;

或着眼于功能的扩充性;

或符合某些单一应用的特别要求;

或建立竞争技术的差异化等。

但是没有一种技术可以完美到足以满足所有的需求。

蓝牙技术有其性价比高,普遍性(一般的智能手机都有搭载蓝牙模块)的特点,较为适合用作短距离无线通信,因此此处主要对蓝牙技术进行介绍。

蓝牙技术(bluetooth)技术是近几年出现的,广受业界关注的近距无线连接技术。

它是一种无线数据与语音通信的开放性全球规范,它以低成本的短距离无线连接为基础,可为固定的或移动的终端设备提供廉价的接入服务。

蓝牙技术是一种无线数据与语音通信的开放性全球规范,其实质内容是为固定设备或移动设备之间的通信环境建立通用的近距无线接口,将通信技术与计算机技术进一步结合起来,使各种设备在没有电线或电缆相互连接的情况下,能在近距离范围内实现相互通信或操作。

其传输频段为全球公众通用的2.4GHzISM频段,提供1Mbps的传输速率和10m的传输距离。

蓝牙技术诞生于1994年,Ericsson当时决定开发一种低功耗、低成本的无线接口,以建立手机及其附件间的通信。

该技术还陆续获得PC行业业界巨头的支持。

1998年,蓝牙技术协议由Ericsson、IBM、Intel、NOKIA、Toshiba等5家公司达成一致。

蓝牙协议的标准版本为802.15.1,由蓝牙小组(SIG)负责开发。

802.15.1的最初标准基于蓝牙1.1实现,后者已构建到现行很多蓝牙设备中。

新版802.15.1a基本等同于蓝牙1.2标准,具备一定的QoS特性,并完整保持后向兼容性。

蓝牙行业是个突飞猛进的行业,2004年到2011年,蓝牙设备的综合年增长率为40%。

07年蓝牙设备的出货量达5亿件,市场份额增加了71%。

预计到2009,出货量将达到20亿件。

中国是世界最大的蓝牙生产研发基地,全球80%的蓝牙企业在中国,中国80%的蓝牙企业在深圳。

国内最大的蓝牙方案公司深圳市吉联通数码科技有限公司、国内最大的蓝牙电池邦凯电子有限公司、全球著名的蓝牙键盘制造商中易腾达,国内最著名的蓝牙车载创美佳等公司都深圳,但蓝牙技术遭遇了最大的障碍是过于昂贵,这就使得许多用户不愿意花大价钱来购买这种无线设备。

因此,首要解决的就是蓝牙附属地位的问题和蓝牙芯片国产化的问题。

随着蓝牙芯片国产化,中国确定自己的技术标准,很快就可以解决目前中国蓝牙企业“山寨化”的问题,让所有中国蓝牙企业生产合乎中国技术标准的产品。

二是进入了蓝牙产业链的上游,形成完整的产业链条。

第三,可以借此解决目前蓝牙使用上由于“配对”复杂,而妨碍用户使用,造成市场推广的障碍。

以上优势的形成,必将改变中国蓝牙行业的现有局面,并在深圳形成以高新技术为龙头的一体化蓝牙产业基地,更好的为全中国,全世界服务。

业内专家认为,蓝牙的市场前景取决于蓝牙价格和基于蓝牙的应用是否能达到一定的规模。

有了蓝牙,我们可以不再为数字家庭的布线而烦恼,移动电话、计算机、数码相机、摄像机、打印机、传真机和掌上电脑等能随心所欲无线连通。

有了蓝牙,这些设备即会实现自动同步。

即使用户的个人电脑放在手提箱内,用户也可以通过电话收电子邮件,通过移动电话屏幕阅读邮件标题,而不会有到处找连接线、开机、关机等待等等诸如此类的一系列烦恼。

蓝牙技术拥有广阔的潜力市场。

1.2android操作系统简介

Android操作系统是一款由Google公司于2007年11月5日宣布的基于Linux平台的开源手机操作系统。

2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款Google手机——T-MobileG1。

该款手机为台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机。

至最新的数据显示,搭载着安卓系统的智能手机在世界市场的占有率已达到78.9%,远远抛开排名第二的ios系统的15.5%。

成为目前市场占有率最高,发展最为快速的一种手机操作系统。

Android系统是基于Linux和Java技术,它在底层采用Linux内核和本地库,在上层提供Java支持框架和开发接口。

它借助于Linux强大的稳定性、开放性和可移植性,Java语言开发的广泛性、简单性和可移植性,一经推出就受动广泛关注和欢迎,在嵌入式开发中产生比较深远的影响。

Android的系统架构采用了分层架构的思想,如下图所示。

从上层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和Linux内核。

图1Android系统架构图

每层功能简要介绍如下:

一应用程序层

该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。

同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

二应用程序框架层

该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。

应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。

在Android平台上,开发人员可以完全访问核心应用程序所使用的API框架。

并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。

基于这样的重用机制,用户就可以方便地替换平台本身的各种应用程序组件。

三系统库和Android运行时

系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。

Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、、android.media等等。

后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。

四Linux内核

Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。

Linux内核也是作为硬件与软件栈的抽象层。

驱动:

显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。

由此可见,Android的系统架构采用分层架构的思想,架构清晰,层次分明,协同工作。

1.3课题的来源背景

从2007年11月5日谷歌公司正式向外界展示了这款名为android的操作系统到如今(2014年5月),android操作系统已从最开始的1.0版本到如今的4.4版本kitkat,系统性能达到质的飞跃,UI界面更是在2.X时代升级到4.X时代的时候得到质的改变,从而使得如今最新的4.4版本是一个非常优秀的操作系统。

在ARM处理器方面,经历了经典的ARM7、ARM9、ARM11等系列,如今Cortex系列更是成为了主流。

而在cortex系列中,其cortex-A系列以其开放式操作系统的高性能处理器的特点性能更是远高于面向实时应用的卓越性能的Cortex-R系列和面向具有确定性的微控制器应用的Cortex-M系列。

Cortex-A系列较为高端的系列亦分为A8、A9、A15乃至字长为64位的A50系列。

在如今的智能手机领域,A8、A9等系列被广泛应用。

在短距离无线通信方面,蓝牙已经是一种非常普遍,性价比高的短距离无线通信工具。

只要是智能手机,都会搭载蓝牙模块,这也就意味着,本课题的短距离无线通信工具材料来源异常丰富,可谓随手可得。

1.4国内外研究状况

在智能家居系统研发方面,亦即包含无线开关控制,美国及一些欧洲国家一直处于领先地位。

近年来,以美国微软公司及摩托罗拉公司等为首的一批国外知名企业,先后挤身于智能家居的研发中。

例如:

微软公司开发的“梦幻之家”、摩托罗拉公司开发的“居所之门”、IBM公司开发的“家庭主任”等均已日趋成稳得技术强占家居市场。

此外,日韩新等国的龙头企业纷纷致力于家居智能化的开发,对家居市场更是跃跃欲试。

20世纪90年代后期,我国的智能小区日益兴起。

众所周知,我国的智能化住宅建设最早起于上海、广州和深圳等沿海城市,并逐渐向内陆发展。

在97香港回归之际,在建设部“97跨世纪住宅小区案竞赛活动”中,上海中皇广场被建设部科技委员会列为全国首家“智能住宅示范工程”,揭开了全国智能小区发展的序幕。

我国的智能家居相对于国外起步较晚, 

尚未形成一定的国家标准。

目前,主要采用国外的一些技术产品,但也有一些企业推出了自己的产品,主要有:

e家庭(海尔)、e-home数字家园(清华同方)等。

国内各大软、硬件机构正在积极的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。

由于安卓操作系统是近几年才流行起来的,基于安卓智能手机控制的领域可谓相对以前的常规无线控制较为新鲜。

1.5系统总体方案

1.5.1设计要求

本次设计要求设计出一个基于安卓智能手机控制的智能无线开关系统。

通过实现从手机端发送蓝牙信号无线控制ARM核心板上的LED灯的亮灭来达到无线控制开关的功能。

本次设计要求懂得一定的C语言以及JAVA语言知识,对嵌入式系统的驱动程序编程以及安卓应用程序编程有一定的了解,以及熟悉数、模电等电路知识。

1)安卓智能手机:

对此不作出太大要求,只要有足够的ROM空间能够安装蓝牙控制的APP即可。

2)蓝牙接收模块:

本模块分主机和从机,主机能和从机配对通信,从机与从机之间或主机与主机之间不能通信,从机能和电脑、手机等的蓝牙配对通信,购买时默认为从机。

我们在做无线开关控制时,蓝牙模块主要是实现接收从手机端发送过来的指令,所以我们需要的是从机模块。

3)ARM开发板(附带LED灯):

此处之所以不选择我们熟悉的传统的51系列8位单片机而选择32位的基于cotex-A8内核的S5PV210处理器,是为了增加课题的新颖性以及挑战32位的ARM的驱动程序编程,该开发板搭载的是Android2.3系统。

1)Android的应用程序设计:

需熟悉JAVA语言以及android应用程序设计。

2)UART串口初始化程序:

鉴于我们的蓝牙模块是通过串口与ARM核心板进行通信,故需要我们对arm板上的uart口进行一系列的初始化。

3)LED灯的驱动程序设计:

由于arm开发板上的android系统是基于linux内核的,故此处需要充分了解linux系统的驱动程序设计,从而才能熟练写出LED灯的驱动程序。

图2整体结构方案图

2开发环境的搭建

2.1Linux开发环境搭建

2.1.1关于Linux系统

Linux操作系统诞生于1991年的10月5日(这是第一次正式向外公布的时间),其是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。

它能运行主要的UNIX工具软件、应用程序和网络协议。

它支持32位和64位硬件。

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux用途广泛,可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

Linux存在着许多不同的Linux版本,有我们熟悉的Ubuntu、RedHat、Debian、SUSE等等,虽然各家公司的Linux系统略有不同,但它们都使用了Linux内核。

在本次设计中我们选择市场上较为普遍的Ubuntu系统。

2.1.2关于GNU

GNU计划,又称革奴计划,是由RichardStallman在1983年9月27日公开发起的。

它的目标是创建一套完全自由的操作系统。

RichardStallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。

为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNUGeneralPublicLicense,GPL)。

即“反版权”(或称Copyleft)概念。

GNU计划最终并没有如RichardStallman所愿,创建出一套完全自由的操作系统,但是却创造出了vi编辑器、gcc编译器、gdb调试器等一大堆自由软件。

最终GNU工程各种工具和数据库和我们熟悉的Linux内核组建成我们熟悉的Linux操作系统。

本次设计中就是使用vi编辑器、gcc编译器、gdb调试器等工具在Linux平台下编辑LED灯的驱动程序和UART的初始化程序。

2.1.3利用Vmware虚拟机搭建Linux开发环境

1)安装虚拟机

直接双击打开VMware-workstation-9.0.1.exe,输入相应序列号即可成功安装虚拟机。

2)安装Ubuntu系统

根据百度经验逐步进行安装:

3)搭建交叉编译环境

由于我们要在X86环境下的ubuntu系统编译出能在ARM环境下运行的可执行程序,所以我们必须要通过交叉编译。

则需要安装交叉编译器(crosscompiler)。

此处我们选择交叉编译工具:

arm-linux-4.2.2

搭建步骤

1) 

在/usr/local/下建立交叉编译器的安装目录arm:

sudo 

mkdir/usr/local/arm

2)将下载的交叉编译器包解压到/usr/local/arm目录下:

sudotarjxvfcross-4.2.2-eabi.tar.bz2-C/usr/local/arm/ 

3)解压成功后,修改PATH环境变量:

sudovim 

/etc/profile

在文件为加入交叉编译器arm-linux-所在的路径:

exportPATH=$PATH:

/usr/local/arm/4.2.2-eabi/usr/bin

然后退出vim。

4) 

更新一下配置文件/etc/profile:

source/etc/profile

5)工具安装成功:

以上工具只是用来编译驱动程序,由于我们的arm开发板跑的是android系统,若要编译出能在其上运行的可执行C文件,普通的arm-linux-gcc编译器并无此能力,此时则需要android的mk文件,也就是需要android系统的源代码。

具体下载过程见:

为了使开发板能与pc机通信,则需要在windows下安装SecureCRT5.2。

安装完毕后二者通过串口进行通信。

2.2安卓应用开发环境搭建

2.2.1关于Eclipse软件

Eclipse是一个开放源代码的、基于Java的可扩展开发平台。

就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentKit,JDK)。

由于android应用程序是用java语言编写的,所以我们的android应用自然也是用Eclipse工具编写。

2.2.2androidSDK开发环境搭建

1)javaJDK安装

进入oracle官网下载最新jdk-6u22-windows-i586.exe,双击开始安装JDK,路径选择c盘(也可以是其他路径),安装完设置java环境变量。

设置方法如下:

我的电脑点右键à

属性à

高级à

进入环境变量设置

(1)设置path变量

在系统变量里找到path变量,选择à

编辑在变量值的最后追加

;

C:

\jdk1.6.0_22\bin

(2)设置classpath环境变量

在系统环境变量那一栏中点à

新建

变量名:

classpath,

变量值:

.;

%JAVA_HOME%\lib\tools.jar;

%JAVA_HOME%\lib\dt.jar;

(3)设置JAVA_HOME

JAVA_HOME

\jdk1.6.0_22

检验JAVA环境:

打开cmd命令行,输入javac:

如显示如下界面

图3检验JAVA环境

则表示安装成功,

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

当前位置:首页 > 农林牧渔 > 林学

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

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