ImageVerifierCode 换一换
格式:DOC , 页数:80 ,大小:3.50MB ,
资源ID:721754      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-721754.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于安卓控制的智能无线开关-毕业设计论文Word文件下载.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

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

1、目 录1 绪论1前 言11.1 近距离无线通信技术概述21.3 课题的来源背景51.4国内外研究状况61.5系统总体方案61.5.1 设计要求61.5.2 硬件的选取:61.5.3软件的设计:72 开发环境的搭建82.1 Linux开发环境搭建82.1.1 关于Linux系统82.1.2 关于GNU82.1.3 利用Vmware虚拟机搭建Linux开发环境82.2 安卓应用开发环境搭建102.2.1 关于Eclipse软件102.2.2 android SDK开发环境搭建102.2.3 android NDK 开发环境搭建113系统硬件的选取133.1关于ARM处理器133.2 GEC210开

2、发板简介153.3 蓝牙HC-06模块的简介173.3.1 HC-06模块特征173.3.2 AT 指令集 (对蓝牙模块进行测试)194 系统软件的设计224.1 相关软件编程技术224.1.1 嵌入式C编程224.2 系统底层软件的设计224.2.1 LED灯驱动程序设计224.2.2 LED灯测试程序设计264.2.3 UART串口配置284.3 系统上层软件的设计304.3.1 android应用程序工程分析304.3.2 智能手机端的应用程序设计314.3.3 GEC210开发板端的应用程序设计375 系统整体的调试425.1 系统软硬件的测试425.2 结论与总结45参 考 文 献4

3、6Abstract47附录:48附录一:led_drv.c48附录二:led_test.c50附录三:AndroidApp工程源文件:523.1 主界面源代码MainActivity.java523.2 控制界面源代码SearchBlueTooth.java553.3 “关闭APP”类源代码SysApplication.java603.5 主界面布局文件:activity_main.xml613.6 控制界面布局文件searchbluetooth.xml63附录四:ArmApp工程源代码:634.1 主界面源文件MainActivity.java634.2 主界面布局文件activity_ma

4、in.xml654.3 Jni源代码文件:654.3.1 C库源文件ArmApp.cpp654.3.2 头文件com_jhhu-armapp_MainActivity.h694.3.3 Android.mk704.3.4 Application.mk70致 谢71仲恺农业工程学院毕业论文(设计)成绩评定表721 绪论前 言随着移动互联网平台的发展,搭载着免费、开源的android操作系统的android智能手机在移动平台以其市场占有率第一的优势而大放异彩。然而在现实生活中存在着许多这样的应用情况,系统需要实时传输小量的、近距离的突发信号,这就需要近距离无线通信技术。因此,基于安卓智能手机控制的

5、无线开关系统亦是一个值得关注的领域。安卓智能手机随处可见,开关更是司空见惯,无线开关也是不再新鲜,然而基于安卓智能手机控制的无线开关确实一个较为新鲜的事物。本系统是一个基于安卓手机的智能无线开关系统,其涉及的硬件设备由处理单元(基于contex-A8内核的S5PV210处理器)、发射模块(三星智能手机)、接收模块(蓝牙接收器)、ARM核心板以及其外接电路构成。软件系统则需要用JAVA语言写两个安卓APP,一个是安装到手机端作为蓝牙信号发送的发送端,另一个则是安装到ARM核心板上作为蓝牙信号的接收端。除此之外,还需要用C语言写关于ARM板上的LED灯的硬件驱动程序以及uart串口的初始化程序。当

6、发射模块发出信号时,接收模块会接收到无线信号,ARM处理器就会作出分析使对应的LED灯执行相应的亮灭操作,以LED灯的亮灭来模拟开关的状态。此设计需要用到C语言,JAVA语言,数字电路,模拟电路,嵌入式系统设计以及安卓编程等相关知识。1.1 近距离无线通信技术概述目前使用较广泛的近距无线通信技术是蓝牙(Bluetooth),无线局域网802.11(Wi-Fi)和红外数据传输(IrDA)。同时还有一些具有发展潜力的近距无线技术标准,它们分别是:ZigBee、超宽频(Ultra WideBand)、短距通信(NFC)、WiMedia、GPS、DECT、无线1394和专用无线系统等。它们都有其立足的

