欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

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

    • 资源ID:525309       资源大小:3.50MB        全文页数:80页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    1、仲恺农业工程学院毕 业 设 计基于安卓控制的智能无线开关姓 名 黄桂文院(系) 自动化学院专业班级 自动化101班学 号 201010344132指导教师 罗松江职 称 讲师论文答辩日期 2014年 5月 25日仲恺农业工程学院教务处74学生毕业论文(设计)承诺书本人郑重承诺:所呈交的毕业论文(设计)是在指导老师的指导下进行的研究工作及取得的研究成果,论文中参考他人的文献资料均已明确标注出,论文中的结论和结果为本人独立完成,没有抄袭、剽窃他人研究成果。毕业论文作者: 签字日期: 摘 要本课题研究的是基于安卓手机控制的智能无线开关设计。基于android手机平台和ARM核心板,借助于蓝牙技术,设

    2、计和实现了一种无线控制开关系统。实现通过手机端无线控制ARM开发板端的LED灯的亮灭功能。Android手机作为客户端发送蓝牙信号,蓝牙模块HC-06作为服务器端接收信号,并向服务器端的控制器ARM核心板传递信号。双方通过串口进行通信。ARM控制器通过判断是否接收到信号从而控制核心板上的LED灯的亮灭。本文详细介绍了基于安卓智能手机的无线开关控制系统的设计以及实现。从课题的背景开始讨论,接着到开发平台的搭建,再到系统整体方案的设计,最后对整个设计进行总结,分析出本系统的优势以及出现的不足。关键词:android 蓝牙 无线通信 ARM目 录1 绪论1前 言11.1 近距离无线通信技术概述21.

    3、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开发板简介153.3 蓝牙HC-06模块的简介173.3.1

    4、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参 考 文 献46Abstract47附录:48附录一:led_drv.c4

    5、8附录二: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_main.xml654.3 Jni源代码文件:654.3.1 C

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

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

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

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

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

    11、.15.1a基本等同于蓝牙1.2标准,具备一定的 QoS特性,并完整保持后向兼容性。蓝牙行业是个突飞猛进的行业,2004年到2011年,蓝牙设备的综合年增长率为40。07年蓝牙设备的出货量达5 亿件,市场份额增加了71。预计到2009,出货量将达到亿件。中国是世界最大的蓝牙生产研发基地,全球80%的蓝牙企业在中国,中国80%的蓝牙企业在深圳。国内最大的蓝牙方案公司深圳市吉联通数码科技有限公司、国内最大的蓝牙电池邦凯电子有限公司、全球著名的蓝牙键盘制造商中易腾达,国内最著名的蓝牙车载创美佳等公司都深圳,但蓝牙技术遭遇了最大的障碍是过于昂贵,这就使得许多用户不愿意花大价钱来购买这种无线设备。因此,

    12、首要解决的就是蓝牙附属地位的问题和蓝牙芯片国产化的问题。随着蓝牙芯片国产化,中国确定自己的技术标准,很快就可以解决目前中国蓝牙企业“山寨化”的问题,让所有中国蓝牙企业生产合乎中国技术标准的产品。二是进入了蓝牙产业链的上游,形成完整的产业链条。第三,可以借此解决目前蓝牙使用上由于“配对”复杂,而妨碍用户使用,造成市场推广的障碍。以上优势的形成,必将改变中国蓝牙行业的现有局面,并在深圳形成以高新技术为龙头的一体化蓝牙产业基地,更好的为全中国,全世界服务。业内专家认为,蓝牙的市场前景取决于蓝牙价格和基于蓝牙的应用是否能达到一定的规模。有了蓝牙,我们可以不再为数字家庭的布线而烦恼,移动电话、计算机、数

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

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

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

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

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

    18、),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位的

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

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

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

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

    23、计:需熟悉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操作系统,是一个

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

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

    26、加任何限制的情况下授权所有权利给任何人的协议条款,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虚拟机搭建Lin

    27、ux开发环境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/local/arm

    28、目录下: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文件,普通的a

    29、rm-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应用程序是用

    30、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_HOME在系统环境变量那一栏中点新建变量名:JAVA_HOME变量值:C: jdk1.6.0_22检验JAVA环境:打开cmd命令行,输入javac:如显示如下界面图3 检验JAVA环境则表示安装成功,


    注意事项

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

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开