APP下载

基于B/S架构的智能家居控制系统设计与实现

2017-03-25胡应坤汤才赵文龙全颂华

科技与创新 2017年4期
关键词:S架构控制系统智能家居

胡应坤++汤才++赵文龙++全颂华

文章编号:2095-6835(2017)04-0118-02

摘 要:鉴于物联网技术的日益成熟以及人们对智能家居的需求,详细、深入地介绍了一套基于B/S架构的智能家居控制系统的设计,展开分析控制系统的总体框架结构、软件部分,给出了家居网关、家居通信的具体设计以及系统功能实现的相关办法。

关键词:物联网;智能家居;控制系统;B/S架构

中图分类号:TP273+.5 文献标识码:A DOI:10.15913/j.cnki.kjycx.2017.04.118

随着国民经济的迅速发展,人们生活水平和知识层次的不断提高,人们将越来越多的注意力放在了生活环境的安全性、舒适性和便利性上,因此,也就有了家居智能化的需求。同时,物联网和移动互联快速发展,计算机技术、通信技术、网络技术、控制技术和信息技术等高科技越来越多地融入到了传统的家居电器设备之中,促成了智能家居系统的出现。当下,享受智能化家居生活已经成为可能,并成为未来发展的必然趋势。

1 系统的框架结构

智能家居作为物联网中的重要组成部分,它的实现让我们向“万物互联”这一目标迈进了一步。从物联网实现层次的角度将智能家居系统分为4个层次,即感知层、传输层、智能层和应用层。

1.1 感知层

通过感知层可以实现对家居环境的感知,获取相关传感器的数据,主要包括光线传感器,温湿度传感器,与安防有关的门磁感应器、红外感应器,与安全有关的煤气传感器、火焰感应器等。控制相关终端的设备包括摄像头、窗帘、电灯等。这些感知终端有搭乘ZigBee通信模块的,也有通过蓝牙或Wi-Fi控制的。

1.2 传输层

传输层负责感知终端节点的信息和控制信息的传输,针对不同通信协议的终端结点,可运用相应的组网技术将感知到的信息汇集到家庭网关,并通过接入互联网的网关传输到更远的地方——将大量的设备数据交给智能层处理。

1.3 智能层(服务管理层)

智能层主要是将智能家居感知层的终结点通过家居网关(传输层)传输的数据进行动态汇集、存储、数据分析、数据挖掘等智能处理,并为应用层提供物理世界所对应的动态呈现。

1.4 应用层(终端控制层)

智能家居的终端控制采用基于Cordova的跨平台运行机制实现,一次开发,处处运行,无需再因为控制终端的平台差异重新开发。任何配备Web浏览器的终端设备都能对家庭里的智能设备实现“无差异”的控制。

2 系统软件的设计

智能家居控制系统总体架构采用B/S架构,终端应用采用Cordova开发,以屏蔽操作系统的差异性,实现智能终端应用的跨平台。家居服务器是基于JavaWeb开发的,运用成熟的MVC框架,采用迭代式基于组件的开发。系统前端基于HTML5开发响应式的Web页面,以适应PC/Mobile phone等不同平台的浏览器。家居网关在ARM开发板上烧写Ubuntu系统,采用移植性较好的Qt进行软件开发。

2.1 Cordova移动终端跨平台的实现机制

目前国内外有很多实现跨平台开发的中间件。其中Cordova出现得较早,基于HTML、CSS和JavaScript创建的跨平台移动应用的快速开发方法也比较成熟。当前支持的平台包括iOS、Android、BlackBerry、WebOS、Windows Phone、Ubuntu等。

Cordova实现跨平台是通过继承和扩展WebView类以屏蔽底层硬件的差异。基于CordovaPlugins库,就可以用网页脚本语言JavaScript与移动平台的系统建立本地连接,调用终端系统的Native API。通过Cordova开发的WebApp,不再依赖智能终端的操作系统和硬件设备,能够实现一套代码在多个平台的运行,并且达到APP在各移动平台之间差异比较小的目的。

2.2 服务器架构设计

