1、本科毕业设计论文 i 本科毕业设计论文 题 目 基于 ARM Cortex-A8 与 Android 平台的智能家居系统设计 专业名称 电子科学与技术 _ 学生姓名 _ _ _ _ 指导教师 _ _ 毕业时间 _ 2015 年 7 月 _ _ 本科毕业设计论文 ii 摘 要 随着物质生活水平的逐步提高,科学技术的不 断发展,人们对生活质量的要求也越来越高。物联网技术的飞速发展,智能家居应运而生。 智能家居通过物联网技术将家中的各种设备连接到一起,提供家电控制、照明控制、窗帘控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段。 本文针对智能家
2、居国内发展现状,提出了基于市面上流行的高端处理器ARM CORTEX-A8 内核的 OMAP3530 和 Android 平台的智能家居系统设计方案。该系统由 Android 用户控制模块、智能网关模块以及 zigbee 节点控制模块组成。本系统采用 ARM 搭建嵌入式网关平台、并带有良好用户操作界面,同时采用 zigbee 技术组建家庭无线网络,用户可以远程与家居设备交互。系统硬件部分介绍了各个外设, 软件部分由智能网关程序设计、 Android 用户控制程序设计 以及zigbee 节点控制程序设计三部分组成。经试验测试表明,本文设计的系统能很好地满足需求,能够 实现对家居设备的系统化、网络
3、化、智能化控制,对智能家居发展具有积极的影响。 关键词 : 智能家居系统, Cortex-A8, ZigBee, Android 本科毕业设计论文 iii ABSTRACT With the gradual improvement of living standards, and the development of science and technology, peoples quality of life are increasingly high requirements. The rapid development of Internet of Things technology,
4、intelligent home came into being. Smart home through home networking technology to connect various devices together, provide appliance control, lighting control, curtain control, telephone remote control, indoor and outdoor remote control, anti-theft alarm, environmental monitoring, HVAC control, in
5、frared repeater and a programmable timer control and other functions and tools. This paper, aiming the current development of domestic smart home, proposed smart home system design based on the popularity of high-end processor core ARM CORTEX-A8 OMAP3530 and Android platforms. The system consists of
6、 Android user control module, intelligent gateway module and zigbee node control module. The system uses the ARM embedded gateway platform to build, and with a good user interface, while using zigbee technology to build a home wireless network, users can remotely interact with the home device. Syste
7、m Hardware section describes each peripherals, software part of the design by an intelligent gateway program, Android users to control programming and Zigbee node control programming of three parts. The test tests show that this design system can satisfy the demands of home devices to achieve system
8、atic, network, intelligent control, with a positive impact on the development of the smart home. KEY WORDS: Smart Home System, Cortex-A8, ZigBee, Android 本科毕业设计论文 iv 目 录 第一章 绪论 . 6 1.1 选题背景及意义 . 6 1.2 智能家居研究现状 . 6 1.2.1 智能家居的起源 . 6 1.2.2 智能家居在国外的发展 . 6 1.2.3 智能家居在国内的发展 . 6 1.3 智能家居发展趋势 . 7 1.4 论文主要研
9、究内容及章节安排 . 8 第二章 相关基础知识 . 9 2.1 Android 操作系统 . 9 2.1.1Android 的由来 . 9 2.1.2 Android 的系统架构 8 . 9 2.1.3 系统移植主要工作 8 . 10 2.2 ZIGBEE 技术 . 11 2.2.1 Zigbee 网络配置 . 11 2.2.2ZigBee 网络的拓扑结构 . 12 2.2.3 ZigBee 组网技术 . 12 2.3 ZStack 协议栈介绍 . 13 2.3.1 ZStack 的安装 . 13 2.3.2 ZStack 的结构 . 13 2.3.3 设备的选择 . 14 2.3.4 定位编
10、译选项 . 14 2.3.5 IAR 工程文件中的编译选项 . 14 2.3.6 ZStack 中的寻址 . 15 2.3.7 ZStack 中的路由 . 16 2.3.8 ZStack 中的串口通信设置 . 16 2.3.9 配置信道 . 16 2.4 CC2530 芯片简介 . 18 第三章 系统硬件设计 . 20 3.1 嵌入式终端设备 . 20 3.2 Cortex 处理器 . 21 3.2.1 Cortex 系列 . 21 3.2.2 ARM Cortex-A8. 21 3.3 传感器节点 . 23 第四章 系统软件设计 . 25 4.1 系统总体框架设计 . 25 4.2 智能网关
11、程序设计 15-16. 25 4.3 Android 用户控制程序设计 . 26 4.3.1 Android 用户控制程序框架 17 . 26 本科毕业设计论文 v 4.3.2 Android 用户控制程序编译与安装 18-19. 29 4.4 Zigbee 节点控制程序设计 . 32 4.5 平台控制操作 . 33 4.5.1 启动程序 . 33 4.5.2 搜索网络 . 34 4.5.3 传感器节点操作 . 34 第五章 总结与展望 . 36 5.1 总结 . 36 5.2 展望 . 36 参考文献 . 37 致 谢 . 38 毕业设计小结 . 39 附 录 . 40 本科毕业设计论文 6
12、 第一章 绪论 1.1 选题背景及意义 随着科学技术的不断发展,人们对生活质量有了更高的要求。人们希望有一个高效、舒适、安全、便利、环保的居住环境。实现对家居设备的系统化、网络化、智 能化控制,已经成为家居环境未来的发展方向,智能家居应运而生。 智能家居是在物联网的影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备(如音频设备、照明设备、窗帘设备、空调设备、安防系统、数字影院系统、网络家电以及三表抄送等)连接到一起,提供家电控制、照明控制、窗帘控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发以及可编程定时控制等多种功能和手段 1-2。与普通家居相比,智能家居不仅
13、具有传统的居住功能,兼并建筑、网络通信、信息家电、设备自动化,集系统、结构、服务、管理 为一体的高效、舒适、安全、便利、环保的居住环境,提供全方位的信息交互功能,帮助家庭与外部保持信息交流畅通,优化人们的生活方式,帮助人们有效安排时间,增强家居生活的安全性,甚至为各种能源费用节约资金。 1.2 智能家居研究现状 1.2.1 智能家居的起源 智能家居概念的起源比较早, 1984 年美国联合科技公司( United Techno1ogies Building System)将建筑设备信息化、整合化概念应用于美国康乃迪克州( Conneticut)哈特佛市( Hartford)的 City Plac
14、e Building 时,第一栋“智能型建筑”出现了,从此揭开了全世界争相建造智能家居的序幕。 1.2.2 智能家居在国外的发展 智能家居在国外的发展一直处于领先地位,先后在美国、韩国、新加坡、日本、欧洲等国家和地区都有广泛的应用。如微软公司开发的“梦幻之家”、 IBM开发的“家庭主任 “、 Motorola 开发的“居所之门”,韩国三星公司推出的“ Smart Home”软件控制平台,新加坡推出的“智慧国 2015”规划,日本的“ i-Japan”战略。据统计,在 2000 年,国际智能家居市场销售总额达到 24 亿美元。 2004 年已经达到 200 亿美元 3-4。显然,智能家居在国外巳
15、经发展为一个非常普及的行业。 1.2.3 智能家居在国内的发展 智能家居在国内的起步较晚,现阶段还是一个新兴行业,但发展迅猛。我国的智能小区在 20 世纪 90 年代末逐渐兴起,最早出现于东南沿海城市,如上海、本科毕业设计论文 7 广州和深圳等地,其它二三线城市也在逐步建立。在 2001 年深圳高交会上,海尔、海信、科龙、清华同方等一些国内企业推出智能家居概念产品。在 2014 美国国际电子消费展 (CES)上,国内家电巨头纷纷推出自家新品,四川长虹、青岛海尔、创维、 TCL 等厂商的产品 均在向智能家居紧贴。四川长虹展出了基于家庭互联网战略的智能电视、智能空调、智能冰箱,以及手机、小家电、厨
16、卫等产品,实现智能化互联互通互控,形成一个整体家庭互联网生活解决方案 5。海尔在 CES 展上亦推出成套智能家庭系统,其可通过红外线连接各种传统电器的Smart Center,用户可根据自己实际需要 DIY 智能家居系统 6。 智能家居在发展过程中还存在不少问题,主要包括有线和无线的选择、操作系统选择方面、功耗方面。首先,传统的智能家居系统多需要各种综合布线,不但成本高,还影响美观,且可维护性差。其次 ,传统的智能家居系统在用户体验上很差,有些用户操作都是各厂家自己定义的 QT 界面,用户不熟悉,有些模式启动还得一个一个的设定,没有实现一键式的方便用户的操作,尤其对于老人和小孩不容易马上学会操
17、作。最后,现代社会都是提倡节能环保,智能家居方面,还需重点考虑如何使得该系统节能环保的问题。 智能家居系统是为了让人们获得一个高效、舒适、安全、便利、环保的居住环境,也奠定了智能家居系统在实际生活中的应用优势,使其成为一个有潜力、有意义的研究领域。 1.3 智能家居发展趋势 随着物联网技术的发展,智能家居也 将具有蓬勃的生机,未来的智能家居产品将有以下发展: ( 1) 无线通信 无线技术的应用,将有效克服传统智能家居复杂的布线难题,减少成本,缩短制造时间,便于对智能家居系统的升级。未来的智能家居系统将广泛应用无线通信技术。 ( 2) 协议标准化、接口模块化 标准的协议以及接口模块化将有利于各个
18、企业之间的技术交流,又能提高各种产品的兼容性。 ( 3) 智能微型化 更加微型化、智能化也将是智能家居系统的发展方向。便携式的系统以及更加智能使得系统便于控制,将给用户带来更加方便快捷的体验。 ( 4) 云计算、云服务 智能家居系统将更多地运用云计算、云服务等技术。 云计算提供了最可靠、最安全的数据存储中心, 用户数据将更加 安全,不用再担心数据丢失、病毒入侵等麻烦。 而且 它对用户端的设备要求最低,使用起来很方便。 本科毕业设计论文 8 ( 5) 低碳环保化 随着可持续发展、低碳、环保等观念的深入人心,智能家居系统也将更多考虑低能量、低功耗的因素,设计资源节约型、环境友好型的智能家居系统将是
19、未来的发展方向。 1.4 论文主要研究内容及章节安排 本文针对智能家居国内发展现状,提出了基于市面上流行的高端 处理器ARM CORTEX-A8 内核的 OMAP3530 和 Android 平台的智能家居系统设计方案。该系统由 Android 用户控制模块、智能网关模块以及 zigbee 节点控制模块组成。本系统采用 ARM 搭建嵌入式网关平台、并带有良好用户操作界面,同时采用 zigbee 技术组建家庭无线网络,用户可以远程与家居设备交互。 本文研究内容如下: 第一章:绪论。概述智能家居的发展,揭示本课题的研究意义,了解智能家居在国内外的研究现状以及未来的发展趋势。 第二章:相关基础知识。
20、详细介绍 Android、 zigbee 及 ZStack 协议栈等知识,对 CC2530 芯片做详尽介绍。 第三章:系统硬件设计。介绍系统的硬件组成, Cortex-A8 处理器的特点以及传感器节点。 第四章:系统软件设计。详细介绍系统软件部分,对智能网关程序设计、Android 用户控制程序设计以及 Zigbee 节点控制程序设计三部分的原理,程序等做详细介绍。 第五章:总结与展望 本科毕业设计论文 9 第二章 相关基础知识 2.1 Android 操作系统 2.1.1Android 的由来 Android 是基于 Linux 内核的操作系统,是 Google 公司在 2007 年 11
21、月 5 日公布的手机操作系统。早期由原名为 “Android“的公司开发,谷歌在 2005 年收购“Android.Inc“后,继续进行对 Android 系统开发运营,它采用了软件堆层( software stack,又名软件叠层)的架构,主要分为三部分。底层 Linux 内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以 Java 编写。 2011 年初数据显示,仅正式上市两年的操作系统 Android 已经超越称霸十年的塞班系统,使之跃居全球最受欢 迎的智能手机平台。现在, Android 系统不但应用于智能手机,也在平板电脑市场急速扩张。采用 Android 系统主要厂商
22、包括台湾的 HTC, (第一台谷歌的手机 G1 由 HTC 生产代工)美国摩托罗拉、 SE 等,另外还有中国大陆厂商如:华为、中兴、联想等 7 。 2.1.2 Android 的系统架构 ( 1) 应用程序 Android 以 Java 为编程语言,从接口到功能,都有层出不穷的变化,其中Activity等同于 J2ME的 MID let,一个 Activity 类( class)负责创建视窗( window),一个活动中的 Activity 就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由 Service Connection 和 AIDL 连结,达到
23、复数程序同时运行的效果。如果运行中的 Activity 全部画面被其他 Activity 取代时,该 Activity 便被停止( stopped),甚至被系统清除( kill)。 View 等同于 J2ME 的 Displayable,程序人员可以通过 View 类与“ XML layout”将 UI 放置在视窗上, Android 1.5的版本可以利用 View 打造出所谓 的 Widgets,其实 Widget 只是 View 的一种,所以可以使用 XML 来设计 layout, HTC 的 Android Hero 手机即含有大量的widget。至于 View Group 是各种 la
24、yout 的基础抽象类( abstract class), View Group之内还可以有 View Group。 View 的构造函数不需要再 Activity 中调用,但是Displayable 的是必须的,在 Activity 中,要通过 find View By Id()来从 XML 中取得 View, Android 的 View 类的显示很大 程度上是从 XML 中读取的。 View 与事件( event)息息相关,两者之间通过 Listener 结合在一起,每一个 View 都可以注册一个 event listener,例如:当 View 要处理用户触碰( touch)的事件时
25、,就要向 Android 框架注册 View. On Click Listener。 ( 2)中介软件 本科毕业设计论文 10 操作系统与应用程序的沟通桥梁,应用分为两层:函数层( Library)和虚拟机( Virtual Machine)。 Bionic 是 Android 改良 libc 的版本。 Android 同时包含了 Webkit, 所谓的 Webkit 就是 Apple Safari 浏览器背后的引擎。 Surface flinger 是就 2D 或 3D 的内容显示到屏幕上。 Android 使用工具链 (Toolchain)为 Google自制的 Bionic Libc。
26、Android 采用 Open CORE 作为基础多媒体框架。 OpenCORE 可分 7 大块:PVPlayer、 PVAuthor、 Codec、 PacketVideo Multimedia Framework(PVMF)、 Operating System Compatibility Library(OSCL)、 Common、 OpenMAX。 Android 使用 skia 为核心图形引擎,搭配 OpenGL/ES。 skia 与 Linux Cairo功能相当,但相较于 Linux Cairo, skia 功能还只是雏形的。 2005 年 Skia 公司被Google 收购, 2
27、007 年初, Skia GL 源码被公开,目前 Skia 也是 Google Chrome 的图形引擎。 Android 的多媒体数据库采用 SQLite 数据库系统。数据库又分为共用数据库及私用数据库。用户可通过 ContentResolver 类( Column)取得共用数据库。 Android 的中间层多以 Java 实现,并且采用特殊的 Dalvik 虚拟机( Dalvik Virtual Machine)。 Dalvik 虚拟机是一种“暂存器型态”( Register Based)的 Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。 Dalvik 虚拟机可以有多个实例(
28、 instance), 每个 Android 应用程序都用一个自属的 Dalvik 虚拟机来运行,让系统在运行程序时可达到优化。 Dalvik 虚拟机并非运行 Java 字节码( Bytecode),而是运行一种称为 .dex 格式的文件。 ( 3)硬件抽像层 Android 的 HAL(硬件抽像层)是能以封闭源码形式提供硬件驱动模块。HAL 的目的是为了把 Android framework 与 Linux kernel 隔开,让 Android 不至过度依赖 Linux kernel,以达成 kernel independent 的概念,也让 Android framework 的开发能在
29、不考量驱动程序实现的前提下进行发展。 HAL stub 是一种代理人( proxy)的概念, stub 是以 *.so 档的形 式存在。 Stub 向 HAL“提供”操作函数( operations),并由 Android runtime 向 HAL 取得 stub 的 operations,再 callback 这些操作函数。 HAL 里包含了许多的 stub(代理人)。Runtime 只要说明“类型”,即 module ID,就可以取得操作函数。 2.1.3 系统移植主要工作 Android 系统的移植工作的目的是为了在特定的硬件上运行 Android 系统。在移植的过程中,把握关键要点,减少工作量是一个重要的方面。从工作的角度,通常的方法为,首先要 熟悉硬件抽象层的接口,其次要集成和复用已有的驱动程序,主要的工作量在硬件抽象层的实现中。为了更好地理解和调试系统,也应该适当地了解上层对硬件抽象层的调用情况。