互联网电饭煲管理手机客户端软件开发(android版本)-附件.doc_第1页
互联网电饭煲管理手机客户端软件开发(android版本)-附件.doc_第2页
互联网电饭煲管理手机客户端软件开发(android版本)-附件.doc_第3页
互联网电饭煲管理手机客户端软件开发(android版本)-附件.doc_第4页
互联网电饭煲管理手机客户端软件开发(android版本)-附件.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科毕业设计论文附件题目:互联网电饭煲管理手机客户端软件开发(android版本)作者姓名 指导教师 专业班级 通信工程1002班 学 院 信息工程学院 提交日期 2015年6月18日目 录一、文献综述二、外文翻译三、开题报告四、指导教师评语五、论文评阅人评语六、答辩记录七、毕业设计成果演示记录表八、教师指导记录表九、毕业设计进程考核表一、文献综述互联网电饭煲管理手机客户端软件开发(android版本)姓名 XXXX 专业班级 通信工程1103班摘要:随着社会的不断发展,科技的不断进步,人们的生活品质也随之不断提高,于是人们对住宅的设施环境有了更高的要求,更舒适、更便捷、更安全的智能家居系统无疑成为了人们追求的方向,因此在不久的将来智能家居系统必然将会成为人们居住生活中不可或缺的一部分。而随着移动互联网技术的发展,云技术与物联网技术逐渐融入到了人们的生活中,智能家居使用控制的实时性和便捷性被随之大大提高,使基于移动平台的智能家居应用程序成为了智能家居系统中不可或缺的一部分。其中基于Android操作系统的智能家居APP更是其中的重要组成部分。关键字:智能家居、Android、Bluetooth1 智能家居系统概述1.1智能家居简介智能家居(Smart Home),又被称为家庭自动化(Home Automation),它是利用网络通信技术、安全防范技术、综合布线技术等将家居设备构建成一个完善的管理系统,以用来提升家居使用的便利性、实时性、安全性、舒适性10 15。良好的智能家居系统要求能够提供以下几种服务:1.实时在线的网络服务:实时地与互联网连接,以便于云端数据库能够完善地记录好家电设备的使用情况和状态,做好日志记录。2.智能化的安全防范:提供良好的加密措施,以防范安全入侵,并且实时监控家居设备的使用状态,一旦发生突发状况能够立即提供相应的提示与处理,以确保系统使用者能够安全便捷的使用家电设备。3家电的远程控制和智能控制:用户可以通过网络在PC端或者移动端实时地控制家电设备,并且根据自己的需要对家电设备进行远程操作,并获取家电设备的使用情况及其他状态信息。1.2智能家居的现状及发展自1984年美国的第一栋智能建筑问世以来,世界上许多发达国家先后提出了各式各样的智能家居系统设计方案,使智能家居系统在许多发达国家得到了广泛的应用。随着近几年物联网技术和云计算的出现与发展,更是让智能家居系统取得了飞速的发展。各国家电厂商如美国的Cerstron、法国的Legrand、瑞士的ABB和中国的海尔纷纷拉起“智能家居”的大旗4。近年来,随着国内政策的大力支持,许多国内家电企业和科研单位开始着力研究智能家居系统,与此同时,随着云计算技术和物联网技术被各大通信厂商应用到了智能家居系统中,智能家居市场必将迎来新一轮的机遇与挑战。1.3智能家居发展将会遇到的瓶颈目前智能家居的发展主要将面临如下五大瓶颈文献12:1.缺乏完善的技术标准,设备之间协议标准有可能不同,整合起来有一定难度9。2.智能家居的专业技术化程度非常高,不容易普及。3.各家智能家电设备生产商生产的设备可能无法兼容,很难形成统一的整合解决方案。4.智能家电设备的价格可能过高,无法普及到普通家庭中。5.隐私与安全问题依旧存在,一旦出现安全问题,用户的信息泄露和家电设备的不可控制性可能难以挽回的后果14。2 Android系统介绍2.1 Android系统简介Android是一个基于Linux基础的开源操作系统,由Google公司及开放手机联盟领导和开发5。它主要应用智能家居移动电话领域,包括智能手机和廉价功能机。然而Android优秀的扩展性和强大的硬件支持已经使它扩展到平板电脑、可穿戴设备、智能家居等领域。如今Anroid已经超越IOS,成为全球用户最多的智能手机操作系统1, 2。Android的特点:1.应用框架能够重复使用,组件可以替换。2.针对移动终端优化的Dalvik虚拟机。3.提供了SqLite数据库4.提供了优秀的图形系统,能够支持2D、3D图形渲染。5.集成了基于WebKit引擎的浏览器。6.支持多种音频、视频格式的多媒体函数库7.支持蓝牙通信、3G和WIFI联网。8.多样的开发环境,包括模拟器以及基于Eclipse开发平台的多种插件。2.2 Android的系统架构Android 系统架构是指 Android 操作系统的组成结构,是开发人员编写应用程序的基础7, 8。Android采用了分层架构的思想,如图1所示。从上到下包括四层:应用程序层、应用程序框架层、系统运行库层(包括Android运行时和系统库)和Linux内核3。图1 Android系统架构图各层简介如下:1.应用程序层该层提供Android平台的原生APP,包括电子邮件、日历、游览器、地图、联系人管理等。同时,开发人员可以使用Java语言开发编写各种应用程序使系统更加完善便捷。2.应用程序框架层该层是Android应用开发的基础,它给开发人员提供了通知管理器、活动管理器、窗口管理器、内容提供器、资源管理器、视图管理器、包管理器、电话管理器、位置管理器和XMPP服务十大组件。在Android平台中,开发人员能够使用这些组件构建出 应用程序,同时可以通过继承机制对APP进行个性化拓展。3.Android运行时该层包括核心库和Dalvik虚拟机。前者为开发人员提供了Java API和Android API。后者是专门为移动设备设计的基于寄存器的虚拟机。主要是用于完成堆栈的管理、生命周期的管理、线程的管理、垃圾回收以及异常和安全的管理。4.系统库该层由九个子系统组成。分别为:Surface Manager图层管理,用于管理多个应用程序的界面显示和数据存取,以及2D、3D图像的无缝合成。Media Framework媒体库,支持多种流行音频视频格式,以及各种静态图片格式。SQLite一个轻量却又强大的数据库,可应用于所有程序,提供结构化数据存储。OpenGLEState支持硬件及软件加速的3D绘图数据库。FreeType提供矢量及位图字体的描绘和显示。WebKit一个开源的浏览器引擎,同时支持内置浏览器和WebView组件SGL底层2D图像引擎11,它是Android界面渲染的基础。SSL一种为网络通信提供保障的加密协议。LibcC函数库。一个用于移动终端的标准C系统实现。5.Liunx内核Android基于Linux2.6的核心系统服务,如:安全性、进程管理、网络协议、 内存管理和驱动模型。Liunx内核也是软件与硬件之间的抽象层。它为开发人员提供了许多基础驱动,如:显示驱动、摄像头驱动、Flash驱动、Binder驱动、键盘驱动、wifi驱动、Audio驱动和电源管理等3。2.3 Android应用程序组件在进行Android操作系统的应用程序开发之前,了解系统应用程序的结构及其构成的组件是十分必要的。Android操作系统的应用程序结构并没有统一的main()函数入口,各个应用程序相互独立,各自运行在其自身的进程中。Android操作系统的组件主要有四种。分别为:Activity、Service、Broadcast Receiver和Content Provider13。1.Activity13在一个Android应用程序中,一个Activity就是一个单独的可供用户使用的界面。Activity之间是相互独立的,每个Activity都是一个单独的类,但它们共同继承了Activity的基类。一个应用程序由一个或多个Activity组成,具体数量由应用的设计者确定,通常来说,有一个Activity需要被标记为该应用程序启动时首先显示给用户的界面。每个Activity默认的将由一个窗口绘制,通常情况下,此窗口将填满整个屏幕,但也可以比屏幕小或者悬浮在另一个窗口上。2.Servicesservices是一个用户不可见的组件,它运行在系统后台,继承自Service类。我们可以通过连接或绑定一个正在运行的service,连接之后,我们可以通过一个接口与service进行交流,例如对于music service,该接口可以允许用户进行暂停,停止,前进后退或重新播放操作。service在进程的主线程中运行,因此它不会阻塞其他组件。3.Broadcast receiversBroadcast receiver组件的作用是响应整个系统的广播通知。这些广播通知大多是由系统产生。如电量不足,系统语言更改,时区变化等。同样的应用程序也可以发出各种各样的广播。Broadcast receiver不会显示用户界面,但它们可以创建一个状态栏通知来提示用户广播事件的发生。更普遍的情况是,一个Broadcast receiver只作为一扇通向其他组件的大门,例如通过一个广播事件来启动一个Service。4.Content providers13Content providers的作用是管理一组共享应用程序数据。我们可以把这组数据存储在SQLite数据库、互联网、文件系统以及任何我们的应用程序可以访问的持久化存储设备中。通过Content provider其他的应用程序能够查询甚至修改(在被允许的情况下)这些数据。如管理联系人信息的Content provider,在获取了相应权限的情况下任何应用程序都可以访问到这个Content provider管理的数据,并用于读取或者修改其中的信息。2.4 Android的未来展望自从Android操作系统问世以来,它的市场占有率一直在不断增加,包括三星、魅族、小米、LG等手机制造商陆续推出了基于Android操作系统的智能手机和平板电脑,组成了强大的Android阵营。由此不难看出,Android及基于Android的应用在未来有着非常诱人的前景。3 Bluetooth在系统中的应用过去十年里家庭电子产品有了显著的进步。各式各样的智能家电如手机、空调、家居设备、家庭影院将实现智能家居的理念。这些家电形成了家庭环境内的个人局域网,所有设备通过单个控制器被互相联系和监控起来。智能家居网络是一个很有吸引力的市场,特别是针对身体缺陷的繁忙家庭和个体。一个不需要额外架线支出的无线家庭网络将会是我们需要的。在1990年代末出现的蓝牙技术是实现这个目的的理想方案。蓝牙无线技术将彻底改变人类认知家庭和办公室环境电子设备的观念。现在它们不再仅仅是单独的设备;相反,通过一个内嵌的蓝牙技术它们形成了一个设备间可以相互联系的网络6。在家庭环境中这个无线技术特别有用。在智能家居系统中,它能以比较经济的方式被使用。在无节制,普遍可用的2.4 GHz 频率下,它能以1 Mbps的速度联系到10m范围内电子设备 (通过提升传输功率可以扩展到100m)。为建立这个项目,我们提出了可以应用蓝牙技术的智能家居系统6。在没有外网的情况下,我们可以通过蓝牙对接技术使自己的移动端设备与智能家居设备进行连接,以用于控制操作智能家居设备。4 未来的研究方向家电设备的智能化、便利化必将成为未来研究的方向。随着云技术与物联网技术的兴起,通过移动端或者PC端远程控制家电设备必然将会深入到人们的日常生活中,一个庞大而又安全的物联控制系统将会随着科技的发展逐渐建立起来。相信在不久的将来智能家居系统就会像手机电脑一样成为我们居住生活中必不可少的一部分。研究智能家居系统有着十分广阔的情景。5 结束语随着科技的发展,智能家居系统必将融入到每一个家庭之中。更加智能化、远程控制便利化的家电设备系统将成为各大家电厂商的研究方向。如何使智能家居系统更加便利、安全、可靠、低成本将是我们需要解决的问题。本文简单介绍了智能家居系统,Android系统及智能家居系统中蓝牙技术的应用,分析各自的现状及发展方向。参考文献1 李涛. 基于Android的智能家居APP的设计与实现 D. 苏州大学, 2014.2 李刚. 疯狂Android讲义(第二版) M. 北京:电子工业出版社, 2013.3 杨胜利. 基于 Linux 的 Android OS 平台应用浅析 J. 科技传播, 2011, (9): 180-207.4 岳敬华. 基于云服务的智能家居系统的研究与设计 D. 杭州电子科技大学, 2013.5 王运红, 何灵娜. 基于Android平台智能家居客户端的设计与实现 J. 机电工程, 2014,31(8): 1086-1089.6 N.Sriskanthan*,F.Tan,A.karande. Bluetooth based home automation system.Microprocessors and Microsystems 26(2002)281-289.7 姚昱旻, 刘卫国. Android 的架构与应用开发研究 J. 计算机系统应用, 2008,17(11): 110-112, 24.8 张娜. Android系统架构研究与应用 D. 西安科技大学, 2012. 9 张伟宏. 论物联网下智能家居发展及趋势A.电脑与信息技术,2014-6.10 傅嘉. 智能家居爆发元年 N. 中国证券报, 2015-01-12.11 杨威. 基于Android的智能家居系统的研究 D. 太原科技大学, 2014.12 沈澈. 智能家居发展五大瓶颈 J. 中国公共安全, 2014, (8): 10-13.13 Elisha C. Android Architecture and Libraries Every Android Developer Should Know Z. Simple Developer, 2013-9-28.14 胡向东, 韩恺敏, 许宏如. 智能家居物联网的安全性设计与验证 J. 重庆邮电大学学报, 2014, 26(2): 171-176.15 叶高扬, 毕冉. 基于物联网的智能家居系统设计与实现 J. 计算机应用, 2014,34(S1):318-319,315.二、外文翻译基于蓝牙技术的家庭自动化系统N.Sriskanthan*,F.Tan,A.karande.School of Computer Engineering, Nanyang Technological University,Nanyang Avenue, Singapore翻译人 XXXX 专业班级 通信1103摘要:过去十年里家庭电子产品有了显著的进步。各式各样的智能家电如手机,空调,家庭安全设备,家庭影院将实现智能家居的理念。这些家电形成了家庭环境内的个人局域网,所有设备通过单个控制器被互相联系和监控起来。家庭自动化网络是一个很有吸引力的市场,特别是针对身体缺陷的繁忙家庭和个体。一个不需要额外架线支出的无线家庭网络将会是我们需要的。在1990年代末出现的蓝牙技术是实现这个目的的理想方案。这篇文献描述了家庭自动化和网络环境下的无线技术应用。文献里提出了一个包含了一个远程的,可移动的主机控制器和几个客户机模块(家电)。客户机模块通过蓝牙设备与主机客户端联系。关键字:蓝牙技术、微控制器、家庭自动化、无线网络1 介绍蓝牙无线技术将彻底改变人类认知我们家庭和办公室环境的电子设备的观念。现在它们不再仅仅是单独的设备;相反,通过一个内嵌的蓝牙技术它们形成了一个设备间可以相互联系的网络。在家庭环境中这个无线技术特别有用,但是在基础设施上互相联系的智能设备非常少。在家庭自动化里,它能以比较经济的方式被使用。在无节制,普遍可用的2.4 GHz 频率下,它能以1 Mbps的速度联系到10m范围内电子设备 (通过提升传输功率可以扩展到100m)。建立这个项目;我们提出了基于蓝牙技术的家庭自动化系统1-2。其中有一些设计家庭自动化系统的问题需要解决。系统应该是可扩展的因此新的设备能够轻易融入当中。它应该能提供一个容易使用的主机端界面,因此设备可以被设置,监控和控制。另外,界面也能提供一个诊断服务以便追寻系统内的问题。整个系统能够快速认识到无线技术的真实实力。它又是省钱的为了证明它在家庭自动化中的应用。在这个研究中的系统由实现在个人电脑(PC)上 的主控器 (HC)和一个基于温度传感器/风扇控制器的微控制器组成。它能够通过蓝牙连接与主机交流。这个系统是基于家庭自动化协议(HAP)。我发明的这个系统是为了促进家庭自动化网络主从式通信的发展3。这个协议确保了一个优先化的,连锁交换的数据。它也支持动态增加或去除网络中的设备。PC客户端界面提供了设备注册,控制和诊断设施。我们用了来自爱立信公司的蓝牙开发包。一个微控制器被用作为一个客户端模块的设备控制器。这篇文献是如下安排的。第二章节解释了什么是HAP。第三章节描述了客户端界面和主系统蓝牙接口的显著特征。在第四章节,我们给出了温度传感器和风扇控制器电路系统以及它通过I2C线的微控制器的接口。第五章节讨论了蓝牙蓝牙接口的微控制器和其固件的发展。最后我提出了一些在这个领域的若干建议。2 家庭自动化协议家庭自动化协议 (HAP) 促进了家庭自动化系统中主客模块的交流。交流涵盖了设备初始化过程和数据处理过程。协议由蓝牙软件栈构造7。它遵循了由蓝牙特别兴趣小组(SIG)提出的层模式。考虑到家庭自动化环境的要求,HAP是基于蓝牙协议体系架构的核心,它由 三个栈组成:逻辑链路控制与适配协议 (L2CAP)服务发现协议 (SDP)RFCOMM (串行电缆仿真协议) 协议HAP设备初始化过程使用了增强型SDP功能来查询信息和服务。L2CAP 提供了HAP与协议多路复用功能,分割与重组操作的数据服务。REFCOMM促进了无线通信并提供了家庭自动化服务的运输能力。一个基于家庭自动化系统的典型蓝牙包括一个主端和一些客户端模块。考虑到蓝牙的进口夹克,它将会是连接蓝牙设备的多设备控制器(DC)中性价比最高的。图2-1中有每一个DC和控制多路的设备(AD)。图2-1 基于蓝牙的家庭自动化系统(a)主机和客户端在一个蓝牙网络中(b)一个单独的客户端模块2.1 家庭自动化描述符表主机需要存储关于所有网络中活跃的设备信息。相似的,一个DC需要存储直接附属在设备上的信息。信息以描述符号被存储。DC上描述符号的格式和主机被分别展示在表1和表2中。描述符表术语解释:AD 附加设备的IDTOD 附属设备的类型 (I2C 地址)I_SIZE 一个设备中指令大小(字节)D_SOZE 一个设备中数据大小 (字节)D_NAME 设备名字,一个空结尾字符串 (32位)RW 读写访问:只读 ($00),只写($01),读和写($02)PRIORITY 不同AD间的优先权STATUS 设备的三个状态:行将发生的($00),ACK ($01), NACK ($02)表2-1 DC描述符表附加设备的ID设备的状态7位2位 表2-2 主机描述表TODI_SIZE + D_SIZED_NAMERWPriority7位2位+3位32字节2位7位2.2 协议描述图2-2 展示了HAP流程图。四个图中有索引的活动如下:(1) DS 搜寻了所有存在的AD并把它们放在DC描述符表。(2) HC 搜寻了DC数据库的设备信息并组成了描述符表(3) HC 周期性的检查了每个DC的状态并要求它检查了设备(4) DC搜寻了所有设备并把反馈信息发送回来。如果新的设备被发现,DC会发送设备检测包(DDP)。如果一个设备未被发现(移除),DC会发送设备移除包(DRP)。运作顺序可以被分为以下三个不同过程。2.2.1 设备初始化过程1. 重设中,HC发送设备检查包(DCP)到每个DC上。DC检查了AD并发送了DDP到每个发现设备的主机。2. 如果HC上发现AD信息,它会自动突然弹出设备控制窗口。如果使用者接受了发现的设备,一个ACKP会被发回到DC,要不然NACKP会被发送。3. 如果新的AD没被储存到HC,HC会弹出窗口去要求使用者安装新的AD。如果使用者承认并安装了设备,ACKP会被发回到DC,要不然NACKP会被发送。2.2.2 周期检查过程1. 主机周期性发送DCP到DC去检查是否它在正常工作和是否任何新的AD加入或移除。如果HC没有收到DC的回馈,主机会假设DC没有在正常工作或已经被移除。HC会停止传输任何信息到DC上的AD。2. 运作DCP中,DC发现一个新的AD或一个被移除的AD,它会发送DDP或DRP到HC。根据是否HC承认与否,DC会更新本地描述附表。2.2.3 数据传输过程1. 为了控制AD或检索AD状态信息,CMDP( 命令包) 会被从HC发送到DC。2. 如果DC收到的包控制了AD,没有数据被要求返还,在执行必要命令后,一个ACKP会被发送回到HC。章节2.3描述了所有包的格式。2.3 包格式下面是包格式的缩写。PIT 包鉴定者表明了包的类型。DC t AD 定义了设备控制器和附属设备。I_SIZE 一个设备中指令大小(字节)D_SOZE 一个设备中数据大小 (字节)INSTRUCTION 定义了指令内容DATA 定义了数据内容(1) DDP( 设备检测包)。这个包告知主机一个依附在网络上新的设备需要被安装 (表3)。(2) DRP (设备移除包)。这个包告知主机设备已经被移除 (表4)。(3)DCP (设备检查包)。这个包告知DC去发送回一个确认函到HC并检查AD的状态(表5)。(4) ACK (回应确认包)(表6)。(5) NACK (未回应确认包)(表7)。(6) CMDP (命令包)。这个包由HC发送去控制AD或要求AD状态信息 (表8)。(7) DATAP (数据包)。这个包传输设备信息返还到主机上(表9)。图2-2 家庭自动化系统的改造过程图表2-3 设备检测数据包PITDC+AD$003位+7位表2-4 设备移除包PITDC+AD$013位+7位表2-5 设备检查数据包PITDC$103位表2-6 确认包PITDC+AD$B13位+7位表2-7 未确认包PITDC$B03位+7位表2-8 命令包PITDC + ADI_SIZE + D_SIZE说明数据$A03位+7位2位+3位表2-9 数据包PITDC + ADD_SIZE数据$A13位+7位3位3 蓝牙家庭自动化PC软件蓝牙家庭自动化PC软件模块是其他DC主要的主机控制应用(HCA)。HCA为使用者提供了三种主要服务。1. 设备注册2. 诊断设施3. 设备状态和控制。3.1 设备注册家庭自动化系统支持即插即用方法。它是一个容易被加入到系统的新设备8.为了控制动态增加的新设备并降低客户软件的复杂性,HCA中储存了一个设备数据库9。这个设备数据库储存着类似PC中打印机驱动程序设备。如果新设备需要被加入,她可以通过设备注册设施加入。数据库可作为每一个客户端模块的驱动。区分每一个设备的信息如下。整个数据库储存在系统Windows目录中的初始化文件里。初始化文件也包换了要求安装串口与蓝牙工具包通信的其他用户设置。菜单包括一个打开的文件选项,它允许一个从磁盘里加载的初始化文件。相似的,为了备份,一个保存文件选项会允许这个文件保存在磁盘里。在程序启动时,一个图形用户界面(GUI)会显示出来。每一个注册过的设备的信息会被加入到设备列表上。当用户选择了注册选项卡,这个设备列表和每一个选择的设备信息会展示出来供使用者选择。每一个设备信息展示之后,使用者可以选择编辑选择设备的信息或者增加新的设备。如果这个选择项都没被选中,一个新的界面会以相同类型的形式展示出来,它允许使用者改变存在的设备信息或者进去一组新信息,然后注册成为一个新设备。3.2 诊断实用程序诊断使用程序提供给HC一个测试在运用层蓝牙和与之连接DC通讯的方法。它允许用户去连接HCA和DC并传送数据到DC。这个程序在发展阶段很有用并对解决问题至关重要。访问程序功能也是通过了操作简便的GUI。启动时,在用户设置菜单上的正确的串口会在一个特别的波特率被连接。在应用终止之后,用户设置菜单会被保存在初始化文件里。连接到一个特殊的串口后,用户可以诊断蓝牙功能。HCA上的蓝牙功能包括重置,连接ACL(异步无连接)或者SCO(同步连接),断连,咨询,致辞和传送数据。一个来自HCA的正常数据运作顺序如下:1. 执行复位操作来初始化蓝牙。2. 执行询问操作去搜寻所有微微网上的蓝牙设备。3. 获得客户蓝牙地址后,一个连接ACL操作到这个地址呗要求设置数据传输的连接。4. ACL连接成功后,数据会进入数据文本框并通过运送操作送到客户端。5. 所有数据传输之后,一个断连操作会被执行去终止蓝牙连接。3.3 设备状态和控制设备状态和控制应用主要用来控制和监控AD.与诊断使用程序箱单,它也可以用来获得AD的状态信息并控制设备,设备状况。控制应用在隐藏层有相同的功能。在使用GUI注册过程中一个AD列表会被展示出来。当一个AD被选择时,;来自隐藏层的相连接的设备信息会被得到。隐藏层由ACL连接,数据传输和断连操作组成。数据船速和断连操作符合协议中HC和DC间同步传输的规定。另外,协议提供了为了不同目的准备的不同种类的包,所有操作都在隐藏层执行。在这一层用户不会考虑包格式和HC,DC间的协议。除了获得AD状态外,用户也可以选择控制AD。当用户选择了AD,控制选项,控制值可以被发送到AD。依据设备类型,DC能够使用这个鞋值去控制AD。4 硬件设计和发展温度传感器/风扇控制器电路通过发展已经被证明了它应用上的可行性和有效性。基于家庭自动化系统的蓝牙硬件界面部件由微控制器-转换器界面,它通过微控制器和蓝牙间I2C 总线 和RS232 link。因此,微控制器作为DC,而温度传感器/风扇控制器IC作为AD。4.1 微控制器-转换器界面为了最大化减少整个系统的费用,多种家电连接到一个蓝牙并有一个或多个微控制器监控的方法比较合适。I2C 总线是适用于这样网络的合适选择。I2C主要由菲利普半导体公司发明,是串行同步总线的首字母缩写10,11。目前,总共有超过1000种注册有赋值地址的许可组件的设备和各种I2C 总线协议的增加版本。4.2 I2C 协议I2C 总线通过2根导线实现设备之间的串行数据通信。一根线叫做SCL (同步时钟)而另一个被认作SDA(同步数据)。总线上的设备可能是多主机,单主机环境或者被动式。主机设备产生时钟信号并启动总线上的数据传输。图4-1展示了一个典型了I2C总线的操作环境,微控制器A和B可以以主从或被动式运作而周边设备只以被动式运作。4.3 房间温度控制系统系统由一个温度传感电路和风扇控制电路组成,分别用来跟踪和调控室温,可见图4-2。选择的控制IC包含一个精确的数字温度器,从远程传感器和一个风扇控制器来测量温度。控制IC,从一个程序员的角度来说,看起来像是包含温度数据,报警阈值或者控制位的一组字节寄存器。WHI 寄存器决定了温度传感器能感应的最高温度极限(Thigh)而WLOW寄存器可以决定最低的温度极限(Tlow)。这些可以被轻易调整的数值来测量室温从而提高温度测量的分辨率。WCRIT 寄存器确定了系统的临街过热温度值(TCRIT)。RTEMP包含了感应远程二极管之后由ADC提供的最近温度。当在RTEMP 存储器超过了用户定义的温度范围也就是数值THIGH和TLOW,ALERT会中断。 微控制器会被启动告知控制IC通过启动风扇来做特定任务。当RTEMP寄存器里的数值等于或草果了TCRIT 值,OVERT 中断激活。这是,微控制器会被启动敲警钟。芯片也有一个连续性故障检测器来检测是否远程二极管到GND是一个开路状态还是短路状态。这个二极管故障也会引起ALERT 中断。这个系统模拟了由用户设置的范围内温度的房间环境。在蓝牙连接打开后,这些数值与DC交流。DC然后通过I2C串口总线产生需要的命令。DC 连续不断的追寻房间温度。如果房间温度超过了THIGH 值,为了降低房间温度,DC会命令控制IC启动风扇。如果TLOW少于或等于预设值,就会用加热器来提升温度,但这目前在这篇报告的范围之外。如果房间温度超过了临街温度,例如,房间发生火灾温度上升,DC会敲响警钟。警钟是由系统提供的安全措施。图4-1 I2C总线多主经营环境范例2图4-2 室内温度控制电路5 软件开发微控制器的固件使用汇编和C语言开发。控制蓝牙的软件模块包括:上电复位后一组启动蓝牙设备的命令,在蓝牙微微网来配置识别它,接受注解的连接请求,建立连接,并处理后续的数据交换。图5给出了精确的上电复位后的事件序列。每一个过程涉及传送/接受通过RS232界面去或来自蓝牙模块的一系列字节。这些字节通过蓝牙L2CAP(逻辑链路控制与适配协议)包格式;例如,L2CAP指令开始于字节0 01,L2CAP数据包开始于字节0 02,等4。图5-1解释了过程的重要性重置 这是一个L2CAP指令。这个命令重置了蓝牙模块,通常在上电复位后使用。扫描 这个L2CAP指令设置了备用扫描模式的模块。在这个模式中,一个蓝牙模块等待 这加入能识别自己的微微网。自动接收 这个指令设置了自动接收模式的模块,它可以立即接收来自主机的连接请求。接收到这些命令之后,蓝牙模块发送回一个告知。最后,在ACL(或者SCO)连接建立后,它会给微控制器发送一个数据包。这个包包含了连接手柄,主机地址等信息。一旦连接简历,它会一直保持有效直到HC或DC跳出。然后DC等到来自HC的命令。当SC收到了来自蓝牙模块的命令,它会抽取出真实的来自L2CAP 信封的HAP指令,识别它,执行它,并为了传输发送告知或者数据包到蓝牙模块。微控制器开发了基于I2C总线控制模块的软件。它操控了微控制器的2个I/0 针,因此,I2C协议通信会通过这两个针执行。家庭自动化,HCA软件会在PC来以主机形式运行。在上面解释过得微控制器以DC形式运行。通过测试确保了这个系统与家庭自动化协议的一致性。通过蓝牙设备,建立了PC和微控制器的通信连接。主机成功的控制了温度传感器和风扇控制器的预设值。执行和测试HAP的步骤如下:在PC上注册温度传感器和风扇控制器并提供AD地址打断和回应来自主机的指令的功能被加入到微控制器程序中。它包括从AD上读取的温度和根据来自主机指令的风扇速度调控。主机和DC都被重置。ACL连接建立后,HC会要求DC检查注册过的设备。DC收到来自温度传感器的告知并反馈到主机。现在,每一次DC收到命令,它会检查它是否适用于它,如果是,然后它检查在命令中哪一个AD会被从特地的位域处理。主机发送温度数据的请求。DC中断HAP指令并执行访问传感器和读取温度的功能。它会发送温度数据到主机。类似的,它会通过访问AD和检查来反应来自主机的周期检查指令。因此,协议的功能被证实了由单个DC组成的网络。由特定位域组成的HAP会识别不同的DC和相应的AD。因此,系统可以轻易的扩展到适应不同的DC。这样的系统可以被测试,如果不同的蓝牙设备存在的话。HAP独立于低层的蓝牙协议,它被设计成运作在蓝牙设备的微微网中。图5-1 建立ACL连接的改造图6 结论和建议这个论文的目的是开发基于蓝牙无线技术的家庭自动化系统。结果显示,在家庭环境中,允许用户监控和控制不同设备的HAP。系统已经被证明了其具备开发房间温度控制系统的功能。这个项目的本质是它提供了更为宽阔的开发空间。在这个系统中,错误检测和修正设备是在蓝牙层面唯一能够运用的。相似的设备能用在应用层面开发。另外,一个避免周围家庭自动系统干扰的安全措施也能被综合到应用当中。使用多种蓝牙设备,HAP的功能可以在更大的网络中测试。在这个项目中,我们使用了DC和AD间的I2C界面。一个可以发展的可能是更快 的设备或者电源线接口的平行界面。在我们的应用中,蓝牙模块仅仅与一个DC相连。然而,一个可能性是一个蓝牙模块和DC间的多点RS232界面。当然,在一个理想的情形下,每一个设备会有它自己的蓝牙模块。在因特网和相关科技爆炸发展的今天,家庭系统看上去正在进入这个市场。当今的家庭办公室观念下,消费者通过因特网控制自己的房屋是可行的。我们的房屋系统里,HC以PC的形式,因特网连接可以轻松的建立和控制。在这个方向的发展,真正的无线会实现家庭自动化的目标。参考文献1 The official Bluetooth website from Bluetooth SIG www.B, Date viewed: March 21, 2001, Bluetooth Specification Version1.1.2 Bluetooth Committee, Specifications of the Bluetooth System (Core),December 1999, V1.0B.3 Home System Specification, EHS, 1997.4 Ericsson Mobile Communications AB, User ManualBluetooth PC Reference Stack, 1543 VNX 2/901 184 Uen Version R1a, April 2000.5 I.S. McKenzie, The 8051 Microcontroller, Prentice Hall, Upper Saddler River, NJ, 1999.6 Phillips Semiconductors, 87C51 8-bit Microcontroller Data Sheet,1999.7 Bluetooth Committee, Profiles of the Bluetooth System (Profiles),December 1999, V1.0B.8 J. Kelsey, Programming Plug and Play, Sams Publication, 1995.9 USB Design By Example, A Practical Guide of Building I/O Devices,John Hyde, Wiley, New York, 1999.10 Philips Semiconductors, The I2C Bus Specification, Version 2.1,January 2000.11 Philips Semiconductors, The I2C Bus and How to Use It (Including Specification, Version 1.0), Technical Manual, 1997.12 I2C Serial Bus Analyzer, N. Sriskanthan, Tan Sue Lim, IWNA01,Singapore, 2001, p. 106114.13 Maxim Integrated Products, Max233 12V Line Driver Chip Datasheet, 2000.14 Maxim Integrated Products, MAX1669 Fan controller and Remote Temperature Sensor Datasheet, 2000.15 W. Stalling, Data and Computer Communications, Prentice Hall,Englewood Cliffs, NJ, 1997.Android开发者应该知道的Android体系架构和开发库Elisha ChirchirEssential Elements LLC翻译人 XXXX 专业班级 通信1103 摘要:Android的体系架构鼓励组件重用,允许开发者发布和分享Activity、Service并且访问其它应用程序中被安全管理的的数据内容。话虽如此,现在我将分享一些关于Android架构和开发库的信息,供开发者使用。关键字:Android、体系架构、开发库1 引言Android的体系架构鼓励组件重用,允许开发者发布和分享Activity、Service并且访问其它应用程序中被安全管理的的数据内容。话虽如此,今天我将分享一些关于Android架构和开发库信息,供开发者创建下一个杀手级应用使用。准备好了吗?请继续下面的阅读!图1-1 Android系统架构图不要被图1-1吓倒,你不必在今天或者以后知道上面所有的东西。Android的架构的机制,使您能够生产出替代的联系人管理器或电话拨号器可以让你暴露你的应用程序组件,让其他开发人员创建新的用户界面(UI)前端和功能扩展或以其他方式建立在他们!怎样奇妙的是吧?Android架构支持开发者创建自己的联系人应用或者电话拨号程序。你可以公布自己应用的组件,让其他开发者在此基础上创建新的用户界面,进行功能扩展或者其他工作!这是多么奇妙啊!2 剖析Android体系架构第一个列表将向开发者展示应用服务,这些服务是Android的架构基石。你也可以称它为所有的Android应用程序的支柱框架,为所有开发应用提供支持。Activity Manager:控制界面的生命周期,包括管理活动(Activity)栈。Views:Views为应用程序构建用户界面。Notification Manager:提供一贯的非侵入式的机制来通知用户(例如:当你正在玩游戏时有人给你发短信,通知不会终止你的游戏,你会听到一个声音提示)。Content Providers:让开发者在不同应用程序之间共享数据。Resource Manager:支持非代码资源,如字符串和图形被外部化。现在你对第一个主要部分有了解,我们可以看看Android库,这将使开发Android应用程序更加容易和有趣。正如你所知道的,这些都只是简短的描述,可以通过我分享的链接了解更多!3 开发者需要知道的Android库Android也提供了大量的API开发应用程序。所以在这个列表中,将帮助开发者了解哪些是可用的核心API。所有的Android设备将提供至少这些API支持:android.util:核心工具包中包含底层类,字符串格式化和XML解析工具、底层类。android.os:操作系统包提供了访问基本的操作系统服务,如消息传递、进程间通信、时钟功能和调试。android.graphics:图形API提供了支持画布、颜色和绘制图元的低级别的图形类并且支持绘制画布。android.text:用于显示和解析文本的文本处理工具。android.database:在数据库处理游标时提供底层类支持。android.content:content API管理数据访问,提供服务来管理资源、内容提供者(content provider)和包。android.view:视图是核心的用户接口类。所有用户界面元素使用的是一系列视图,以构成用户交互的组件。android.widget:内置在View包内,小部件类是“这里是我们前面创建的”用户界面元素,可以在自己的应用程序中使用。包括列表、按钮和布局。com.google.android.maps:高级的API,它提供了访问本地地图控件,可以在自己的应用程序中使用。包括MapView的控制、用于标注和控制您的嵌入式地图的叠加以及MapController类。android.app:一个高层次的包,允许访问应用程序模型。该应用程序包包括Activity和Service的API等是Android应用程序的基础。vider:方便开发者访问标准的内容提供者(比如联系人数据库),provider包提供类给开发者访问标准的数据库。android.telephony:telephony API让开发者直接接触电话底层,开发者可以打电话、接电话、显示通话记录、通话状态和短消息。android.webkit:WebKit的软件包功能的API与基于Web的内容的工作,其中包括一个WebView控件在您的活动中嵌入浏览器和cookie管理器。同样,你刚才看到的是Android的库可以帮助您快速构建应用程序的简化列表!除了在Android API,Android栈还包括一组的C/C+库,可通过应用程序框架发布出来。它们包括:OpenGL:用于支持基于OpenGL ES1.0 API、3D图形库。FreeType:这支持位图和矢量字体渲染。SGL:用于提供2D图形引擎的核心库。ibc:标准C库,为基于Linux的嵌入式设备进行了优化。SQLite:用于存储应用程序数据的轻量级的关系数据库引擎。SSL:支持使用安全套接字层加密协议进行安全互联网通信。注意:到此,要介绍的就太多了,我将在这里结束。只是多一个部分,你可以做自己的事情。4 高级Android开发库我们所看到的核心库,到目前为止提供所有开发Android应用程序需要的功能。然而钻研高级API将会使用更高级的功能并带来额外的乐趣。尽管如此,值得注意的是,由

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论