基于Android智能终端的智能家居系统毕业设计_第1页
基于Android智能终端的智能家居系统毕业设计_第2页
基于Android智能终端的智能家居系统毕业设计_第3页
基于Android智能终端的智能家居系统毕业设计_第4页
基于Android智能终端的智能家居系统毕业设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书题目:基于Android智能终端的智能家居系统产品设计工艺设计方案设计√类型:学生姓名:_________________________学号:______________________学院:___________电子信息工程学院____________专业:_________物联网应用技术__________班级:______________________学校指导教师:______________________企业指导教师:_____________________________2015年11月30日【摘要】基于Android智能终端的智能家居系统旨在解决家庭用户的便捷、安全、智能等一系列家居生活的体验,提供一系列的数据分析,为家居中联网的设备进行控制,为用户提供可在手机终端进行控制联网的设备,手机预览监控画面,并对一些操作进行了消息推送、相应设备聊天管理,首页天气推送。因此基于Android智能终端的智能家居系统的全面应用,极大便捷了普通家庭的生活质量和安全基于Android智能终端的智能家居系统采用androidstudio开发androidapp和小型数据库sqlite开发以及极光消息推送的集成和搭建,主要是处理家居中的节点设备的控制、监控画面的预览和各个环节的活动,具有良好的交互界面;手机App主要分为5大模块:首页、控制(场景和单个设备,也可自定义设置)、社区(生活体验,主要有快递查询,电水费的缴纳,更多020项目的推送,如上门洗车,家政服务等一系列便捷生活,还会提供附近智能家居体验馆的体验,炫耀自己的智能指数)、设备(当前连接在线的状态,和实时状态的查看)、我的(个人信息,和相关系统设置)。另附玩一玩功能(暂只开发出《别踩白块游戏》)关键词:android智能终端;智能家居;androidstudio开发环境;Sqlite数据库;数据抓包;目录第一章产品概述 41.1.课题背景 41.2课题目的和意义 51.3国外的研究现状 51.4国内的研究现状 51.5论文内容结构 5第二章需求分析 62.1社会可行性 62.2技术可行性 62.3操作可行性 62.4系统的技术介绍 72.4.1androidstudio的平台简介 72.4.1android的基本架构简介 72.4.2java语言介绍 72.4.3网络数据抓包简介 72.4.4极光推送的介绍 72.4.5sqlite的介绍 72.4.6HTML的介绍 72.5系统开发平台及运行环境 92.5.1系统开发平台 92.5.2运行环境 9第三章系统设计 93.1系统功能模块概述和分析 93.2系统功能模块设计 103.3数据库分析及设计 11第四章系统实现 154.1系统设计 154.2整个APP窗体设计 164.3登陆模块窗体设计 164.3忘记密码模块窗体设计 164.3注册模块窗体设计 164.3第三方登陆模块设计 164.3首页模块设计 164.3控制模块设计 164.3设备模块设计 164.3社区模块设计 164.3我的模块设计 16第五章产品测试 276.1测试的目的与目标 276.2测试方法 276.3测试用例 286.4测试结论 28第六章总结与展望 29第七章参考文献 29第八章致谢 30第一章产品概述1.1.课题背景随着经济的发展社会信息化的程度不断提高,智能家居的概念逐步走进了人们的生活。当前随着我国国民经济水平的提高,科技的发展,人们对自己的生活也有了不一样的要求,目前我国的普通家庭数量较多,比较而言,面对高端的智能家居设备,还是不太会购买,现在我国有着参差不齐的智能家居公司,但一款有着良好的用户体验的App目前还没有。因此,如果有一款使用性很强,用户体验很好的App,我相信也是必然趋势。1.2课题目的和意义在各行各业竞争日益激烈和生活安全受到挑战的今天,提高生活质量和安全是我们每个人都要面对的问题。智能家居最终目的是让家庭更舒适,更方便,更安全,更符合环保。随着人类消费需求和住宅智能化的不断发展。在现代社会中,一款良好的智能家居系统,不仅能实时保证家庭住户由于家中的煤气、电器等引起的家庭安全事故,而且还能为住户周围环境提供全天的安全监控和家中设备的控制。从而改善人们的生活质量和安全、便捷。同时,之所以会确定以基于Android智能终端的智能家居系统作为毕业设计题目,是与自己的经历有密切关系的。因为自己之前在一家网络科技有限公司有过一段实习,对Android开发有一定的经验,逐渐认识到了IT领域的神奇、魔幻、魅力,也逐渐认识到把IT科技融入到我们每个人的生活中有着巨大的市场,而且智能家居市场目前还刚刚起步,处于一盘散沙的状态,所以这也是选这个题目作为自己的毕设课题。本系统的开发适用于Android每个设备,可以帮助每个家庭体验智能、安全、便捷、快乐的家居生活1.3国外的研究现状自从世界上第1幢智能建筑1984年在美国出现后,美国、加拿大、欧洲、澳大利亚和东南亚等经济比较发达的国家先后提出了各种智能家居的方案。智能家居在美国、德国、新加坡、日本等国都有广泛的应用。新加坡模式的家庭智能化系统包括三表抄送功能、安防报警功能、可视对讲功能、监控中心功能、家电控制功能、有线电视接入、住户信息留言功能、家庭智能控制面板、智能布线箱、宽带网接入和系统软件配置等。1.4国内的研究现状我国将住宅小区智能化定义为:利用4C(即计算机、通讯与网络、自控、IC卡)技术,通过有效的传输网络,将多元信息服务与管理、物业管理与安防、住宅智能化系统集成,为住宅小区的服务与管理提供高技术的智能化手段,以期实现快捷高效的超值服务与管理,提供安全舒适的家居环境。随着概念的普及、技术的发展和资本的涌进,国内家电厂商、互联网公司同时抢滩登陆智能家居,其中具备硬科技实力的科技巨头具备更明显的优势和发展潜力。但与此同时智能家居市场也存在乱象,部分产品硬件过硬概念化、部分企业在服务模式和技术支撑层面也出现缺失。1.5论文内容结构论文的第一部分包含第一章,主要介绍毕业设计课题开发的背景、国内外研究的现状及课题的意义;第二部分包含第二、三章,主要是毕业设计系统的可行分析和需求分析等;第三部分包含第四、五章,为此次毕业设计所涉及的开发技术和工具的简介及其环境配置等;第四部分包含第六、七章,主要是毕业设计系统的详细设计和实现;结论为设计的总结部分。第二章可行性分析2.1社会可行性随着计算机技术的发展和网络人口的增加,计算机技术发展到今天,那种封闭的专有系统已经走向消亡。基于浏览器/服务器的体系结构,支持标准网络通信协议,支持标准的数据库访问,支持XML的异构系统互联;实现应用系统独立于硬件平台、操作系统和数据库;实现系统的开放性、集成性、可扩展性、互操作性;这些已成为应用系统必须遵守的标准。

