通信工程学院毕业设计外文翻译毕业设计题目基于ANDRIO的智能家居系统的设计与实现外文题目UBIQUITOUSSMARTHOMESYSTEMUSINGANDROIDAPPLICATION专业:通信工程学号:学生姓名:指导教师姓名:指导教师职称:副教授日期:2015年1月10日InternationalJournalofComputerNetworks&Communications(IJCNC)Vol.6,No.1,January2014基于Android应用的无处不在的智能家居系统ShiuKumarDepartmentofInformationElectronicsEngineering,MokpoNationalUniversity,534-729,Mokpo,SouthKorea摘要本文提出了一种灵活独立的,低成本的智能家居系统,它是基于Android应用与微web服务器通信,不仅仅提供交换功能。Arduino以太网的使用是为了避免使用个人电脑从而保证整个系统成本最低,语音激活时用来实现切换功能的。光开关,电源插头,温度传感器,湿度传感器,电流传感器,入侵检测传感器,烟雾/气体传感器和警报器等这些设备集成在系统中,表明了所提出的智能家居系统的有效性和可行性。经过检测,智能家居应用程序可以成功地进行智能家居操作,例如开关功能,自动环境监测,和入侵监测,在监测到有不法入侵后,系统会自动发送一个邮件,并响警笛。关键字:Android智能手机,智能家居,物联网(loTs),远程控制1.引言随着移动设备受欢迎程度的不断增长和人们日常生活中对无处不在的先进的移动应用的功能需求不断增加,利用Web服务是提供远程访问服务的最开放和可互操作的方式,并且使应用程序能够彼此通信。一个有吸引力的市场产品自动化和网络化是忙碌的家庭和有生理缺陷的个人的代表。loTs可以被描述为连接智能手机,网络电视,传感器等到互联网,实现人们之间沟通的新形势。过去几年中loTs的发展,创造了一个新层面的世界。这使得人们可以在任何时间,任何地点,联通任何期望的东西。物联网技术可用于为智能家居创建新的概念和广阔的空间,以提供智能,舒适的发展空间和完善生活质量。智能家居是一个非常有前途的领域,其中有各种好处,如增加提供舒适性,更高安全性,更合理地使用能源和其他资源。这项研究的应用领域非常重要,未来它为帮助和支持有特殊需求老的人和残疾人士提供了强有力的手段。设计一个智能家居系统时需要考虑许多因素,该系统应该是经济实惠的,是可伸缩的,使得新的设备可以容易地集成到系统中,此外,它应该是用户友好的。随着智能手机用户的急剧增加,智能手机已经逐渐变成了具备所有功能的便携式设备,为人们提供了日常使用。本文介绍了一种低成本的控制和监视家居环境控制的无线智能家居系统。利用Android设备,可以通过一个嵌入式微Web服务器与实际的IP连接,访问和控制电器和远程的其它设备,这可以利用任何支持Android的设备。ArduinoEthernet用于微Web服务器从而消除使用PC与系统的需要,以访问智能用户认证家居系统。语音激活切换应用程序也被纳入到帮助用户特别是老人和残疾人中。2.相关文献智能家居虽然不是科学界的新名词,但它仍然远离人们的视觉与听觉。随着电子技术的融合,家庭自动化领域不断扩大。文献[5]到[10]提出了各种通过蓝牙控制的智能系统,文献【11】到【13】提出了各种通过互联网控制的智能系统,短消息服务(SMS)的基础[14],蓝牙功能等。目前大多数笔记本电脑/台式电脑,平板电脑和手机都有内置的适配器,将间接降低系统成本。然而,它限制了控制范围内的蓝牙环境,虽然大多数其他系统降低成本的解决方案不太可行。在【15】中,描述了一种基于Wi-Fi的家庭自动化系统。它使用一个基于Web服务器的PC(内置Wi-Fi卡)来管理连接的家用设备。用户可以管理和控制本地系统(局域网)或远程(网络)。该系统支持大范围的家庭自动化设备如电源管理组件和安全组件等。在文献【16】中提出了一个类似的结构,其行动是由运行在PC上的家乡代理实现的。其他文件如文献【17】到文献【20】也提出了由专用的Web服务器,数据库和管理设备的互联网页组成的网络控制系统。这些系统利用PC机从而直接导致成本的增加和功率消耗。在另一方面,网页的管理和发展也会带来额外的成本。文献【21】描述了一种基于语音激活的无线自动化的微控制器的设计与实现系统。用户说出的语音指令通过麦克风,处理和发送的语音信号通过无线射频(RF)链接到主控制接收单元。语音识别模块是用于提取语音命令的特征。该提取信号是不是由单片机处理执行所需操作。缺点是该系统必须在射频范围。参考文献【22】描述了一种声音激活智能家居自动化系统。本系统提供图形用户界面(GUI)使用微软VisualBasic软件的PC主机,并使用微软语音识别发动机。信号通过RF链路发送给单片机的家电器接口。PC的使用增加了成本和功耗消费。上述文献描述了智能家居系统的一个显着的优势。然而,PC机作为服务器,增加了成本和功耗,而第三方网页寄存,需要增加额外的成本。语音激活系统可以使用PC语音识别软件或单独的语音识别模块。3.系统的设计3.1系统的体系结构所提出的设计描述了一种低成本的智能家居的远程控制和监测系统。所提出的系统架构概述显示在图1中,该系统包括应用在Android平台上的发展和一个以太网为基础的Arduino平台微型网络服务器。并需要进行必要的操作。传感器和致动器/中继直接连接到主控制器。智能家居环境中,你可以从远程位置控制和监视使用智能家庭应用,这将通过互联网微Web服务器通信,Wi-Fi连接,或通过任何可用于用户设备上的互联网3G/4G网络。图1智能家居的网络架构所提出的设计提供的功能是能源管理系统等的控制功能例如照明,电源插头和HVAC(供暖,通风和空调)系统;安全和监控系统,如火灾探测和入侵检测与报警器和电子邮件通知;全自动智能家居环境控制,如保持一定的温度;语音激活的切换功能,如具有用户认证访问的智能家居系统。3.2.Android平台应用软件开发开发智能手机应用程序的平台有多种,如WindowsMobile,塞班,iOS和Android。在这些系统中,Android平台的应用程序开发使用Java程序设计语言,Android软件开发工具包(SDK),也已被用于开发和实现智能家居的应用程序的。该SDK包含了一套完整的开发工具如调试器,库,手机仿真器的文档,示例代码。Eclipse是官方支持(在Windows7的开发平台上运)的集成开发环境(IDE)已经被用在结合了Android开发工具(ADT)插件开发的智能家居应用中。智能家居的屏幕截图示于图2,而智能家居应用程序处理过程示于图3。图2智能家居的屏幕截图图3智能家居应用程序的进程处理智能家居系统设计的应用程序为用户提供了以下功能:1.远程连接到智能家居微Web服务器;需要服务器实IP和用户身份验证。2.设备控制和监测。3.计划任务和设置自动控制的智能家居环境。4.密码修改选项。5.支持语音激活的切换功能。为了成功地连接并访问智能家居微Web服务器,用户必须输入正确的真实IP地址和密码(请参阅图2.A)。如果微web服务器允许进入智能家居的应用程序,将收到包含响应代码200的响应数据包。该应用程序处理响应数据包,以确定微网络服务器的响应。响应码200表示密码是正确的,并且应用程序将切换到主控制页面,使用从所述响应分组中的数据,以反映该智能的实时状态同步家庭设备(见图2.B)。如果该密码不正确,响应码404将被接收。一般响应分组布局示于图4中的响应码和设备与他们的状态是通过在设备的空间分离,其状态是由一个冒号分隔。例如,如果用户从应用程序中要求开启灯1的动作是成功的,它响应的分组将是“200Light_1:1”。零表示关闭状态,而1表示用于切换功能的状态。图4响应分组的一般布局用户可以从被授权的GUI中执行所希望的操作。开关动作也可以通过使用该谷歌语音识别引擎设备上可用的语音激活执行(见图2.C)。密码也可以通过智能家居的应用程序的用户管理。点击GUI上的密码更改按钮,然后会要求用户输入旧密码(见图2.B)。如果新的口令不包含新密码,命令包匹配被发送到微web服务器。如果密码修改成功,响应代码201将被接收。自动模式也可以激活此处智能家居环境被自动地控制,例如保持一定室温并在夜间/白天,开启/关闭某些开关。当用户在智能家居应用中执行相关动作时,命令分组经由互联网发送到微web服务器。命令数据包的整体布局示于图5中。命令包是否格式化以这样一种方式,微网络服务器是很容易读取并提取从分组的信息。例如用于接通与defaultpassword风扇,发送的命令包将是“$$1234Fan_On”并为风扇速度设置为2的命令包将是“$$1234FanSpeed_2”。3.3智能家居微型网络服务器的软件开发微Web服务器的主控制器是由服务器应用软件和Arduino的微控制器固件组成的的智能家居系统的心脏。服务器应用软件是库实现使用的Arduino以太网屏蔽连接到互联网,通过TCP/IP,这可以作为在服务器和客户端上的ArduinoMega2560运行微web服务器的。以太网文库“Ethernet.h”被用来发送和接收数据在与微控制器一起使用。发送到智能家居的应用程序的输出消息是JavaScript对象符号(JSON)格式。利用Web服务是提供远程访问服务,或使应用程序之间相互沟通的最开放和可互操作的方式。简单对象访问协议(SOAP)和代表性状态传输(REST)是两类Web服务。但是,RESTFUL基于Web的服务已经采用,由于其重量轻,相比基于SOAP的Web服务提供类似的功能。标准GET和POST请求的操作已被用于智能家居应用程序的微型网络服务器之间的通信。例如,如果在智能家居应用的用户动作是激活房子报警系统,随后的消息交换发生的示于图6。图6智能家居app和微网络服务器之间的消息交换主控制器通过初始化以太网,建立它们之间的连接。变量包括状态变量的初始化和单片机的中断使能。如果被运行的第一次与智能家用服务器代码的主控制装置,那么1234的缺省口令被初始化。否则,该密码被从EEPROM读取和存储于密码变量。密码被存储在微控制器的EEPROM,以便主控制器完全关闭,这可能是由于某些原因,如低或无电源或者用户重新启动系统之后开始仍然可用。在初始化后,系统进入空闲模式之前,客户端被提供。图7示出了用于主控制器的一般流程图。客户端提供的命令包被接收并且信息被提取。一旦该命令包被接收并且数据被提取或解码则执行操作子例程处理该认证检查和动作进行。图8示出了用于表现动作的子程序的流程图。图7主控制器的操作的流程图图8主控制器执行操作的子程序一旦执行操作子程序被调用时,用户认证是密码验证。如果该密码不正确,该响应被发送回客户机,用户应用程序的客户端断开。然而,如果验证是正确的,然后请求的动作被执行。发送用于不同操作的响应码执行已经讨论过。如果请求的操作是改变密码,然后新密码写入EEPROM,密码变量初始化为新密码。之后进行的每一个动作,所述响应分组发送到之后,响应代码被初始化到404的客户端。单片机的中断是用来忽视安全和监控,如烟雾,火灾,煤气或入侵检测。如果任何一个传感器被触发,产生中断。微控制器随后确定中断的已生成的类型。一旦中断生成的类型是已知的,警报器被接通和电子邮件通知发送到用户指定的交友包括用户。例如,如果火是厨房里检测到用户收到的电子邮件将电子邮件的主题为“智能家居报警”和身体作为“消防检测的厨房”。用户可以从用户的应用程序关闭警笛或者它会在一定的时间周期取决于用户的要求后自动关闭。3.4智能家居设备TheArduinoMega2560和Arduino的以太网盾已经被用于实现智能家居微Web服务器。Arduino是基于灵活,易于使用的硬件和软件的开源电子原型平台。ArduinoMega2560微控制器板是基于具有54数字输入/输出管脚的A