![基于JAVA的智能家居控制系统的设计(信息控制端的设计)毕业论文_第1页](http://file4.renrendoc.com/view/ec6d37059894e14acfbf06788b93c2df/ec6d37059894e14acfbf06788b93c2df1.gif)
![基于JAVA的智能家居控制系统的设计(信息控制端的设计)毕业论文_第2页](http://file4.renrendoc.com/view/ec6d37059894e14acfbf06788b93c2df/ec6d37059894e14acfbf06788b93c2df2.gif)
![基于JAVA的智能家居控制系统的设计(信息控制端的设计)毕业论文_第3页](http://file4.renrendoc.com/view/ec6d37059894e14acfbf06788b93c2df/ec6d37059894e14acfbf06788b93c2df3.gif)
![基于JAVA的智能家居控制系统的设计(信息控制端的设计)毕业论文_第4页](http://file4.renrendoc.com/view/ec6d37059894e14acfbf06788b93c2df/ec6d37059894e14acfbf06788b93c2df4.gif)
![基于JAVA的智能家居控制系统的设计(信息控制端的设计)毕业论文_第5页](http://file4.renrendoc.com/view/ec6d37059894e14acfbf06788b93c2df/ec6d37059894e14acfbf06788b93c2df5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、TOC o 1-5 h z HYPERLINK l bookmark8 1绪论1 HYPERLINK l bookmark10 1.1课题背景2 HYPERLINK l bookmark12 1.2研究意义3 HYPERLINK l bookmark14 1.3研究现状3 HYPERLINK l bookmark16 1.4研究内容4 HYPERLINK l bookmark18 4.1系统介绍4 HYPERLINK l bookmark20 1.4.2模块划分4 HYPERLINK l bookmark22 5小结5 HYPERLINK l bookmark24 2系统需求分析6 HYPER
2、LINK l bookmark26 1系统功能需求6 HYPERLINK l bookmark28 2.2系统性能需求6 HYPERLINK l bookmark30 2.3系统可行性研究7 HYPERLINK l bookmark32 3.1技术可行性7 HYPERLINK l bookmark34 2.3.2经济可行性8 HYPERLINK l bookmark36 2.3.3操作可行性8 HYPERLINK l bookmark38 2.4系统运行环境8 HYPERLINK l bookmark40 5小结9 HYPERLINK l bookmark42 3系统总体设计10 HYPERL
3、INK l bookmark44 3.1系统结构设计10 HYPERLINK l bookmark46 3.2系统工作原理11 HYPERLINK l bookmark48 3.3系统关键技术13 HYPERLINK l bookmark50 4小结13 HYPERLINK l bookmark52 4系统详细设计与实现14 HYPERLINK l bookmark54 1数据存储14 HYPERLINK l bookmark58 4.2系统功能的设计与实现15 HYPERLINK l bookmark56 4.2.1登录功能的详细设计15 HYPERLINK l bookmark60 4.2
4、.2家居状态的详细设计18 HYPERLINK l bookmark64 4.2.3修改密码功能的详细设计23 HYPERLINK l bookmark66 4.3远程电器控制模块的模拟实现24 HYPERLINK l bookmark68 4小结24 HYPERLINK l bookmark70 5系统测试25 HYPERLINK l bookmark72 5.1单元测试25 HYPERLINK l bookmark74 2功能测试26 HYPERLINK l bookmark76 5.3性能测试26 HYPERLINK l bookmark78 4小结27 HYPERLINK l book
5、mark80 6结论28附录29参考文献32致谢34毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保
6、存毕业设计(论文)的E卩刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩E卩、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。日期:作者签名:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含田可其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向
7、国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日指导教师评阅书指导教师评价:、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神优良中及格口不及格2、学生掌握专业知识、技能的扎实程度优良中及格口不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力优良中及格口不及格4、硏究方法的科学性;技术线路的可行性;设计方案的合理性优良中及格口不及格5、完成毕业论文(设计)期间的
8、出勤情况优良中及格口不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?优良中及格口不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?优良中及格口不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良中及格口不及格2、论文的观念是否有新意?设计是否有创意?优良中及格口不及格3、论文(设计说明书)所体现的整体水平优良中及格口不及格建议成绩:优良中及格口不及格(在所选等级前的内画“)指导教师:(签名)单位:(盖章)年月曰评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范?优良中及格口不及格2、是否完成指
9、定的论文(设计)任务(包括装订及附件)?优良中及格口不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良中及格口不及格2、论文的观念是否有新意?设计是否有创意?优良中及格口不及格3、论文(设计说明书)所体现的整体水平优良中及格口不及格建议成绩:口优良中及格不及格(在所选等级前的内画“J”)评阅教师:(签名)单位:(盖章)年月日 教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:-答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况不及格不及格不及格优良中及格2、对答辩问题的反应、理解、表达情况优良中及格3、学生答辩过程中的精神状态优良中及格二、论文(设计
10、)质量1、论文(设计)的整体结构是否符合撰写规范?优良中及格口不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?优良中及格口不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良中及格口不及格2、论文的观念是否有新意?设计是否有创意?优良中及格口不及格3、论文(设计说明书)所体现的整体水平优良中及格口不及格评定成绩:优良中及格口不及格(在所选等级前的内画“)教研室主任(或答辩小组组长):(签名)年月曰教学系意见:系主任:(签名)年月曰1绪论1.1课题背景随着社会的发展和科学技术的进步,数字网络生活时代己经到來,以家庭智能化、物业管理现代化和社区服务信息化为
11、典型特征的智能社区也在悄然应运而生。住宅智能化是人类住宅的乂一场新的革命。它能够为人们提供更加轻松、有序、高效的现代生活方式,是未來居住模式的必然发展趋势。随之而然,智能家居系统也在逐渐成为一个新兴的研究领域。智能家居提供的是一个具有高度安全性、生活舒适性和通信快捷性的信息化与自动居住空间。智能家居是指将家庭中各种与信息相关的通信设备、家用电器和家庭保安装置,通过家庭总线技术连接到一个家庭智能化系统(即家庭控制器)上,以实现监视、控制和家庭事务型管理,并保持这些设施与住宅环境的和谐与协调。要实现家居的智能化,必须在家电里面加入接收和控制端,这样就能对家里的电器、灯光、电源、家庭环境进行方便地控
12、制,使人们尽享高科技带來的简便而时尚的现代生活。将社会的信息化建设与小区的信息化、智能化建设有机地融合起來,充分利用已有的宽带网络,做到资源共享,达到节省投资、降低使用费用、方便物业管理,为用户提供尽可能多的高品质服务,己成为房产商、电信运营商、物业管理公司、城市公用事业公司和用户等儿方共同关注的问题。自动化的智能家居不再是一幢被动的建筑,相反,成了帮助主人尽量利用时间的工具,使家庭更为舒适、安全、高效和节能。家居智能化技术起源于美国,网络系统中的各个设备均可实现资源的共享。因其布线简单、功能灵活,扩展容易而被人们广泛接受和应用。目前,已经有越來越多的机构和个人开始了对智能家居的研究。 1.2
13、研究意义智能家庭控制系统是以以太网、现场总线、公共电话网、无线网的传输网络为平台,控制技术为技术平台,现场总线为应用操作平台,构成一个完整的集家庭通信、家庭设备自动控制、家庭安全防范等功能的控制系统。智能家居控制系统的总体目标是通过采用计算机技术、网络技术、控制技术和集成技术建立一个由家庭到小区乃至整个城市的综合信息服务和系统,以此來提高住宅高新技术的含量和居民居住环境水平。使人们享受到高科技带来的方便快捷的生活方式。人们的生活方式在逐渐加快,因此生活中就需要更为便捷的生活方式。智能家居就是在这种情况下应运而生的。人们需要通过一个按钮就可以实现对家具的控制,减少了原來需要寻找遥控器或者是开关等
14、方式带來的不便。从而使人们的家更舒服,更方便。系统通常由系统服务器、家庭控制器(各种模块)、路由器、通讯器、控制器、无线收发器、各种传感器等主要部分组成。1.3研究现状由于中国的居住模式和文化与发达国家有很大的区别,所以智能家居在中国的发展也体现出其独具的特色。中国人口众多,城市住宅建设也多选择密集型的住宅小区方式,因此很多房地产商会站在整个小区智能化的角度來看待家居的智能化,也就出现了目前一统天下、无所不包的“智能小区”的模式。智能小区同样是中国特有国情的产物。智能小区与公共建筑中的智能建筑的主要区别是,智能小区强调住宅单元个体,侧重物业管理功能。真正意义的智能小区中的单元一单个住宅,应该安
15、装智能家居(Smarthome),这样智能小区的功能才得以有效运用,对大型社区來说,智能小区是智能家居运行的基础平台。其实无论是安全防护还是智能家居,都应该属于智能住宅的大的范畴,其中不单单包括智能安防以及智能家居,还包括诸多住宅智能化的功能,随着物联网技术的发展兴起,其广阔的运用以及领先的技术优势必定能改改变现在的市场现状,未來的智能家居将是物联网相关运用的一个典范,将家居系统完美的结合以及协同各种传感元件进行有效感知,其中不单单指内部感知,更包括了系统对外部的感知以及数据交换。1.4研究内容系统釆用典型的C/S(Client/Server客户机和服务器)架构。C/S的优点是能充分发挥客户端
16、PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。由客户端调用send()方法发送控制信息,控制服务器端的家居状态,服务器受到控制信号之后,修改现在的状态,并把修改之后的状态通过recivedO方法返还给客户端。客户端调用相应的recivedO方法把结果显示出來。1.4.1系统介绍使用J2me技术实现手机界面,以及家用电器的监视和控制、照明设备的监视、调节和控制、门的控制、窗帘的控制等。并实现客户端与服务器端之间的通信。通过手机上的各个按钮控制发送信号,进而实现家居的开关控制。系统选用J2me技术开发基于手机平台的信息控制端软件。以发送数据信号的方式发送
17、到控制端,实现控制家居设备的功能。J2me是sun公司针对嵌入式、消费类电子产品推出的开发平台,是一系列规范的集合,由JCP组织制定相关的JSR并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,确保兼容性。通过使用J2me中的无线网络开发技术实现手机客户端与系统终端的通讯。使用通用连接框架技术建立HTTP连接。使用servlet技术实现计算机之间的即时通讯。1.4.2模块划分根据系统本身的需要,我们把系统分为以下模块:主页面显示智能家居控制系统的字样,以及输入密码的输入框。密码输入成功则可以直接进入智能家居控制系统的主界面。如果密码输入错误,则需要重新输入。对密码的设
18、定釆用最大不能超过八个字符的简单定义來实现对系统安全的保护工作。密码输入成功则可以登陆控制家具的页面。根据房间的布局,把整个家庭分为三个模块。分别为客厅、厨房和卧室,对房间中的家居进行合理的分配,从而达到更高效的目的。同时为了方便修改密码。把修改密码的功能也和这三个控制页面一起,放入到了同一个界面中。下面介绍各个房间中能够控制的家用电器。客厅中能够控制的家用电器包括:防盗门、窗帘、吊灯、空调和电视。防 盗门、窗帘和电视的控制分为两个分别是开启”和关闭”。吊灯的控制除了在“开启”和“关闭”的基础上增加了一个亮度调节的控制,用滑动条的形式來实现对温度的调解。根据空调的特性,给空调乂增加了温度和湿度
19、的控制。分别用两个滑动条來实现对家居的控制。厨房中能够控制的家用电器包括:灯、窗帘。厨房中的灯和窗帘的控制分为“开启”和“关闭”两个设置。卧室中能够控制的家用电器包括:床头灯、窗帘和吊灯。卧室中的床头灯和台灯一样在开启和关闭的基础上增加了对亮度调节的控制。窗帘则只有“开启”和“关闭”的功能为了方便人们的操作,增加了修改密码的功能。在卧室的下面就是改密的字样。点击确定按钮,则可以修改密码,键入新密码,返回密码修改成功的字样。无论何时何地,只要您想要控制家中家居的状态,拿起手机,进入到智能家居控制系统,选择要更改的房间,以及要控制的电器,选择之后点击发送按钮,就可以实现对家用电器状态的更改。空调和
20、其它的模式则不同,不仅具有开和关的状态,还增加了温度的调节和控制。电灯的控制方式和空调的类似,在开和关控制的基础上增加了调解亮度的功能。使人们能够根据自己的喜好來调节亮度。丰富了人们选择的范围,使选择方式不再单一。1.5小结本章首先介绍了该课题的背景、研究意义,我们了解到此系统广阔的发展前景,以及适用性。在不改变人们居住环境的前提下,实现对家居的监制和控制。接着介绍了有关该系统的国内外研究现状,以便于在前人研究基础上能有所创新。充分结合前人的研究,使系统更为完善,更满足用户的需求。最后介绍了研究内容,对自己所研究的内容进行了更加彻底的分析。方便人们了解到此系统实现的所有功能。2系统需求分析2.
21、1系统功能需求项目主要实现用户对家用电器的控制,其中包括家居的开和关,以及其他的相关操作。客户端发送控制信息的请求,通过网络传输方式发送到服务器端,服务器端相应客户端的操作,然后再把结果返回给客户器端。其中家用电器的控制在开和关相关控制的基础上增加了智能调节控制。空调实现了用下拉框的形式开实现对湿度和温度的控制。进而为人们实现对家具的控制提供了方便。该系统共分为五个模块,分别为登陆、客厅、厨房、卧室和改密。模块一:为了保证客户使用信息的安全性,为此系统添加了登陆模块,运行智能家居控制系统的客户端,就要键入密码,密码输入正确就自动跳转到家居的控制页面,反之重新键入密码。模块二:客厅中的家用电器主
22、要包括:防盗门、窗帘、吊灯、空调和电视。实现对防盗门、窗帘的开关控制、对吊灯的开关操作以及亮度调节的控制、对空调的开关操作以及对室内温度和湿度的控制以及调节控制电视的开和关,等等一系列的操作。模块三:厨房中的家用电器主要包括:吊灯和窗帘。还是用下拉菜单实现对各个家电的开关控制。模块四:卧室中的家用电器主要包括:吊灯、窗帘和台灯。这个模块中的家具设计的虽然不是很多,但是也同样实现了家具的开关和家用电器的监制和控制。模块五:用户可以修改密码,键入你想要设置的新的密码,点击设置按钮就可以设置你想要的新的密码了。2.2系统性能需求智能家居控制系统是一个很有发展前景的系统。因此为了使本系统能够长期使用,
23、必须使系统满足安全、稳定、可靠、高效的运行模式,生活水平的提高,伴随着生活质量的提高。同时人们生活的节奏也逐渐加快,怎样高速的完 成任务就是我们要考虑的主要问题。因此系统应满足如下性能需求:较强的扩展能力和通用性,此系统即能够满足一个家庭之间的远程控制,同时对一个小区來说也同样适用。由于这次我们主要研究的是控制家居这方面的内容,以后,我们还可以扩展此系统,加上远程通信、智能报警等等各项功能。由于本系统的界面简单明了,因此人们很容易就学会操作。扩大了系统的用户群。在不改变人们生活住宅的情况下,有效的实现对家居的控制。使人们可以节约时间,享受生活。系统的准确性和及时性系统处理的准确性和及时性是我们
24、要考虑的主要问题。在控制家电的过程中,确保对家居状态更改的准确而且及时。优化系统,使系统的反应能力和控制家居的能力满足用户多功能的需求。2.3系统可行性研究验证一个系统是否可行,需要从多个方面着手分析。其中主要的内容包括:技术可行性、经济可行性和操作可行性三个方面。2.3.1技术可行性系统釆用J2me技术。使用J2me中特有的手机模拟器进行开发,实现对各种家居的控制。J2me技术规范定义了Java技术在资源有限制的设备中的表现形式。J2me主要适用于小型嵌入式设备,这些设备与PC或是服务器设备相比没有统一的硬件标准、外观与操作方式,其功用也是干差万别。但是J2me在使用于这些设备的同时也保留了
25、Java的传统特性,即任何时间和任何地点的代码具有可移植性、部署灵活性、安全的网络传输性,以及代码稳定性。Java平台的主要优点是它允许我们编写可移植的应用程序。Java平台的可移植性来自其执行模型。具体地说,它是由于在运行时使用JVM來将Java字节码处理成机器码,因而在硬件之上提供了兼容性层。Java平台的执行模型还引入了一些在设备本机应用程序中缺乏的重要安全性优点。在给定的时间内能够实现任务书中的功能。能够实现页面的跳转以及对服务器端家电的控制。从软件的质量方面来看,软件运行速度较高,功能具备有实用价值。后期软件维护代价相应比较小。软件的生产率较高。能在短时间内完成有效地工作。2.3.2
26、经济可行性系统虽然需要依靠硬件來实现,但是开发成本相对较低。后期维护简单方便。如果能够实现,则能够取得可观的效益。收益远远大于支出,因此此项目在经济方面是可行的。2.3.3操作可行性对于用户來说,能够使用该软件系统,能够方便人们的生活,使人们生活的环境更加的美观。墙面上不会再到处都是开关,同时也不用为了寻找遥控器而发愁。使用此系统,能够使人们的生活方式发生天翻地覆的变化。让人们享受科技带來的方便生活。在家中你可以拿起手机,选择要控制的家电,然后更改其开关状态,在户外也同样可以控制,实现家中和户外同等控制的功能,同时优化了无线网络传输过程中网络延迟带來的时间上的延迟,使人们在最短的时间内接收到服
27、务器端返回的家居控制的信息。2.4系统运行环境WindowsXPoJDK,JDK是Java开发工具包(JavaDevelopmentKit)的英文缩写。它是一种用于构建在Java平台上发布的应用程序、Applet和组件的开发环境。JDK是一切Java应用程序的基础,所有的Java应用程序是构建在这个之上的。它是一组API,也可以说是一些JavaClassoSunWTK,Sun公司为了J2ME而提供了WTK开发工具,是最基本的J2ME程序开发工具,它是免费提供的,体积小,执行速度较快,完全遵守J2ME的各种规范,因此是J2ME程序员最基础的必备的工具。Eclipse,Eclipse是一个非常著名
28、的集成开发工具,其自身功能强大而易用。另一个非常重要的特点是其提供了非常灵活的扩展能力。它提供了丰富的接口可以扩展其本身。同样Eclipse中也包含J2ME支持的插件,而且不止一种。EclipseMe,EclipseMe自动为Midlet创建了三个方法,作用如下:startApp方法是当程序被启动时执彳亍的方法;pauseApp是当程序被暂停或被打断(如有拨入的电话)时调用的方法;destroyApp是当Midlet被销毁时调用 的方法。2.5小结本章对系统进行了需求分析,首先通过对系统的功能需求的分析,了解了该模块所应完成的所有功能。接着进行了系统性能需求的分析,以便于能够保证系统长期、安全
29、、稳定、可靠、高效的运行。接接下來要进行系统可行性研究,主要从技术、经济、操作这三个方面加以分析。紧接着我们又分析了该系统所需要的运行环境。为系统的开发做好了准备。3系统总体设计总体设计过程首先寻找实现目标系统的各种不同的方案,需求分析阶段得到的数据流图是设想各种可能方案的基础。总体设计过程通常由两个主要阶段组成:系统设计阶段,确定系统的具体实现方案;结构设计阶段,确定软件结构。3.1系统结构设计系统釆用c/s架构进行设计。在通信过程中,移动客户端与家庭系统模块是通过TCP协议建立的可靠连接。首先移动客户端和家庭系统模块之间建立Socket连接,家庭系统模块在端口上监听等待客户端连接。客户端连
30、接之后,需要输入密码,密码正确后服务器端会开启一个线程为此客户通信,并将这个Socket连接保存到向量中。在客户端和家庭系统模块之间建立输入输出流。客户端与服务器端通过Socket可以建立连接。客户想要改变家中的家居状态,只需要进入家居控制系统中,选择想要更改家居所在的房间,然后选择家居,进而改变家具的状态,通过调用send()方法向服务器端发送请求,由服务器端响应,然后服务器端将更改家居的状态,之后将结果返回给客户端。客户端通过调用recived()方法來获得家居更改之后的状态。本文主要研究客户端的设计,其中客户端主要完成的功能设计如下:用户登陆模块主要实现对用户的验证操作。为了保证用户信息
31、的安全性,因此需要用户键入密码,如果密码输入正确,则可以进入智能家居控制系统,如果密码输入错误,则需要重新输入。房间选择模块的设计。根据人们在现实生活中的生活环境的布局,考虑系统的实用性,因而将智能家居控制系统分为客厅、厨房和卧室这三个房间状态。点击客厅,跳转进入下一个页面,显示客厅中的所有家居,即包括:防盗门、窗帘、吊灯、空调和电视。点击厨房,跳转进入另外一个页面,显示厨房中所能够控制的所有家居,即包括:吊灯和窗帘。点击卧室则跳转进入另一个页面,显示卧室中所能够控制的所有家居,即包括:吊灯、窗帘和台灯。其中房间模块的功能结构图如下所示: 客厅厨房房间卧室防盗门图(1)各房间所包含家居的功能图
32、家居状态选择模块的设计主要包括对家电控制的设计。改变了人们对家居操作过于单一的模式,增加了对家居状态和性能的人为控制。当人们要对客厅中的防盗门的开关状态进行控制时,需要首先键入密码,进入智能家居控制系统,然后选择客厅点击进入之后选择防盗门來进行控制,其中对防盗门的控制包含两种状态:开启和关闭。而吊灯的选择方式和选择防盗门时类似,在开启和关闭的基础上增加了对亮度调节的控制。方便了人们对灯光亮度的选择。而空调则在开启和关闭的基础上增加了对温度和湿度的调节。方便了人们的操作。修改密码模块的设计,从始至终不可能说一直使用一个密码,因此增加了修改密码的模块,方便了用户的操作。3.2系统工作原理系统由多个
33、类构成。需要客户端通过网络发送对家居的控制。服务器端接收到客户端发送的信息,然后再返回给客户端。本系统是基于HTTP网络的用于智能家居环境中的一种远程自动控制系统。其工作原理为:用户通过自身的手机发出命令请求,在家值守的家庭系统模块接收信息并对信息进行处理,把处理结果通过串行总线传输到单片机上,单片机根据信息调制出相应的红外频率控制相应的设备,完成用户给出的命令。并把最终的控制结果返回给客户端。系统工作原理图如下所示:类客户端服务器端图(2)系统工作原理图各个程序之间通过方法和类的调用來建立关联。选择登陆智能家居控制系统,该界面实现内容主要包含在MainMID这个类中,其中需要键入密码,同时如
34、果密码输入错误,也可以对密码再进行修改。直至密码输入正确。则会跳入到下一个页面。下一个页面则是家具的控制页面。选择所要控制的家具类型,进入相应的房间之后,我们就可以选择要控制的家电类型來实现对家居的控制。然后通过网络连接将要发送的数据发送到服务器端。等待服务器端做出响应。目前出现的家居处理平台一般分三类:一类是机顶盒,也就是彩电与机顶盒组合,能够与家庭安全防范系统、家庭自动化系统,以及互联网结成一体,实现家电控制、娱乐、交流和信息分享等方面的智能化。其次,就是利用家用电脑去控制各种家用电器,以家用电脑为基础的智能家居系统。用电脑來运行智能家居管理软件,能提供更多的高级控制特性,实现组合控制和条
35、件控制。由于所有的控制可自行定义,所以组合控制流程可以根据实际需要,自由地加以调整和改变。第三,模块式无线遥控模组,普通开关可以利用这模块,不需要对原來的普通开关、插座进行深度的改造,就可迅速成为多功能智能型无线遥控开关、插座。Java技术具有较强的兼容性,接受并处理控制设施发出的信息,然后传送信号给予控制家电或者其他家居的子系统。这处理平台可形象地理解为一个信息中心,它的职能就是在家居智能系统中,引导和规划家居子系统中的各种信号。有了它,你可以通过电话,或者无线遥控器來和家居子系统进行快速的沟通。这个家居处理平台具有良好的扩展性能,以满足用户在使用过程中不断变换的需求。 3.3系统关键技术J
36、iNi技术JiNi(JavaIntelligentNetworkInfrastructure)是Sun公司的研究与开发项目,它能极大扩展Java技术的能力。JiNi技术可使用范围广泛的多种硬件和软件一一即可与网络相连接的任何实体一一能够自主联网。家庭网络是一个动态环境,当有新设备加入家庭网络里,应该能被王阔中其它的设备识别,同时它也能发现网络中其它设备。为了实现设备间的即插即用和互联,SUN公司引入了Jini技术。Jini的目的是将成组的设备和软件构件联合成一个单一、动态的分布式系统。Jini基于Java语言,是一种面向服务的中间技术,运行于TCP、IP协议之上,跨平台运行,独立于底层操作系统
37、和通信技术,设备间可相互查询、理解所具备的功能,家庭网络无需人工参与,网络设置可自动完成。MIDPMIDP定义了一套完整的用户界面接口,全部定义在javax.microedition,lcdui包中。MIDP用户界面程序包的核心抽象是类Displayableo根据用户的交互,应用程序在完成任务的每一步不断设置和重设在Display对象上的当前Displayable对象。用户任务(指与用户界面的交互)通过Command对象来实现。当用户选择了一个Command对象之后,应用程序自动获得通知。作为反馈,应用程序经常改变当前的Displayable对象,把另一个Displayable作为当前值。设备
38、软件管理了本地应用程序和MIDP应用程序之间的物理显示资源的共亭。Displayable的子类有两种:Canvas:允许应用程序进彳亍图形处理和输入处理的底层对象oScreen:封装了完整的用户界面组件(类Alert、List、TextBox、Form)的高层对象。List:允许从一个预定义的选择集中选择。TextBox:是一个拥有可控制编辑方法的平坦文本编辑器。Alert:显示临时信息或者简单选择问询。Form:更宽泛的容器,允许显示多个密切相关的叫做Item的用户界面元素。3.4小结本章通过对系统的结构、工作原理等各方面的设计,对系统的流程以及系统所要完成的功能都有了较为深入的了解。为人们
39、掌握智能家居的使用方法了解智能家居奠定了坚实的基础。4系统详细设计与实现4.1数据存储在MIDP规范中,提供了记录管理系统(RecordManagementSystem,RMS),这个记录管理系统就是一个小型简单的数据库管理系统(DatabaseManagementSystem),除了能用于管理系统储存的资料之外,也可以用于存储对象的状态信息。RMS是J2me的一个重要的子系统,目的是实现应用程序本地数据的持久性存储。RMS是管理数据的系统,Record(记录)是系统中最重要的实体。在移动设备存储空间存储的并不是字段,而是字节数组。RMS的职责是存储和唯一标识记录,而表示数据的任务是由应用程序
40、來完成的。这样做的目的是简化MIDP的实现,使得J2ME的子系统尽量的小巧、灵活。RecordStore(记录仓储)是一系列的有序集合,记录是不能单独存在的,必须属于记录仓储。记录仓储保证记录的读写操作都是原子的,数据不会被破坏。在API中记录仓储是由javax.microedition,rms.RecordStore实现的。每条记录代表了一条数据信息。一条记录由一个整型的RecordID与一个代表数据的byte数组两个子元素组成。RecordID是每条记录的唯一标识符,利用这个标识符可以从记录仓储中找到对应的一条记录。其中RMS所使用的空间图如图所示:RecordRecordStoreRec
41、ordRecordIDDataRecordIDData图(3)RMS空间图 系统中对密码的存储是通过RMS进行实现的。首先要在系统中使用RMS,首先需要定义RMS的名称。在系统中定义的RMS的名称是RMS_NAIE,然后对它进行实例化,使用rs=openRSAny-ay(RMS_NAME)进行。要写入密码,首先就需要打开RMS,使用rs二RecordStore.openRecordStore(rsname,ture)函数,然后returenrs;即可实现。密码写入之后则需要关闭仓储,使用rs=RecordStore.deleteRecordStore(rsname)來实现。系统中输入密码的时候
42、要验证密码输入是否正确,这个时候也需要用到仓储。首先需要用函数RecordStore.openRecordStore(RMS_NAIE,ture)來打开仓储和仓储中存储的数据进行比对,然后调用相应的函数來验证。4.2系统功能的设计与实现该智能家居控制系统实现了以下儿个功能:登陆、客厅模块、厨房模块、卧室模块和改密等一系列的功能。下面将对以下儿种功能进行详细的论述。客户端完成的主要功能包括对家居的控制。通过客户端发送控制信息通过网络传送到服务器端,再由服务器端返回给客户端。进而实现对家居的控制。其中,系统功能结构图如下所示:图(4)系统功能结构图4.2.1登录功能的详细设计lJ登录功能是为了保证
43、用户信息的安全,因此在智能家居控制系统的首页需要键入密码,键入密码之后,则需要点击菜单按钮,然后点击登入按钮,如果密码输入正确之后才能进入智能家居控制系统。如果密码输入错误,则会返回一个页面,提示密码输入错误,请重新输入。系统名称的实现:系统标题“智能家居控制系统”首先需要使用title來定义系统名称。实现方法如下:publicstaticStringTITLE=“智能家居控制系统”;其中要设计它的位置,则需要使用锚点來实现,锚点的作用就是设置占用屏幕矩形方块的具体位置。实现方法如下:g.drawString(MainMID.TITLE,getWidth()/6+10,10,Graphics.
44、TOP|Graphics.LEFT);字体的实现方法每个Graphics都有一个Font对象与其关联,來进行文字的渲染操作,调用其类方法setFont(null),即可使字体恢复到默认状态。使用staticFontgetFont(intface,intStyle,intsize)來获得一个对象以表示字体所具有制定的外观。使用的均为最大字体。Face参数,用来定义字体的外观。其中使用到的Font类定义的外观常数如下:StaticintFACE_PR0P0RTI0NAL:“比例”字体外观,数值64被制定给此数。Style参数,用来定义字体的样式。在这个类中使用到Font类定义的样式参数如下:Sta
45、ticintSTYLE_PLAIN:格式常数“常规”,数值0被制定给此常数。StaticintSTYLE_BOLD:格式常数“加粗”,数值1被制定给此常数。首页显示图片的实现方法:首先需要构建画布,使用back=Image,createlmage(/First,png”)来实现对画布图片的载入。用低级用户界面Canvas实现智能家居控制系统中按钮的设置。其中对按钮的定义操作包括:privateCommandCmd_Back;privateCommandCmd_Send;按钮实现的方法包括:Cmd_Back二newCommand(返回,Command.BACK,1);Cmd_Send二newCo
46、mmand(发送,CommandOK,1):密码键入中文本框的实现则通过TextField类來实现。TextField类用于带约束的文本类型输入。密码的设置要求输入密码的最大值为8个字符。因此对密码的限制要求是32位。首先要对TextField进行后台的实例化,然后设置这个文本框所在的位置,以及位数。实现方法是textfield=newTextField(,“”,8,TextField.ANY|TextField.PASSWORD):输入密码之后要获取TextField中的文本,使用方法是textfield.setString(str);來实现。密码框的画法包括对颜色、字数的限制。其中对颜色的
47、控制方法是调用setColorO方法來设置字体的颜色。使用g.drawRect()方法來设置矩形的边框。Fillrect()方法则表示使用指定的画刷來填充矩形。系统运行界面如下所示:图(5)系统运行界面PassWordCanvas类主要包含TextField子类,首先要对TextField在后台进行实例化,TextField是用于带约束的文本类型输入。textfield=newTextField(,”、&TextField.ANY|TextField.PASSWORD):/后台TextField实例化。其中还包括对登录界面中字体颜色、背景等方面的设计。键入密码“1234”之后点击菜单中的登陆按
48、钮我们就可以进入到智能家居控制系统的页面。如果输入密码错误,则跳转到密码输入错误页面,重新输入密码,直到密码输入正确,则可以进入到控制页面。密码错误界面的实现方法如下:使用Screen类的子类Alert來实现临时信息的显示。密码输入错误,则跳转进入密码错误界面,实现方法是initAlertO方法。其中显示文字的实现方法是alert=newAlert(“密码错误,请输入正确的密码!,null,AlertType.ALARM);控制按钮的实现方法是:alert.addCommand(newCommand(退出,Command.CANCEL,2):alert.addCommand(newComman
49、d(返回”,Command.BACK,1);文字显示的位置也是通过锚点來实现。其中密码输入错误之后页面提示界面如下:0SunTniil礴潮入正确的奁码I图(6)密码键入错误要实现对该页面的设计,首先需要填充背景的颜色,画出背景的边框、标题等。要通过确定锚点来实现对功能的定位。而键入的密码则存储在仓储中。通过调用getNextRecordIDO方法來验证键入的密码是否正确。如果密码输入错误,则会调用initAlert()方法将“密码错误,请输入正确的密码”返回给用户。如果密码输入错误,我们可以选择回删按钮,调用deleteOneCharO方法來删除字符。最终输入正确的密码后,调用IntoSyst
50、emO方法进入系统。4.2.2家居状态的详细设计密码键入成功之后,就会自动跳转到家居的控制页面。选择客厅点击开始按钮,就会进入到家具的选择页面。其中包括:防盗门、窗帘、吊灯、空调和电视的控制。防盗门、窗帘和电视的状态包括开启和关闭两种状态。另外吊灯在开启和关闭的基础上另外增加了对亮度的控制。空调则是在开启和关闭的基础上增加了对湿度和温度的调节和控制。输入密码正确之后,则可以进入到系统控制界面。其中包括:客厅、厨房、卧室和修改密码功能。其中,这儿个模块在页面中的显示方法是通过数组的形式來定义的。定义方法是privateStringSEECT_ITEM=“客厅”,“厨房”,“卧室”,“修改密码”,
51、然后通过if语句來实现对文本框现在所在位置的确定。Fnt= Font.getFont(Font.FACE_PR0P0RTI0NAL,Font.STYLE_PLAIN|Font.STYLE_BOLD,Font.SIZE_LARGE);这里实现了对字体的定义,然后调用setFont()函数來实现。欢迎回到温暖之家这儿个字的实现方法如下:g.setColor(OxOOllCC)最终显示的字体为蓝色。确定位置所使用的函数是g.drawString(欢迎回到温暖之家”,getWidth0/6+10,10,Graphics.TOP|Graphics.LEFT),确定屏幕中这几个模块所在的位置,使用Grap
52、hics类提供的绘图來实现。实现方法为g.setFont(fnt);g.setColor(0 xAA2200);g.drawString(SELECT_ITEMiJ,pos0-1,pos1*(i+3),Graphics.TOP|Graphics.LEFT);其中,系统运行界面图如下所示:图(7)家居状态选择界面客厅、厨房、卧室的布局都是类似的,现在我们选择以客厅为例,客厅中的家居包括:防盗门、窗帘、吊灯、空调和电视。这几个家居的实现方法和上面我们实现的方法类似,但是在文本上增加了矩形方框的设计。选择客厅调用FamilyList函数in二newFamilyList(display,this,客厅
53、,stringArray,Image.createlmage(keting.png);使用voiddrawRect()函数来实现。其运行界面图如下所示:图(8)客厅运行页面对灯光的控制包括:无线射频灯光控制系统由智能面板开关和调光器组成,调光器用以发送和接收命令信号,命令通过无线电传播,而不是通过家庭的电源线路传输。每个面板开关都备有一个不同的遥控识别代码。这些代码利用19位识别技术,使接收器能准确辨别每个指令。即使邻居同时使用,也绝对不会因其遥控器干扰而发生传输错误。调光开关同样内置RF无线射频发射器,能独立于遥控器或移动开关之外,控制落地灯或桌灯的开关或随意调节灯光亮度。减少干扰,传送或接
54、收指令更加准确无误。其中,开启和关闭,除了在位置上的设置之外,还增加了矩形框的设计。当矩形框在开启这两个字上面时,开启二字加粗,关闭使用常规。首先定义两个函数fnt和fnt2來表示常规和加粗两种状态下所调用的方法。分别为fnt=Font.getFont(Font.FACE_PR0P0RITI0NAL,Font.STYTLE_BLOD|Font.STYLE_PLAIN,Font.SIZE_LARGE);fnt2二Font.getFont(Font.FACE_PROPORITIONAL,Font.STYTLE_PLAIN,Font.SIZE_LARGE),选中的矩形框的实现方法为g.drawRec
55、t(BaseX-5,BaseY,60,20)滚动条的实现则使用文本方式,通过进度条来选择所要填充矩形的多少。使用g.drawRect(60,91,101,20)来绘制矩形。使用g.fillRect(61,90+2,ROLL,19)填充矩形。其中滚动条参数的设置使用的函数是g.drawString(ROLL+”、105,baseY,Graphics.TOP|Graphics.LEFT)开关的开关设置为0和1,如果为滚动条方式则设置为0100然后实现开启和关闭,灯光控制图如下所示: 图(9)吊灯状态选择对信息家电的控制包括:信息家电控制是一个整合了红外控制和无线控制的多功能遥控系统。它可以控制多达
56、五种红外设备(如:电视机、空调、DVD、功放、窗帘等)和开关、插座等无线设备。信息家电控制系统主要由信息家电控制器和各种智能遥控开关组成。信息家电控制器可以把普通红外电器的遥控器的编码通过学习的方式转存下來从而替代原有的家电遥控器。同时它本身还是无线遥控器,可以发射433.92MHz频率的控制信号,所以它可以控制这个频段的智能开关、智能插座以及无线红外转发器等。电视控制页面的实现方法如下:首先需要在新的屏幕上确定锚点,确定好开启和关闭按钮在屏幕上的位置。然后,调用g.drawString()方法在屏幕上显示开启和关闭字样。然后在开启和关闭处绘制文本框实现方法是g.drawString(“开启”
57、,BaseX,BaseY,Graphics.TOPGraphics.LEFT)确定开启所在的位置。g.drawString(u开启BaseX+75,BaseY,Graphics.TOP|Graphics.LEFT)在开启的后面距离开启距离为75的地方绘制关闭的字符串。然后使用g.drawRect(Basex+70,BaseY,60,20);来画选中框的位置,当我们想要开启电视的时候,点击开启按钮,系统调用drawRecr函数。绘制出这个文本框。同理,选择关闭按钮的时候也是如此。文本框是长为60宽为20的矩形。点击以后,系统通过调用send()方法,将控制信息发送到控制端。等待控制端的响应。其中
58、,我们以电视为例,其中对电视的控制图如下所示:餐Sun图(10)对空调的控制对空调的控制包括:空调的红外编码和其他家电的红外编码有很大区别,空调遥控器上每一个按键所对应的红外编码不是固定的。比如按下温度增加或减少的按键,它并不是简单地发送一个固定的温度增加或减少的红外编码,而是向空调发送一个当前工作状态的编码(这个编码包含空调当前是多少度)。因此实现对空调的控制结构就比较复杂。人们要实现对室内温度和湿度的控制就需要先对发送出的数据进行编码,将编码之后的结果发送到服务器端,再由服务器端來响应对空调的控制。空调页面的实现方法和上面台灯的实现方法类似,增加了一个滚动条,其中分别是对温度和湿度的控制。
59、实现方法是使用数组分别定义两个文本框然后调用。具体的实现方法虽然类似,但是却是分别实现的。其中空调页面的实现方法在电视的基础上增加了人性化的设计。即温度控制这儿个汉字的显示方法是定义在数组中,其中的一个既是对温度和湿度调节的控制,调用setRolligString()来显示。然后调用addChildList(cncs)来控制页面。对空调的控制图如下所示: 图(11)运行界面如图所示厨房中的家具包括窗帘和吊灯。调用ITEM_SELECTED()方法选择要进入的界面。然后使用stringArray方法來定义家具的类型。调用厨房中药使用的图片chufang.png,其中对用灯的亮度调节,则选择set
60、RollingString()方法來进行显示。开关的样式等也是在画布中画出的。设置子菜单,调用setLastPageO方法将上层页面设置为当前页面。设置文本和背景图片,要设置背景图片则需要对Canvas进行重绘。其它的都和客厅中的实现方法类似。4.2.3修改密码功能的详细设计密码键入成功,进入智能家居页面之后,就可以修改用户的密码。选择通过上下按键的选择,选中改密这个文本框,然后点击开始按钮,则可以修改系统的密码,键入新的密码,然后就可以完成对密码的修改。想要修改密码成功,首先要打开仓储RMS将想要修改的密码存储,打开仓储的方法是通过调用openRecordStoreO方法來将想要修改的密码存
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级数学教学计划3篇
- 甘肃省天水市2024-2025学年高三上学期九校联考语文试题
- 自考《劳动法(00167)》近年考试真题题库(含答案)
- 2025年江苏职教高考《职业适应性测试》考前冲刺模拟试题库(附答案)
- 《个人信息保护法》考试参考试题库100题(含答案)
- 2025年江苏经贸职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年武汉职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析
- 2025年榆林能源科技职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 2025年新疆职业大学高职单招高职单招英语2016-2024历年频考点试题含答案解析
- 专题07 解二元一次方程组 带解析
- 2025-2030年中国硫酸钾行业深度调研及投资战略研究报告
- 课题申报参考:社会网络视角下村改居社区公共空间优化与“土客关系”重构研究
- 乡镇卫生院2025年工作计划
- 2024年山东省泰安市初中学业水平生物试题含答案
- 机械工程类基础知识单选题100道及答案解析
- 冠心病课件完整版本
- 微生物组与胆汁性肝硬化
- 《信息检索基础知识》课件
- 具有履行合同所必须的设备和专业技术能力的承诺函-设备和专业技术能力承诺
- 1325木工雕刻机操作系统说明书
- 初中衡水体英语(28篇)
评论
0/150
提交评论