APP下载

基于ZigBee、WiFi和云服务器集群的智能家居系统设计

2018-01-25王易川李文钧

物联网技术 2018年1期
关键词:智能家居物联网

王易川 李文钧

摘 要:为了实现家居生活环境的智能、舒适与便利,并针对目前智能家居可扩展性差、远程监控能力弱和大数据量高并发等问题,文中设计了一款基于ZigBee、WiFi和云服务器集群的适用于多终端远程监控且能应对大数据量高并发量的系统。该系统由云服务层、通信网络层、终端传感网层构成。终端传感网层解决了可扩展性问题;云服务层解决了远程监控和大数据量高并发量问题,同时也可以扩展服务。实验结果表明,该系统操作便利、可扩展性强、负载能力强、成本低,可以广泛地推广使用。

关键词:物联网;智能家居;ZigBee;WiFi;云服务器集群

中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2018)01-00-04

0 引 言

随着科技的发展和人们生活水平的提高,居住环境备受关注,家庭生活中的舒适、安全与便利逐渐成为当下的热点。智能家居是以物联网技术为基础,以住宅为应用场景,由硬件 (节点、网关)、服务器、终端软件(Web、App、微信小程序)构成的家居闭环生态圈。目前,智能家居系统中存在的可扩展性差、远程监控能力弱和大数据量高并发量问题,是制约智能家居发展的重要因素。本文从智能家居的实际需求出发,综合利用ZigBee、WiFi和云服务器集群技术设计了一种三层架构的智能家居系统,很好地解决了上述问题,具有很高的应用价值。

1 系统总体设计方案

本设计研究的基于ZigBee、WiFi和云服务器集群的物联网智能家居系统由云服务层、通信网络层、终端传感网层构成。整体框架如图1所示。通过在住宅中布设多种传感器设备,可实时采集住宅环境参数,并将所采集到的信息通过通信网络上传到云服务器集群平台,经分析和处理后,可在监控终端实时监控家居环境,并可对电视机、空调、电动窗帘、电灯、门禁系统、云摄像头等进行远程操控。

(1)云服务层:以云服务器集群作为智能家居系统运行和管理的平台,主要包括网关端服务集群、业务处理模块集群、客户端服务集群、负载均衡、后台管理中心、监控中心和数据中心。

(2)通信网络层:系统可通过 WiFi 将网关数据(来自终端传感网层的节点数据)上传到云服务层,同时将来自云平台的控制指令下发至终端传感网层中的传感节点、控制器等设备。

(3)终端传感网层:主要包含信息采集设备和可控设备,通过传感器节点、RFID、读写器等信息采集设备采集信息,并通過通信网络层上传给网关;通过家居控制器、全视角红外遥控器等设备接收上层下发的控制命令,实现对家电、门窗等设备的控制。

2 系统主要通信协议

无线传感器网络可以采用的几种无线通信技术的比较[1]见表1所列。

本系统选择ZigBee无线通信技术作为无线传感器网络通信技术,且采用其星型拓扑结构;选择WiFi技术作为网关与路由之间的无线通信技术。

ZigBee是一种短距离、低功耗、低成本、低复杂度的双向无线通信技术,可以在很多微小的传感器之间相互协调实现通信,能够为用户提供机动、灵活的组网方式,非常适合于智能家居网络。

ZigBee协议分为两部分,如图2所示,由IEEE 802.15.4和ZigBee联盟分别定义,应用框架层则由用户根据需求自定义。

ZigBee协议栈将各层定义的协议集合在一起,以函数的形式实现,并给用户提供可以直接调用的API。Z-Stack是协议栈中的一种, 其工作流程如图3所示。

3 系统具体设计

3.1 节点设计

一个节点就是一个模块,节点硬件平台都是相似的,只是搭载的传感器或控制器不同。这些节点是整个系统的基本组成单元,主要包括温度节点、湿度节点、烟雾节点、光敏节点、空气质量节点、一氧化碳探测节点、可燃性气体节点、人体热释电节点、全视角红外节点、窗帘节点、灯光节点、门禁节点、插座节点、摄像头节点。

节点主芯片采用ZigBee新一代SOC芯片CC2530,CC2530是真正的片上系统解决方案[2],同时还可以配备协议栈来简化开发。本系统中采用Z-Stack协议栈进行开发,在使用IAR + Z-Stack协议栈开发节点软件时,由于各个传感器节点采集和监测的变量不同但功能相似[3],因此经过简单修改即可应用到其他模块,极大地提高了系统的通用性和可扩展性[4]。节点的程序流程如图4所示。