反之,不符合上述标准的系统是没有前途的系统。基于Android智能终端的智能家居系统是人们日常生活中十分重要的一个组成部分,传统的家居生活呈现出褚多不便,在传统家居生活中,随着越来越多的家用电器,人们在操作起来,显得繁杂和无序,很容易造成很多疏漏,最后可能就会导致一些不必要的事故。通过基于Android的智能家居系统,可以更加便捷的管理和操作家用所有电器,提高生活质量和便捷。2.2技术可行性随着经济的发展,社会信息化的程度不断提高,智能家居的概念逐步走进了人们的生活2.3操作可行性目前,android2.2以上都能运行该系统,该系统的安装、调试、运行不会改变原手机系统的设置和布局,并且系统界面简单,提示信息完整,由相关人员指导便能够方便的操作此软件。2.4系统的技术介绍2.4.1androidstudio平台简介AndroidStudio是Google发布的用于Android的开发平台。系统基于

IntelliJIDEA。类似EclipseADT,AndroidStudio提供了集成的Android开发工具用于开发和调试。AndroidStudio的开发环境和模式更加的丰富和便捷,能够支持多种语音,还可以为开发者提供测试工具和各种数据分析。2.4.2android的基本架构简介android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux核心层。1)

应用程序

所有的应用程序都是使用JAVA语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以Activity类为超类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为灵活,与进程类似的是,活动在多种状态之间进行切换。

利用JAVA的跨平台性质,基于Android框架开发的应用程序可以不用编译运行于任何一台安装有android系统的平台,这点正是Android的精髓所在。2)

应用程序框架

应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。帮助程序员快速的开发程序,并且该应用程序重用机制也使用户可以方便的替换程序组件。

隐藏在每个应用后面的是一系列的服务和系统,其中包括;

a.丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。

b.内容提供器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

c.资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件(layoutfiles)。

d.通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。

e.活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。3)

系统运行库

a)程序库

Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应用程序框架为开发者提供服务。

以下是一些核心库:

主要包括基本的C库、以及多媒体库以支持各种多媒体格式、位图和矢量字体、2D和3D图形引擎、浏览器、数据库支持。

