一、综述本课题国内外研究动态,说明选题的依据和意义
经济的发展和科技的同步让我们的生活变化很快,在追求高质量生活的同时也对住宅环境提出了更高的要求.我们可能在电影里看过这样的画面:回家的路上,只需点一下手机就可以拉开家中的窗帘;到家时,电视机自动打开:进入家中,做到”人来灯亮,人走灯灭”;一旦有生人闯入,会通知主人并报警.这些场景,使得人们更关注住宅的舒适性、安全性、便利性和智能性,住宅面积和装修已不再是衡量住宅好坏的唯一标准.对住宅环境的舒适性和便利性追求已成为推动只能家居产业发展的根本动力.
智能家居,顾名思义就是居住环境的高度智能化,他的实现主要依靠各方面技术(如网络通信技术、综合布线技术、音视频技术、安防技术等)将人们生活相关的电器等设备集合起来,从而达到智能化的居住环境.它把家电控制、温湿度检测、安防报警、灯光控制、社区服务等有机的结合起来,将家居生活的方方面面进行科学统筹的管理,让家居生活智慧起来.智能家居重在”智能”,通过对家居的智能化控制,提高了人们的生活效率和生活质量.智能家居系统将成为家居产品发展的必然趋势.
物联网是新一代信息技术的重要组成部分,其英文名称是:“The Internet ofthings”。顾名思义,物联网就是物物相连的互联网。这有两层意思:其一,物联网的核心和基础仍然是互联网,是在互联网基础上的延伸和扩展的网络;其二,其用户端延伸和扩展到了任何物品与物品之间,进行信息交换和通信也就是物物相息。物联网就是“物物相连的互联网”。物联网通过智能感知、识别技术与普适计算、广泛应用于网络的融合中,也因此被称为继计算机、互联网之后世界信息产业发展的第三次浪潮。物联网是互联网的应用拓展,与其说物联网是网络,不如说物联网是业务和应用。因此,应用创新是物联网发展的核心,以用户体验为核心的创新2.0是物联网发展的灵魂。
手持终端在智能家居系统有举足轻重的地位.在智能家居系统中,手持终端不仅可以显示当前家居环境的参数,还可以管理家居系统中的设施,所以它既是显示设备也是控制设备,同时具备了显示和控制的功能.手持终端的作用是为用户提供与系统交互的接口,让用户实时了解家中情况,从各做出相应的操作.对手持终端的研究与用户对智能家居系统的体验是息息相关的.而智能家居在我国推广的时间不长,并为普及开来,还是一个新市场,研究出的手持终端更是少之又少,所以在智能家居系统中,对手持终端进行研究还是很有必要的.
物联网的发展现状:无线射频识别产业市场规模超过100亿元,传感器市场规模超过900亿元,其中, 微机电系统传感器市场规模超过150亿元;机器到机器终端数量接近1000万,形成全球最大的M2M市场之一。
物联网在我国的发展趋势:
我国物联网发展的十年目标是把我国初步建成物联网技术创新国家。教育部工信部授权理工科高校开设物联网课程,为学生传授物联网相关课程,但凸显劣势的是,师资相对缺乏。可喜的是有华清远见这样的物联网工程师培训机构。总体来讲物联网产业在中国的发展令人期待。
自主创新能力明显增强,攻克一批核心关键技术,在国际标准制定中掌握重要话语权,初步实现“两端赶超、中间突破”即在高端传感、新型RFID、智能仪表、嵌入式智能操作系统、核心芯片等感知识别领域和高端应用软件与中间件、基础架构、云计算、高端信息处理等应用技术领域实现自主研发,技术掌控力显著提升.
二、研究的基本内容,拟解决的主要问题:
研究的基本内容:
1.手机端软件的基本功能
手机控制软件主要用于给用户提供一个交互平台。用户通过软件登录系统后,可以查看被控设备的工作状态,选择想要实现的功能,进行操作。
手机控制软件开发实现的系统功能如下 :
(1) 手机提供了一个直观方便的用户界面
(2) 可以通过GPRS方式向Web服务器发送命令和数据
(3) 可以解析Web服务器返回的协议信息,并通过可视化方式显示出来
2. 通信协议的设计
通信协议是客户端和Web服务器沟通交流的语言,协议的设计应当简单明了,每个字段的长度既要能表达清楚含义,又不能冗余.
3. 要实现利用Android手机控制智能家居,首先就需要Android上的控制端,即第一个研究内容就是Android手机的软件制作.制作软件需要了解Android平台,了解Android的编程工具,主要是要了解Android SDK,利用Eclipse软件配置ADT,最后使用Eclipse编写软件.需要研究的问题就是如何配置好环境,以及如何编写软件.
还有就是软件界面的设计,软件界面应该友好,软件界面应该分为2大部分,上面显示软件的使用方法,下边是各种功能,怎样使软件的界面美观,也是需要考虑的问题.
拟解决的问题:
1.安卓端软件的设计:
智能家居客户端系统集成了许多功能,如登录、设备操作、设备设置、系统管理等诸多功能。我们在概要设计的时候将整个软件分成各个功能模块,有利于开发。下面是各个子模块进行概要设计说明。
登录模块:负责处理用户的登录信息,通过与服务器内存储的用户信息进行比对返回登录结果
软件控制模块:可以查看设备状态,控制设备状态等
网络通信模块:主要是手机和Web服务器进行交互
数据发送模块:向Web服务器发送数据
数据接收模块:从Web服务器接收数据
协议组装与解析模块:根据各个模块的请求,组装不同的数据
负责解析服务器反馈的数据
2.实现手机端与Web服务器信息的交互
我这里准备使用Tomcat 做为Web服务器,将数据存放在数据库中,利用手机发送命令操纵数据库里的数据以实现模拟操作家具的目的
3.具体内容
首先,如何制作Android端的客户端, Android客户端需要实现与用户交互的功能,让用户知道发生了什么,还要能实现按下不同按钮发送不同命令.
要完成这一点,首先需要解决如何得到编程的环境,其次,如何编码,如何设计及如何移植到手机都是需要解决的问题.在第一步,即环境的配置,需要了解Android ADT的配置,而由于谷歌的服务器被屏蔽,所以不能使用Eclipse 内置的软件更新组件,而需要用离线的安装方式.
还有就是Android的编程,Android的特别之处在于,要运行Android虚拟机测试,而测试的时候可能会出现各种问题,而之后还要再实体机上运行,又有可能出现别的问题.
三、研究步骤、方法及措施:
1.环境准备
首先,需要配置Android软件的制作环境,我选择用Eclipse J2EE版,ADT 23,则环境就是:Eclipse+jdk 1.6+ADT 23.0 +SDK.还有就是Tomcat 7
环境装完后就要编写代码了,这也是重点所在,Android的app代码的文件都是固定功能固定文件名的,而且新建一个项目也可以看见框架非常的清晰,如: res/layout/main.xmlApp主窗体布局文件,应用长什么样都在这边定义,有Design和Text两种模式,res/values/strings.xml可以理解为i18n文件,这个文件用来存放程序调用的各种字符串src/com/example/helloandroid/MyActivity.java这个就是我们的主程序类,等下要实现的功能都在这个文件里添加.
代码完成后,可以使用Android虚拟机直接运行,进行界面的与功能的测试,而后可以通过USB数据线连接手机,手机系统设置里的开发人员选项里打开USB调试,在IDE中直接点Run就可以在手机上看到运行的效果了.
最后是应用打包, 在IDE的Build菜单下选择Generate Signed APK来打包应用,而后生成.apk的包, 一个Android App就这样诞生了.
当然,制作第一个较为完善的界面并没想象的容易,而我要做的就是边学边用,最后做出完整的软件.
2.软件的设计
软件控制控制程序:本软件的控制主要是通过通信协议作为语言来与Web服务器进行沟通的。当手机需要查看某个家庭设备的状态时,点击对应按钮就可以发送命令给Web服务器,Web服务器再将结果返回.手机通过解析,再反映给客户,这样,一次控制程序就完成了。
3.实现利用Tomcat做为Web服务器
Tomcat利用Eclipse加载后,只要在一个局域网中,输入对应地址都可以实现访问.利用这一点,在小范围内用局域网的方式搭建网络环境,即可轻松的利用安卓手机控制Web服务器后的”智能家居”;