一种物联网智能家居系统的研究

2011-09-19 13:24俞文俊凌志浩
自动化仪表 2011年8期
关键词:智能家居服务器无线

俞文俊 凌志浩,2

(华东理工大学自动化系1,上海 200237;化工过程先进控制与优化技术教育部重点实验室2,上海 200237)

0 引言

为了满足社会对生产、生活各个环节不断增长的智能化、便捷化的要求,物联网(internet of things,IoT)伴随着电信技术、互联网技术和IT技术的发展融合应运而生。所谓物联网就是指在物理世界的实体中部署具有一定感知能力、计算能力和执行能力的嵌入式芯片及软件,使这些实体成为“智能物体”,并通过网络设施实现信息传输、协同和处理,最终实现物与物、物与人之间的通信[1]。物联网主要具备以下三个特征:①全面感知,即能够随时随地获取实体的信息;②可靠传递,即要求将实体的感知信息实时准确地传递出去;③智能处理,即要求对海量的数据信息进行高效的分析和处理并实现对实体的智能化控制。

目前,物联网的应用领域主要包括物流监控、污染监控、智能检索、远程医疗、智能交通和智能家居(smart home)等[2]。其中,智能家居因其应用前景广阔、潜在市场需求巨大且发展迅猛而受到厂商的广泛关注。智能家居就是以住宅为平台,利用综合布线技术、网络通信技术、安全防范技术、自动控制技术和音视频技术,实现家居设备的集成,从而构建高效的住宅设施与家庭日程事务的管理系统,满足用户对家居的安全性、舒适性需求。

1 系统框架结构设计

智能家居系统依据全面感知、可靠传递、智能处理的功能需求,可划分为感知层、网络层和应用层三个层次。

①感知层

感知层包括各类搭载了ZigBee无线通信模块的家用电器、照明设备和安防设备等,实现对家庭环境的全面感知,并由智能家庭网关实现感知层和网络层的数据交互。

②网络层

网络层包括一台数据库服务器和一台Web站点服务器。数据库服务器用于同家庭数据网关进行数据交互;Web站点服务器通过访问上述数据库服务器获取数据将信息,并通过Web站点发布到互联网上。

③应用层

应用层包括各类搭载了Web浏览器的终端设备,用户可通过Web浏览器访问上述站点实现对智能家居系统的管理和控制。

智能家居系统的总体架构如图1所示。

图1 系统框架结构Fig.1 Framework of system

2 系统硬件设计

智能家居系统的硬件主要包括无线传感网络、智能网关、数据库服务器等的设计,具体介绍如下。

首先,对处于感知层的ZigBee无线传感网络进行设计,包括多个ZigBee终端/路由节点和一个ZigBee协调器节点。通过在家居设备节点上搭载上述ZigBee通信控制节点,将散布在家庭环境中的各个设备节点组成无线传感网络,从而实现各类家居设备的连接以及智能化。其中,ZigBee协调器负责整个无线传感网络的组网和路由维护,并实时地将无线传感网内节点的感知数据上传给监控用PC,同时接收并转发由上述监控用PC发送来的控制数据。

然后,将上述监控PC机通过WiFi或以太网,与Internet路由器相连接组成家庭智能网关。其中,PC机在数据下行侧与无线传感网络中的协调器通过RS-232串行通信接口相连接;路由器在数据上行侧与数据库服务器通过互联网相连接,通过“PC机+路由器”的模式实现了连接传感网与互联网间的网关功能。通过上述“PC机+路由器”的模式,实现了连接传感网与互联网间的网关功能。

同时,在互联网中搭建一个基于 Microsoft SQL Sever 2005的数据库服务器,用于与上述路由器进行数据交互,并对这些数据进行智能分析处理和存储;另外搭建一个基于.NET框架的Web站点服务器,通过访问上述数据库服务器获得实时的家居环境数据,并通过Web站点发布给用户;接着将在Web页面上接收到的用户指令交递给数据库服务器。

最终,远程用户通过各类搭载了Web浏览器的终端设备访问Web站点,以实现对家居设备的监视和控制。

整个系统主要由无线传感网络、监控用PC、路由器、数据库服务器、Web站点服务器以及各类终端设备组成,系统硬件架构如图2所示。

图2 系统硬件架构Fig.2 Hardware framwork of system

3 无线组网技术

智能家居领域的组网技术一般可分为有线组网和无线组网两种技术。目前,有线组网技术应用于电话线、电力线和以太网等,有线组网都不同程度地存在着布线繁琐、扩展性差、影响家居美观等缺点。新兴的无线组网技术在智能家居应用领域中则具有得天独厚的优势,其无需布线、便于安装和后期维护、容易迁移和扩展等特点,特别适合灵活的家居应用场景。这些优势使无线组网技术正逐渐取代有线组网技术,成为智能家居系统末梢网的主流组网技术[3]。