7、特点,或基于传输速度、距离、耗电量的特殊要求;或着眼于功能的扩充性;或符合某些单一应用的特别要求;或建立竞争技术的差异化等。但是没有一种技术可以完美到足以满足所有的需求。蓝牙技术有其性价比高,普遍性(一般的智能手机都有搭载蓝牙模块)的特点,较为适合用作短距离无线通信,因此此处主要对蓝牙技术进行介绍。蓝牙技术(bluetooth)技术是近几年出现的,广受业界关注的近距无线连接技术。它是一种无线数据与语音通信的开放性全球规范,它以低成本的短距离无线连接为基础,可为固定的或移动的终端设备提供廉价的接入服务。蓝牙技术是一种无线数据与语音通信的开放性全球规范,其实质内容是为固定设备或移动设备之间的通信环

8、境建立通用的近距无线接口,将通信技术与计算机技术进一步结合起来,使各种设备在没有电线或电缆相互连接的情况下,能在近距离范围内实现相互通信或操作。其传输频段为全球公众通用的2.4GHzISM频段,提供1Mbps的传输速率和10m的传输距离。蓝牙技术诞生于1994年,Ericsson当时决定开发一种低功耗、低成本的无线接口,以建立手机及其附件间的通信。该技术还陆续获得PC行业业界巨头的支持。1998年,蓝牙技术协议由 Ericsson、IBM、Intel、NOKIA、Toshiba等5家公司达成一致。蓝牙协议的标准版本为802.15.1,由蓝牙小组(SIG)负责开发。802.15.1的最初标准基于

9、蓝牙1.1实现,后者已构建到现行很多蓝牙设备中。新版802.15.1a基本等同于蓝牙1.2标准,具备一定的 QoS特性,并完整保持后向兼容性。蓝牙行业是个突飞猛进的行业,2004年到2011年,蓝牙设备的综合年增长率为40。07年蓝牙设备的出货量达5 亿件,市场份额增加了71。预计到2009,出货量将达到亿件。中国是世界最大的蓝牙生产研发基地,全球80%的蓝牙企业在中国,中国80%的蓝牙企业在深圳。国内最大的蓝牙方案公司深圳市吉联通数码科技有限公司、国内最大的蓝牙电池邦凯电子有限公司、全球著名的蓝牙键盘制造商中易腾达,国内最著名的蓝牙车载创美佳等公司都深圳,但蓝牙技术遭遇了最大的障碍是过于昂贵

10、,这就使得许多用户不愿意花大价钱来购买这种无线设备。因此,首要解决的就是蓝牙附属地位的问题和蓝牙芯片国产化的问题。随着蓝牙芯片国产化,中国确定自己的技术标准,很快就可以解决目前中国蓝牙企业“山寨化”的问题,让所有中国蓝牙企业生产合乎中国技术标准的产品。二是进入了蓝牙产业链的上游,形成完整的产业链条。第三,可以借此解决目前蓝牙使用上由于“配对”复杂,而妨碍用户使用,造成市场推广的障碍。以上优势的形成,必将改变中国蓝牙行业的现有局面,并在深圳形成以高新技术为龙头的一体化蓝牙产业基地,更好的为全中国,全世界服务。业内专家认为,蓝牙的市场前景取决于蓝牙价格和基于蓝牙的应用是否能达到一定的规模。有了蓝牙

11、,我们可以不再为数字家庭的布线而烦恼,移动电话、计算机、数码相机、摄像机、打印机、传真机和掌上电脑等能随心所欲无线连通。有了蓝牙,这些设备即会实现自动同步。即使用户的个人电脑放在手提箱内,用户也可以通过电话收电子邮件,通过移动电话屏幕阅读邮件标题,而不会有到处找连接线、开机、关机等待等等诸如此类的一系列烦恼。蓝牙技术拥有广阔的潜力市场。1.2 android操作系统简介Android操作系统是一款由Google公司于2007年11月5日宣布的基于Linux平台的开源手机操作系统。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机T-Mobile G1。

