文献标识码:A
文章编号: 0258-7998(2014)09-0114-04
智能家居的概念自提出以来,近几十年得到了迅速的发展。由于软硬件技术的限制,智能家居的研究有一定的时间局限性。
随着社会的发展,生活水平不断提高,人们在追求舒适化的基础上开始追求智能家居的可视化和人性化[1],这就为智能家居人机交互方案[2]提出了更高的要求,用户友好互动型的人机界面已经呼之欲出。因此,可与用户友好互动的三维虚拟现实[3-4]技术找到了市场应用前景。
本文借助Flash 3D引擎,使用ActionScript 3.0语言构建三维虚拟场景,并通过Web实现三维界面与家居设备的远程监测与实时控制,从而在家居智能化的前提下,实现了人机交互的人性化和互动性,提高了用户的沉浸感和漫游感。
1 系统构建
1.1 系统整体构架
随着智能家居的发展,市面上出现了许多智能家居系统构建方案[5-6]。本文提出的系统构架如图1所示。
此系统构架采用4层独立分层模式,分别为客户端层、服务器层、智能终端层和家居设备层。其中,用户的远程操作通过Web的HTTP/TCP协议传送到服务器;服务器响应请求并向智能终端发送命令;安装在家里的智能终端接收并分析该命令,通过无线网络直接控制家居设备来响应各项指令;家居设备执行命令后,又将数据反馈给智能终端,智能终端再通过服务器反馈给用户端,从而实现远程操作。
1.2 系统各模块的设计
1.2.1 智能终端
系统中的室内智能终端是智能家居的核心设备。家庭安装的所有传感器模块和电器控制模块都是通过与智能终端进行通信来完成各自的功能,并且服务器也通过与智能终端通信,实现设置、监测各传感器模块和控制各种电器的功能。智能终端硬件主要由主板、液晶屏、摄像头、无线模块、麦克风、扬声器等组成。
1.2.2 无线网络模块
本系统通过智能终端内设的无线接发模块与各电器实现无线通信,具体布局如图2所示。安装在室内的智能终端通过无线局域网将从Web网络接收到的信息传递给各个用电模块和传感器,传感器也通过无线传输设备将检测到的数据反馈到智能终端。室内无线局域网络可以减少室内布线带来的成本问题与维护问题,同时也使系统构架更加简单、灵活,易于系统的扩展和改进,便于现有家居安装。
1.2.3 传感器模块
本智能家居控制系统涉及大量的信息采集,如室内环境参数、安防传感器状态等,这些状态都要通过无线方式上传到智能终端。因此,本系统配备了各式各样的无线传感器模块,用于采集家居的各种信息,并实时上传到智能终端。
2 基于Web的三维虚拟实现方案
2.1 3D平台的搭建
为了搭建3D平台,需通过三维设计软件构造出3D虚拟场景中的各种实体。随着三维软件功能的扩展,三维设计已经变得越来越容易,现在比较流行的三维软件有Pro/E、Solidworks、3DS Max等。由于3D模型不能直接嵌入到Web中,因此,必须要将绘制的3D模型导入到Flash引擎中并由Flash来完成对模型的控制。目前市场上存在的如Away3D 、Sandy3D等各种3D Flash开源软件,基本上都具备相当强大的支持三维界面的功能。将由Flash 引擎处理后的三维界面导出后嵌入所设计的Web 网站,就实现了整个3D 平台从实体创建、设计调控到网络使用的搭建过程,如图3所示。
2.1.1 3DS Max设计三维模型
本系统使用3DS Max软件构建家居实体,并导出其.obj格式,这将是所需要的标准格式。另外,还可以利用软件具有的贴图功能,将家庭实物的平面图粘贴在三维模型表面,以提高虚拟实体与家居物体的相似度,进一步提高虚拟现实的效果。
考虑到Flash软件的性能限制,三维模型的大小是必须要注意的问题。房间的三维模型设计图如图4所示。当智能家居的各个虚拟实体画好后,构架三维场景的基本材料就全部准备好了。
2.1.2 Flash对三维界面的支持
这里选用Flash 11.0来支持3D平台的构建与展示。Flash 11自带的stage 3D API 大大提高了其处理三维场景的能力,并使三维开发变得更加简单易行。本设计基于Flash Builder开发平台,利用ActionScript 脚本语言实现对三维模型的配置和控制,将各个分散的三维模型整合成一个完整的虚拟现实的家居场景,使用户可以通过操纵键盘和鼠标在三维虚拟实景中漫游。经Flash 平台开发后的三维虚拟实景局部如图5所示。
2.2 三维场景的Web嵌入与数据通信
经过Flash处理过的三维场景只是具备了在Flash 平台进行演示的功能,必须将此产品发布到网上后,用户才能直接访问。这里利用J2EE技术创建一个三维家居的网站,并采用B/S(Browse/Server)模式作为网站的整体构架。
在本系统的构架中,用户通过浏览器向分布在网络上的许多服务器发出请求,服务器对请求进行处理,将Flash处理后的三维家居界面返回到浏览器。B/S结构简化了客户机的工作,客户机只需配置少量的客户端软件,服务器将担负更多的工作,对数据库的访问和应用程序的执行将在服务器上完成。这些都极大地方便了系统的推广和维护。通过得到.swf文件,将此文件配置在服务器支持的Web工程中,并将此链接到网站服务器支持的一个JSP页面,用户登录网站后,此JSP页面便会呈现出设计好的三维虚拟场景。
用户能够通过对三维虚拟场景实现对家居实景的控制,这其中不仅涉及复杂的软硬件搭配,更重要的是系统包含的相当复杂的数据通信过程。系统基于Web的数据通信过程如图6所示。
用户打开浏览器登录智能家居网站之后,下载智能家居swf插件,插件通过与服务器通信获取XML信息,然后家庭3D场景和实物库配置成智能家居虚拟场景。用户能够在虚拟场景中漫游,得到对真实家庭场景真切的身心体验。同时,如果用户对家电实施操作, Web网页上就会弹出对话框,然后通过HTTP协议向服务器请求数据,服务器通过控制单元获取用户请求的XML信息,再通过无线方式控制家电,完成用户的操作。
家电完成操作后,反馈给智能终端,智能终端再将信息反馈给服务器,服务器实时更新数据,这些数据就会被下载到客户端,这样,用户就能在客户端看到家电的变化。以空调为例,空调XML文件的配置信息如图7所示。
由于XML语言具有自描述、可扩展、便于存储和传输等优点,因此采用XML文件来配置家居的各项属性,其中定义了家居设备的唯一性标识id、三维空间位置position3d、三维文件上传路径path3d、电压voltage、电流current等。
3 实验验证
利用实验室搭建好的硬件平台对此系统进行演示实验,分别对实验室的空调、白炽灯、窗帘及热水器等电器设备进行实验验证,取得了很好的效果。这里以空调和白炽灯的控制为例进行说明。登录系统后,系统开始运行,检测到被控白炽灯未打开,所以灯泡以常色显示。在三维虚拟场景中单击灯泡控制按钮并选择开灯,随着继电器的闭合,实验室的灯泡打开,并改变数据库里的XML有关灯泡的状态信息。三维场景检测到灯泡状态的改变后将虚拟场景中的灯泡“打开”,并以红色高光显示。同样,空调的控制过程如图8所示。在三维场景中单击空调,在空调的控制按钮中设置好空调的各项参数,单击确定后系统将根据各项参数通过Web服务器更改数据库里有关空调的配置文件。智能终端检测到空调配置信息的改变,模拟空调的遥控器发出红外信号从而控制空调做出相应的动作。安装在空调扇叶旁边的传感器检测到扇叶的运动,将采集扇叶摆动角度的数据,并更新数据库里的信息。三维场景里的空调检测到叶片角度的改变,将角度数据作为参数传递给控制空调叶片摆动的函数,扇叶就会随着实际物体的开合而运动,使用户恍若身临其境。
本文提出的基于Web的智能家居系统和三维人机交互方案在实现家居智能化这一前提条件下,利用虚拟现实技术人性化地创建了三维人机交互界面,提高了用户的沉浸感和现实感,增强了人机互动,为智能家居行业的发展提出了一个新的思路。同时为方便用户使用,本文提出了一个能够快速布局三维虚拟场景的方案,使系统的扩展性和柔性得到了大大提高,为虚拟场景的二次开发奠定了良好的基础。
参考文献
[1] HOSSAIN S K A,RAHMAN A S M M,El SADDIK A.Bridging the gap between virtual and real with second life client in a virtual home automation system[C].Electrical and Computer Engineering(CCECE),2011 24th Canadian Conference on,IEEE,2011:001212-001217.
[2] 张斌,饶培伦.智能家居人机交互绩效的实验分析——界面智能程度及任务认知模式的影响[J].工业工程与管理,2007,12(3):99-103.
[3] Hu Wenshan,Liu Guoping,Zhou Hong.Web-based 3D control laboratory for remote real time experimentation[J].Industrial Electronics,IEEE Transactions on,2013,60(10):4673-4682.
[4] 林志勇,孟令奎,赵春宇.基于多智能主体的网络虚拟现实系统体系结构[J].武汉大学学报(信息科学版),2007,32(4):340-342.
[5] MURPHY S.甜蜜的智能家居[J].电子技术应用,2012,38(3):9-10.
[6] 杨利平,龚卫国,李伟红,等.基于网络技术的远程智能家居系统[J].仪器仪表学报,2004,25(3):308-311.