在智能家居系统的实际应用环境中,一般对设备节点的信息采集速率和命令发送速率要求都比较低。典型情况下,一般要求采集速率和发送速率为十几kbit/s左右即可满足要求[4],但对信息传输的可靠性和网络容量要求较高。在目前常见的无线组网技术中,与脉冲无线电、Z-Wave、蓝牙、Wi-Fi等技术相比,ZigBee作为一种低功耗、低成本、低速率和低复杂度的近程无线通信技术,特别适合智能家居系统的应用特点,并被业界广泛采用[5]。

在ZigBee无线传感网络的建立过程中,首先需要由协调器初始化网络。为了避免与其他工作在2.4 GHz设备间的信号干扰,协调器首先在其16个信道中扫描并选择出一个能量最小的信道,并在其上建立自己的网络。由于信道的个数只有有限的16个,所以在复杂的应用场景中还可能存在多个网络共享一个信道的情况。ZigBee协调器通过给网络指定不同的个域网网络标志符(personal area network ID,PANID)来解决这个问题。PANID的设定范围是0x0001~0x3FFF,不同的ZigBee网络通过不同的PANID来识别彼此间的区别,避免干扰。当路由器和终端设备启动之后,在没有被强制指定过PANID的情况下,协调器会定时扫描16个信道,在发现网络之后会自动加入,从而实现家居设备的自组网过程[6]。

4 系统软件设计

4.1 数据库管理系统设计

位于智能家居系统网络层的数据库服务器,汇聚了由感知层传来的各类节点的数据信息。为了将众多数据进行有效的归纳汇总,并且最终实现智能的分析管理,就需要用到数据库管理系统。数据库管理系统是一个通过数据结构来管理和存储数据的计算机软件系统,具有数据安全性控制、数据完整性控制、并发控制以及故障发现和恢复等功能[7],能够对存储在计算机内的数据集合提供高效、灵活的访问方式。。

本系统采用Microsoft SQL Sever 2005作为数据库管理系统,并通过设计用户信息管理模块、设备信息及活动状态管理模块和汉英互译模块三个模块,来满足智能家居应用的具体需求。

用户信息管理模块包括一张存储用户ID、用户登录名、登录密码、访问权限以及计费信息的表单。计费信息表单以用户ID作为主键,每个用户ID对应一条不重复的记录。用户只有在通过认证后才能登陆Web站点并获取数据服务,同时依据其具有的访问权限对自有设备进行管理和控制,并且按照一定的计费方法支付给服务提供商费用。

设备信息及活动状态管理模块由四张表单组成,分别为节点信息注册表、设备实时活动状态记录表、设备历史活动记录表和节点类型记录表。

①节点信息注册表,它用于保存节点的静态描述信息,包括节点ID、节点类型和节点所有者等信息。该表单使用节点ID作为主键,每个节点通过节点ID对应一条不重复的记录,用于记录节点的各种基本属性。

②设备实时活动状态记录表,它用于保存节点的动态描述信息,即节点当前的活动状态信息,包括节点ID、当前指令执行内容、当前指令执行状态和当前节点活动状态。该表使用节点ID作为主键,每个装置节点通过节点ID对应一条不重复的记录,并根据感知层发送上来的信息对其进行实时更新。

③设备历史活动记录表,它用于保存节点的历史活动信息,包括节点ID、节点历史事件时间记录和节点历史事件内容记录。该表使用节点ID作为主键,每个装置节点通过节点ID对应多条不重复的历史活动记录,以备数据库管理系统访问调取。

④节点类型记录表,它用于保存不同类型节点的能力描述信息和指令集信息,包括节点类型和节点可执行指令。该表单以节点类型为主键,每个节点类型对应多条不重复的记录,每条记录对应一条不同的可执行指令,如照明类型节点需要有开关指令和亮度调节指令,空调设备需要有模式控制和温度设定等指令。

在感知层和网络层的信息及指令交互过程中,为了便于各个功能模块对数据进行处理以及转发操作,系统内部均采用了英语作为交互语言;而在通过Web页面向用户呈现节点状态及接收用户控制指令时又需要将上述信息进行汉化,故设计了英汉互译模块。汉英互译模块包括一张用于英汉互译的汉英字符串互译对照表。该表单以英语字符串为主键,每条英语字符串对应一条相应语义的汉语字符串。

为了在应用层向用户提供更为直观的数据服务,需要将这些数据在Web页面显示时进行汉化。