12、该款手机为台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机。至最新的数据显示,搭载着安卓系统的智能手机在世界市场的占有率已达到78.9%,远远抛开排名第二的ios系统的15.5%。成为目前市场占有率最高,发展最为快速的一种手机操作系统。Android系统是基于Linux和Java技术,它在底层采用Linux内核和本地库,在上层提供Java支持框架和开发接口。它借助于Linux强 大的稳定性、开放性和可移植性,Java语言开发的广泛性、简单性和可移植性,一经推出就受动广泛关注和欢迎,在嵌入式开发中产生比较深远的影响。Android的系统架构采用了分层架构的思想,如下图所示。从上

13、层到底层共包括四层,分别是应用程序程序层、应用框架层、系统库和Android运行时和Linux内核。图1 Android系统架构图每层功能简要介绍如下:一 应用程序层该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。二 应用程序框架层该层是Android应用开发的基础,开发人员大部分情况是在和她打交道。应用程序框架层包括活动管理器、窗口管理器、内容提供者、视图系统、包管理器、 电话管理器、资源管理器、位置管理器、通知管理器和XMPP服务十个部分。在And

14、roid平台上,开发人员可以完全访问核心应用程序所使用的API框 架。并且,任何一个应用程序都可以发布自身的功能模块,而其他应用程序则可以使用这些已发布的功能模块。基于这样的重用机制,用户就可以方便地替换平台本 身的各种应用程序组件。三 系统库和Android运行时系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc。 Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如 android.os、android.medi

15、a等等。后者是一种基于寄存器的java虚拟机,Dalvik虚拟机主要是完成对生命周期的管理、堆栈的管理、线程的管理、安全和异常的管理以及垃圾回收等重要功能。四 Linux内核Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。由此可见,Android的系统架构采用分层架构的思想,架构清晰,层次分明,协同工作。1.3 课题的来源背景从2007年11月5日谷歌公司正式向外界展

16、示了这款名为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系

17、列较为高端的系列亦分为A8、A9、A15乃至字长为64位的A50系列。在如今的智能手机领域,A8、A9等系列被广泛应用。在短距离无线通信方面,蓝牙已经是一种非常普遍,性价比高的短距离无线通信工具。只要是智能手机,都会搭载蓝牙模块,这也就意味着,本课题的短距离无线通信工具材料来源异常丰富,可谓随手可得。1.4国内外研究状况在智能家居系统研发方面,亦即包含无线开关控制,美国及一些欧洲国家一直处于领先地位。近年来,以美国微软公司及摩托罗拉公司等为首的一批国外知名企业,先后挤身于智能家居的研发中。例如:微软公司开发的“梦幻之家”、摩托罗拉公司开发的“居所之门”、IBM公司开发的“家庭主任”等均已日趋成

18、稳得技术强占家居市场。此外,日韩新等国的龙头企业纷纷致力于家居智能化的开发,对家居市场更是跃跃欲试。20世纪90年代后期,我国的智能小区日益兴起。众所周知,我国的智能化住宅建设最早起于上海、广州和深圳等沿海城市,并逐渐向内陆发展。在97香港回归之际,在建设部“97跨世纪住宅小区案竞赛活动”中,上海中皇广场被建设部科技委员会列为全国首家“智能住宅示范工程”,揭开了全国智能小区发展的序幕。我国的智能家居相对于国外起步较晚,尚未形成一定的国家标准。目前,主要采用国外的一些技术产品,但也有一些企业推出了自己的产品,主要有:e家庭(海尔)、e-home数字家园(清华同方)等。国内各大软、硬件机构正在积极

19、的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。由于安卓操作系统是近几年才流行起来的,基于安卓智能手机控制的领域可谓相对以前的常规无线控制较为新鲜。1.5系统总体方案1.5.1 设计要求 本次设计要求设计出一个基于安卓智能手机控制的智能无线开关系统。通过实现从手机端发送蓝牙信号无线控制ARM核心板上的LED灯的亮灭来达到无线控制开关的功能。本次设计要求懂得一定的C语言以及JAVA语言知识,对嵌入式系统的驱动程序编程以及安卓应用程序编程有一定的了解,以及熟悉数、模电等电路知识。 1)安

20、卓智能手机:对此不作出太大要求,只要有足够的ROM空间能够安装蓝牙控制的APP即可。2)蓝牙接收模块:本模块分主机和从机,主机能和从机配对通信,从机与从机之间或主机与主机之间不能通信,从机能和电脑、手机等的蓝牙配对通信,购买时默认为从机。我们在做无线开关控制时,蓝牙模块主要是实现接收从手机端发送过来的指令,所以我们需要的是从机模块。3)ARM开发板(附带LED灯):此处之所以不选择我们熟悉的传统的51系列8位单片机而选择32位的基于cotex-A8内核的S5PV210处理器,是为了增加课题的新颖性以及挑战32位的ARM的驱动程序编程,该开发板搭载的是Android2.3系统。1)Android