节点在完成硬件初始化工作后,微处理器将读取功能单元的信息,并识别功能单元的作用。之后,节点需要向网关注册,只有注册成功,节点才能够接入家居网络进行工作。如果接入的模块是传感器,终端设备将会以一定的周期获取传感信息,并将数据上传到网关。如果接入模块为控制单元,那么终端设备将会等待网关的控制命令,在收到控制命令后作出相应的操作。

3.2 可控电器设备

可控电气设备采用生活中的电气设备,如节能灯、智能插座、电动窗帘、门禁、电视、空调等。设备主要分为两种:一种是开关量设备,如节能灯、智能插座等;一种是非开关量设备,如电视机、空调等。对于开关量设备的控制,主要通过继电器实现[5];对于非开关量设备的控制,则通过红外自主学习功能实现。

3.3 网关设计

网关是通信网络层与终端传感网层之间的桥梁,它接收底层终端传感网层采集到的现实物理世界的数据信息,并将这些数据上传至上层的云服务层,云服务层对这些数据信息进行监控、分析、存储和处理等操作后产生相应的操作命令,再通过网关传送给底层的终端传感网层,从而实现对底层终端设备的控制和操作[6]。

系统中的网关实现了WiFi和ZigBee两种通信协议之间的转换,使得入网设备可以和WiFi或ZigBee各自网络内的节点设备通信[7]。采用飞思卡尔i.MX53作为核心控制芯片,运行Linux操作系统,此芯片基于ARM Cortex?-A8 内核,主频为 1 GHz,性能强、功耗低。WiFi模块采用WM-G-MR-09芯片,该款芯片支持802.11b/g无线网络模式,其规格为8.2 mm×8.4 mm×1.35 mm,休眠时功耗为0.6 mA,处于接收数据模式时功耗为170 mA,当其处于发送数据模式时功耗为265 mA,完全符合系统要求[8]。ZigBee协调器模块采用CC2530芯片。

网关结构如图5所示。

对于网关的软件设计采用内核版本为2.6.35的Linux操作系统,Linux是开源操作系统,内核可以被裁剪,支持大量硬件接口,适用于对成本、功耗、可靠性等有要求的嵌入式系统。网关系统初始化后,连接路由器与云服务器,连接成功后进入监听状态,此时可以接收来自WiFi和ZigBee的数据。在接收了WiFi数据后进行判断,如果是控制数据则会转发至ZigBee协调器;否则就是终端上传的数据,将其转发至云服务器。ZigBee协调器一直轮询是否发生事件,根据事件作出相应的动作。

网关工作流程如图6所示。

3.4 云服务器集群设计

之前智能家居系统通常以智能网关为中心,以一个家庭为单点,采用局域网的形式进行数据交互,无法实现远程控制;如今智能家居系统已采用局域网与互联网相结合的方式,以服务器为中心,进行数据的接收与处理,从而实现远程控制。但家居系统的增多,带来了大数据量和高并发量的问题,所以服务器的设计,直接关系着系统的远程监控能力和应对大数据量及高并发量的能力,而这也是研发的难点。

利用云计算技术缓解资源压力已成为一种发展趋势,同时也可以降低成本。云计算按服务类型可分为IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)[9];按是否公开发布服务,可分为公有云、私有云、混合云。本系统采用的云服务平台是阿里云的ESC服务器,属于IaaS,通过多台ESC服务器自行组建私有集群,充分利用了云计算的优势。这样不仅能够降低前期开发成本,还能节省后期维护成本。

在设计云服务平台时要考虑以下需求:在面对大数据量和高并发量时依然能够保证服务质量,及时处理各类意外情况;能够响应客户端的各种请求;网关与云服务器保持长时间连接;具有低时延的数据转发通信链路。由于单节点服务器存在性能瓶颈和易崩溃的缺陷,通常单节点的云服务平台无法满足要求,而集群模式具有高性能、高可用、伸缩性、扩展性、一致性、安全等优点,因此本系统采用集群模式设计云服务器。首先将云服务平台按功能进行模块拆分,保证单个模块的完整性和独立性以及模块间的低耦合度;然后将单个功能模块部署成集群,即多台服务器部署相同应用构成一个集群,通过负载均衡设备共同对外提供服务。另外,由于Java是一种跨平台、适合分布式计算环境的面向对象的编程语言,而且有很多开源成熟的框架和中间件,可以降低开发周期和成本,因此云平台的开发语言主要使用Java。

云服务器平台总体设计架构如图7所示。