移动智能终端或PC浏览器在访问智能家居控制系統时,实际上是与家居服务器进行交互。服务器处理了客户端用户的请求后再转发给家庭网关,进而控制终端设备的节点。从感应器发来的数据经过网关上传给服务器,服务器先汇总、处理这些数据,再存储到数据库中,并将处理的结果显示在终端,将信息反馈给用户。所以,家居服务器才是智能家居体现“智能化”的关键,是整个家居控制系统的“大脑”。

智能家居服务器从功能上分为数据存储和Web服务两部分。数据存储部分采用MySQL存储用户信息和家居终端设备节点的数据,以及对用户操作日志的存储。Apache+Tomcat作为智能家居的Web服务器,完成整个服务需要4个模块,即命令解析模块、逻辑处理模块、指令转发模块和存储数据模块。

3 家居网关的设计

智能家居网关搭乘ARM cortex-A9的Tiny4412开发板,采用移植性比较好的Qt进行软件开发,软件运行在Ubuntu上。它在整个智能家居控制系统中起到控制指令,监听、接收,并分发到各终端结点的协调作用。家居网关设计如图1所示。

图1 家居网关功能视图

实际上,家居网关在实现其功能时扮演了Socket服务器端和客户端的角色。对于家居服务器来说,它是Socket Server端,

———————————————————————————

*[基金项目]“广东省一流高职院校建设计划”成果

监听并读取来自家居服务器的指令。获取指令后再作为Socket Client,将指令根据终端结点通信协议选择是通过Zig-Bee通信模块、Wi-Fi通信模块,还是Bluetooth,最终分发到终端设备的协调器。

4 智能家居的通信设计

家居服务器与家居网关之间是通过Socket通讯的。Socket是网络中的应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实是一个外观模式,这种模式用于将一组复杂的类包装到一个简单的外部接口中。它将复杂的TCP/IP协议族隐藏在Socket接口后面。对于需要可靠传输的数据,比如控制指令和请求数据,可通过Socket TCP传输。对于可靠性要求不高,但对传输效率要求高的,比如视频监控数据,可通过Socket UDP传输。家居网关与终端结点之间传输协议如表1所示。

在数据传输过程中,发送帧和接收帧统一为定长,都是9个字节。传输类型主要有3种,即节点入网(JOIN)、请求传感器(REQUEST)、控制相应控制器(CONTROL)。

当终端节点加入网络后,向协调器发送JOIN帧,协调器将JOIN帧发送到家居网关,再传输到服务器。

当服务器通过网关向协调器发出REQUEST帧后,协调器将REQUEST帧发送到终端节点,终端节点读取传感器数据,向协调器发送REPLY帧,协调器将REPLY帧发送到服务器作处理。当服务器向协调器发出CONTROL帧,协调器将CONTROL帧发送到终端节点,终端节点执行控制动作,向协调器发送ACK帧,协调器将ACK帧发送到服务器,并反馈给用户。帧类型说明如表2所示。

5 结束语

总之,在相关技术高速发展和人们对家居系统不断提出更高要求的背景下,智能家居必将成为未来住宅的发展趋势,走进普通居民的生活中,进一步提高居民的家居生活品质和品味。这套智能家居控制系统兼容性强,有效降低了开发成本,提高了开发效率,并且通过模拟实物制作和调试,能实现智能家居的功能,达到预期的效果。如果将其应用到实际家庭生活中,能充分展示这些功能并应用,这对日后智能家居控制系统的研发有一定的指导作用。

参考文献

[1]闫石.基于嵌入式B/S架构的智能家居远程监控系统开发[D].南京:南京理工大学,2014.

[2]苏开生.基于B/S架构的嵌入式智能家居远程监控系统[J].通讯世界,2015(10):71.

〔编辑:白洁〕

猜你喜欢

S架构控制系统智能家居
智能家居行业仍无“独角兽”
智能家居产业现状和发展趋势
智能家居 走向星辰大海
B/S架构下的学生信息管理系统的设计
Ka频段卫星通信自适应抗雨衰控制系统设计
基于ASP技术下的大学生跳蚤书街平台的设计与实施
基于PLC的钢厂热连轧感应加热炉控制系统实现
基于B/S架构的高校实验管理平台的设计与实现
智能家居未来感初体验