1.Bionic系统C库。

2.媒体库,基于PacketVideoOpenCORE。

3.SurfaceManager顾名思义,用于管理Surface。

4.Webkit,LibWebCore浏览器,基于Webkit引擎。

5.SGL底层的2D图形引擎

6.3Dlibraries基于OpenGLES1.0APIs实现

7.FreeType位图(bitmap)和矢量(vector)字体显示。

8.SQLite一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。

另外还有一个硬件抽象层。其实Android并非所有的设备驱动都放在linux内核里面,有一部分实现在用户空间,

这么做的主要原因是可以避开Linux所遵循的GPL协议,一般情况下如果要将Android移植到其他硬件去运行,

只需要实现这部分代码即可。包括:显示器驱动,声音,相机,GPS,GSM等等。

b)Android运行库

Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。

每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。

Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。

Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。

同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。

Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

4)

Linux内核

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

Linux内核也同时作为硬件和软件栈之间的抽象层。其外还对其做了部分修改,主要涉及两部分修改:

a)Binder

(IPC):提供有效的进程间通信,虽然linux内核本身已经提供了这些功能,但Android系统很多服务都需要用到该功能,为了某种原因

其实现了自己的一套。

b)电源管理:为手持设备节省能耗。2.4.3Java语言简介Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指針,改以引用取代,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口取代,增加垃圾回收器功能。在JavaSE1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳公司对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言”Java不同于一般的编译语言和解释语言。它首先将源代码编译成字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的执行速度有了大幅提升。2.4.3网络数据抓包简介抓包(packetcapture)就是将网络传输发送与接收的数据包进行截获、重发、编辑、转存等操作,也用来检查网络安全。抓包也经常被用来进行数据截取等。普通的情况下,网卡只接收和自己的地址有关的信息包,即传输到本地主机的信息包。要使Sniffer能接收并处理这种方式的信息,系统需要支持BPF,Linux下需要支持SOCKET一PACKET。但一般情况下,网络硬件和TCP/IP堆栈不支持接收或者发送与本地计算机无关的数据包,所以,为了绕过标准的TCP/IP堆栈,网卡就必须设置为我们刚开始讲的混杂模式。一般情况下,要激活这种方式,内核必须支持这种伪设备Bpfilter,而且需要root权限来运行这种程序,所以sniffer需要root身份安装,如果只是以本地用户的身份进入了系统,那么不可能唤探到root的密码,因为不能运行Sniffer。基于Sniffer这样的模式,可以分析各种信息包并描述出网络的结构和使用的机器,由于它接收任何一个在同一网段上传输的数据包,所以也就存在着捕获密码、各种信息、秘密文档等一些没有加密的信息的可能性。这成为黑客们常用的扩大战果的方法,用来夺取其他主机的控制权2.4.4极光推送简介极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业、高效的移动消息推送服务。开发者可以在管理Portal上快捷地向用户推送消息,也可以定制推送的时间、用户群、位置等。还提供远程推送API,开发者可以在管理Portal上查看推送统计信息,直观地评估推送效果。2.4.5SQLite简介SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源的世界著名数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。至2015年已经有15个年头,SQLite也迎来了一个版本SQLite3已经发布2.4.6HTML简介HTML(HyperTextMark-upLanguage)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。2.5系统开发平台及运行环境2.5.1系统开发平台系统开发平台:androidstudio、Eclipse系统开发语言:java、HTML数据库管理系统软件:移动Bomb后端云平台运行平台:android2.2以上版本。分辨率:最佳效果1024x768像素。2.5.2运行环境操作系统:android2.2以上版本。Notepad++语言开发工具。移动Bomb后端平台其它应用软件。第三章系统设计3.1系统功能模块概述和分析通过实际调查,要求本系统具有以下功能。具有良好的人机界面。支持用户注册登陆相关多用户操作的用户信息类社交。场景一键应用,单个设备控制通过IP地址获取在线视频监控的预览界面数据计算自动完成,尽量减少人工干预。获取在线设备的状态,并通过极光推送,推送设备发送过来的信息,实施操作极光推送消息模块,打开应用会有消息模块,内置消息提醒,和聊天3.2系统功能模块设计根据系统功能分析,可以画出系统的功能模块图。基于Android智能终端的智能家居系统功能模块基于Android智能终端的智能家居系统功能模块个人信息(设置)首页模块控制模块社区模块登陆相关模块年龄性别昵称账号相关信息首页广告消息推送视频入口Wifi入口设备入口场景入口滑动标题内置模块

温馨提示

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

评论

0/150

提交评论