21、的应用程序设计:需熟悉JAVA语言以及android应用程序设计。2)UART串口初始化程序:鉴于我们的蓝牙模块是通过串口与ARM核心板进行通信,故需要我们对arm板上的uart口进行一系列的初始化。3)LED灯的驱动程序设计:由于arm开发板上的android系统是基于linux内核的,故此处需要充分了解linux系统的驱动程序设计,从而才能熟练写出LED灯的驱动程序。图2 整体结构方案图2 开发环境的搭建2.1 Linux开发环境搭建2.1.1 关于Linux系统Linux操作系统诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间),其是一套免费使用和自由传播的类Unix操作

22、系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux用途广泛,可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux存在着许多不同的Linux版本,有我们熟悉的Ubun

23、tu、RedHat、Debian、SUSE等等,虽然各家公司的Linux系统略有不同,但它们都使用了Linux内核。在本次设计中我们选择市场上较为普遍的Ubuntu系统。2.1.2 关于GNUGNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带一份GNU宣言等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都有一份在

24、禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。GNU计划最终并没有如Richard Stallman所愿,创建出一套完全自由的操作系统,但是却创造出了vi编辑器、gcc编译器、gdb调试器等一大堆自由软件。最终GNU工程各种工具和数据库和我们熟悉的Linux内核组建成我们熟悉的Linux操作系统。本次设计中就是使用vi编辑器、gcc编译器、gdb调试器等工具在Linux平台下编辑LED灯的驱动程序和UART的初始化程序。2.1.3 利用Vmware虚拟

25、机搭建Linux开发环境1)安装虚拟机直接双击打开VMware-workstation-9.0.1.exe,输入相应序列号即可成功安装虚拟机。2)安装Ubuntu系统根据百度经验逐步进行安装:3)搭建交叉编译环境由于我们要在X86环境下的ubuntu系统编译出能在ARM环境下运行的可执行程序,所以我们必须要通过交叉编译。则需要安装交叉编译器(cross compiler)。此处我们选择交叉编译工具:arm-linux- 4.2.2搭建步骤1)在/usr/local/下建立交叉编译器的安装目录arm:sudo mkdir /usr/local/arm2)将下载的交叉编译器包解压到/usr/loc

26、al/arm目录下:sudo tar jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm/3)解压成功后,修改PATH环境变量:sudo vim /etc/profile在文件为加入交叉编译器arm-linux-所在的路径:export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin然后退出vim。4)更新一下配置文件/etc/profile:source /etc/profile5)工具安装成功:以上工具只是用来编译驱动程序,由于我们的arm开发板跑的是android系统,若要编译出能在其上运行的可执行C文

27、件,普通的arm-linux-gcc编译器并无此能力,此时则需要android的mk文件,也就是需要android系统的源代码。具体下载过程见:为了使开发板能与pc机通信,则需要在windows下安装SecureCRT 5.2。安装完毕后二者通过串口进行通信。2.2 安卓应用开发环境搭建2.2.1 关于Eclipse软件Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。由于android

28、应用程序是用java语言编写的,所以我们的android应用自然也是用Eclipse工具编写。2.2.2 android SDK开发环境搭建1)java JDK安装进入oracle官网 下载最新jdk-6u22-windows-i586.exe,双击开始安装JDK,路径选择c盘(也可以是其他路径),安装完设置java环境变量。设置方法如下:我的电脑点右键属性高级进入环境变量设置(1) 设置path变量在系统变量里找到path变量,选择编辑在变量值的最后追加;C: jdk1.6.0_22bin(2) 设置classpath环境变量在系统环境变量那一栏中点新建变量名:classpath,变量值:.;%JAVA_HOME%libtools.jar;%JAVA_HOME%libdt.jar;(3) 设置JAVA_HOMEJAVA_HOME jdk1.6.0_22检验JAVA环境:打开cmd命令行,输入javac:如显示如下界面图3 检验JAVA环境则表示安装成功,

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

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