主要模块有网关端服务集群、业务处理模块集群、客户端服务集群、负载均衡、后台管理中心、监控中心、数据中心。集群内部及三大模块集群之间通过局域网通信,速度快、效率高,各模块互不干扰、各司其职,耦合度较低。

网关端服务器集群是系统中的集成接入模块,通过统一接口屏蔽了底层硬件的复杂性,主要负责与网关通信,与业务处理模块集群进行信息交互,提供实时稳定的服务。服务分为两种:一种是数据采集,包含主动定时采集和被动接收实时上传的数据;另一种是数据传送,包含接收业务处理模块传送来的指令并下发以及传送网关数据至业务处理模块。

业务处理模块集群是云服务平台的核心模块,负责处理系统的核心业务,控制所有业务功能的流转。

客户端服务集群为监控终端提供稳定、可靠、实时的服务,监控终端为电脑、手机、平板等支持HTTP协议的设备。

负载均衡设备根据负载调度算法,将请求调度到合适的服务器节点,保证各节点共同提供稳定可靠的服务。使用Nginx服务器可实现负载均衡,也可在客户端服务集群前实现反向代理。每处都需要部署两台Nginx服务器,这是主备双机的冗余机制,可防止宕机。

后台管理中心提供客户信息管理、网关信息管理、节点信息管理等服务。采用由Strut2、Spring和Hibernate搭建而成的成熟SSH框架,這是一个B/S架构使用HTTP协议的Java Web网站[10]。

监控中心负责监视、收集服务器节点的运行状况、故障报警、负载状况、健康状况等信息,可保证系统各个模块及集群稳定运行。

数据中心为系统提供数据存储服务,主要包括传感网节点设备信息数据、集群中节点状态数据、监控终端的数据等。

如果后期用户量和数据量持续增大,可进行系统升级。对于客户端服务集群,可将其再细分,并将细分出来的功能独立的模块再进行集群化部署,使用反向代理和负载均衡服务器对外提供服务。例如可分离出SSO(单点登录系统)、查询搜索系统等,然后再将分离出的系统部署成集群模式,以应对更高的并发和海量数据。业务处理模块和网关服务模块也可作类似的分离升级。

4 结 语

本文提出了一套从底层硬件到上层云平台的三层架构系统设计方案[11],采用ZigBee和WiFi无线网络技术,并结合云服务器集群技术达到对家居系统的智能化控制。终端节点采用功耗低、成本低、通用性强的模块设计,符合家居传感器的设计要求。上层软件采用云服务器集群架构,运用模块化、集群化的设计,使系统具有较强的性能和可扩展性,有效地解决了智能家居中大数据量高并发量的问题以及远程监控能力弱的问题。该方案实现了一种分层架构、可应对大数据量与高并发量、可多终端远程监控、可扩展的智能家居系统,具有较好的应用前景。

参考文献

[1] 张文川.无线传感网络技术在地下工程检测中的应用研究[D].南京:东南大学,2015.

[2] 马丽萍,张卫国.基于ZigBee的电能质量监测系统的研究与设计[J].电源技术,2012,36(8):1192-1195.

[3] 高翔,邓永莉,吕愿愿,等.基于Z-Stack协议栈的ZigBee网络节能算法的研究[J].传感技术学报, 2014,27(11):1534-1538.

[4] 薛震南. 基于物联网的智能家居研究[D]. 南京:南京大学,2013.

[5] 戴建,史志才,吴飞,等.基于三层架构的智能家居系统研究与实现[J].电子测量技术,2016,39(1):114-118.

[6] 何海燕.基于树莓派的智能家居系统设计与实现[J].中国高新技术企业,2016(17):11-12.

[7] 王旭辉.一种用于环境远程监测的ZigBee-WiFi网关研制[J].城市建设理论研究,2014(19):554-555.

[8] 王俊青. 基于WIFI的无线图像采集系统设计[D]. 合肥:安徽大学,2016.

[9] 余晓杉.云计算数据中心光互连网络的研究[D]. 西安:西安电子科技大学,2013.

[10] 李健,田立峰,郭瑞.Java SSH框架在Java Web中的应用[J].电脑与电信,2016(3):69-72.

[11] 李文斌,李文钧.基于B/S架构的户外监护系统设计与实现[J].物联网技术,2014,4(1):60-62.

猜你喜欢

智能家居物联网
基于Zigbee的无线通信技术在智能家居中的应用
中国或成“物联网”领军者
关于智能家居真正需求的探讨
基于LD3320的智能家居控制