4.2 基于ADO.NET的数据库访问技术

在网站程序开发过程中,涉及到网站对数据管理系统的数据访问。本系统中采用了基于ADO.NET的数据访问技术,以实现数据管理系统与SQL Sever 2005数据库管理系统的数据交互。基于ADO.NET的数据访问技术与ASP.NET同属.NET应用框架。ADO.NET可对可扩展标记语言(extensible markup language,XML)提供全面支持,并且提供全新的非连接数据缓冲模型。这使得其在构建结构松散的、非链接的Web应用程序时有着得天独厚的优势。ADO.NET包括两个核心组件:NET框架下的数据提供程序(data provider)和数据集(dataset)。前者实现对数据的操作以及快速只读访问,后者则是具体的数据库容器。数据提供程序包括四个对象:即用于实现与数据库连接的Connection对象、在数据源中执行SQL命令的Command对象、通过Command对象实现对数据库快速检索的DataReader对象、使用Command对象将数据加载到DataSet中并确保DataSet中数据的更改与数据源保持一致的Data-Adapter对象。

数据库的各类数据原语操作如下。

4.3 基于ASP.NET的网站设计

传统的客户端/服务器(client/server,C/S)结构虽然具有运行速度快、数据安全性高等优点,但其运行还需要在用户访问终端安装额外的客户端软件。考虑到本系统需要支持手机对服务器的访问,而手机设备往往由于自身资源有限而不足以支持客户端的运行,因此,本系统采用浏览器/服务器 (browser/sever,B/S)结构进行设计[8]。

与C/S结构相比,B/S结构最大的特点就是无需安装客户端,可以在用户不安装额外软件的情况下提供服务。B/S结构将应用程序和数据全部集中安放在Web服务器上,用户则统一使用Web浏览器来访问Web服务器,并运行加载在其上的程序和数据[9]。因为系统的更新维护以及数据管理都在服务器上进行,所以也可以很容易对其进行功能扩充。

Web服务器主要有 CGI、PHP、JSP 和 ASP.NET 四种开发技术,本系统采用了基于ASP.NET的技术作为网站开发技术。ASP.NET以其独特的缓存技术,使得在处理用户相同的Web访问请求时无需重新加载页面[10]。因此,这种技术具有很高的页面处理速度和运行效率,特别适合应用于服务器和用户信息交互频繁的智能家居系统。

针对管理员、普通用户和来宾这三种不同的用户类型,网站被设计成了与之对应的三个模块。整个网站的系统流程如图3所示。

图3 网站的系统流程图Fig.3 Flowchart of the web site

5 结束语

随着物联网技术深刻而迅猛的发展,智能家居作为其中一块应用前景广泛而且潜在市场巨大的应用领域,其价值越来越引起各大厂商的关注。本文从智能家居系统的具体应用需求出发,针对用户服务访问设备资源有限的特点,设计了一个基于B/S架构的物联网智能家居系统,提出了一种有效的智能家居系统实现方式。

[1]屈伟平.物联网掀起新的信息技术革命浪潮[J].物流技术与应用,2009(11):42 -45.

[2]朱仲英.传感网与物联网的进展与趋势[J].微型电脑应用,2010(1):1 -3.

[3]花铁森.智能家居系统核心技术探讨[J].智能建筑电气技术,2009(2):92-98.

[4]喻楚云.Zigbee在家庭远程遥控管理系统中的应用[J].大连民族学院学报,2006(3):60 -61.

[5]顾牧君.智能家居设计与施工[M].上海:同济大学出版社,2004:15 -31.

[6]凌志浩.ZigBee无线通信协议的技术支持及其应用前景(上)[J].世界仪表与自动化,2006,10(1):44 -47.

[7]王珊,萨师煊.数据库系统概论[M].北京:高等教育出版社,2003:151 -199.

[8]黎卓虹.基于三层结构数据可视化的开发及应用[J].微计算机信息,2006(7x):31 -33.

[9]Khosravi S.ASP.NET 2.0服务器控件与组件开发高级编程[M].郝刚,田亮君,陈文,译.北京:人民邮电出版社,2007:34 -67.

[10]李英俊,毕斐.ASP.NET动态网站开发教程[M].北京:清华大学出版社,2006:82 -116.

猜你喜欢
智能家居服务器无线
《无线互联科技》征稿词(2021)
基于PLC的智能家居控制系统研究
通信控制服务器(CCS)维护终端的设计与实现
PowerTCP Server Tool
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
基于Zigbee的无线通信技术在智能家居中的应用
智能家居发展或将实现弯道超车
得形忘意的服务器标准