APP下载

基于Zigbee的轻智能家居监控系统的设计

2018-05-28金砺严武军高静

电脑知识与技术 2018年9期
关键词:ZigBee技术监控系统

金砺 严武军 高静

摘要:为了解决在传统的智能家居系统中存在的诸多问题,比如使用成本较高、涉及的硬件设备较复杂、布局不能灵活搭建等,设计了一套基于zigbee技术的轻智能家居视频监控系统,该监控系统具备低功耗、低成本、便捷操作、灵活多样的布局和可自由搭配所需功能等优点,可以在生活中被大家广泛认可和使用,并且具有一定的参考和使用价值。

关键词:轻智能家居 ; Zigbee技术 ; XBee模块 ; 监控系统

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)09-0178-04

Abstract:In order to solve the problems existing in the intelligent Home Furnishing in the traditional system, such as the use of hardware equipment, high cost, involving more complex, flexible layout cannot build, design a set of intelligent video monitoring system based on light Home Furnishing ZigBee technology, the monitoring system has low power consumption, low cost, convenient operation, flexible layout and the free collocation required function etc. in daily life is widely recognized and used, and has certain reference value and practical value.

Key words:Light intelligent home; Zigbee technology; XBee module; monitoring system

21世纪俨然是互联网和高科技横行的时代,通信技术也在不断发展,并且随着生活质量和水平的提高,智能家居不断地走进千家万户并被人们所熟知。而传统的智能家居系统布线复杂、功能无法自由搭配且成本较高,不能够被广泛推广和投入使用。随着时代的发展,轻智能家居应运而生,其优化了传统智能家居的种种不足和缺陷,而且也能够直接针对用户进行销售产品或应用系统,这种系统可以直接连接用户手机设备,方便进行远程监控和控制家居智能设备。本文设计的监控系统是基于Zigbee协议的系统,采用的是EM357芯片,该芯片可开发空间大,传输速率快,稳定性能也更好,能够更好地满足现代用户对于智能家居的需求。

1 系统总体方案设计

该监控系统主要由三个模块组成:监控节点部分、网关部分和监控终端部分。监控节点模块的主要功能是利用传感器收集家庭周围的环境信息,比如温度、湿度、光照的强度以及家庭安防情况,是ZigBee无线传感网络的终端节点,能够收发传送回来的指令。网关模块是负责发送、接收、分析、处理、解析数据。终端监控模块则是用户的智能手机,连接到该监控系统中时就可以即时监控家中的各种信息,起到监控的作用,而且也可以向连接到该系统中的智能家电发送实时指令。本系统的总体功能结构图如图1所示:

2 系统硬件设计

2.1 监控节点模块的硬件设计

监控节点模块是Zigbee无线传感网络的基础组成单元。关键是进行各种数据采集、无线传输和命令控制的,按照其功能可以分为传感器模块、家电控制模块、主控制器模块、无线传输模块和电源模块等五个部分。监控节点的硬件结构框图如图2所示。

传感器模块的功能是监测家中各种信息数据,并将这些数据进行发送。接收回来的信息主要分为环境信息和安防信息,把接收回来的数据信息经过分析再发送给主控制器去处理,当主控制器接收到这些信息后便会通过无线传感器连接无线网发送给用户的智能手机,提醒用户当前家中的信息情况。

家电控制模块主要是用来控制该系统中连接的各种智能终端设备,比如智能空调、智能电饭煲、智能台灯等。这些智能设备会接收到一系列传感器采集回来的数据并进行分析。如智能空调就是通过监测温度传感器采集的温度情况再结合智能终端的控制进行调节温度的。每个智能家电都会对应自己独有的识别码进行分辨。

主控制模块是监控节点最主要的部分,主要是针对传感器接收的数据进行处理和分析。该模块的主控制器选用8位ATmega128微控制器[1]。因为轻智能家居系统要求具有功耗低、信号稳定的特点,因此采用Max Stream公司基于ZigBee技术的XBee-pro搭建家庭内网,IEEE802.15.4/ZigBee协议搭建无线传感器网络。

2.2 网关节点模块硬件设计

网关模块也是该系统的主要组成模块,是针对数据收集、指令处理和ZigBee-Internet混合通信网络。ARM11处理器是核心部分,由XBee-PRO模块、以太网模块、电源模块构成[1]。网关硬件结构如图3所示。

3 软件设计

基于ZigBee的轻智能家居远程监控系统的软件设计包含监控节点设计、网关节点设计、用户手机端监控软件设计3个模块[1],便可实现对于传感器信息的实时收集、传输、显示、家电监控和报警功能。

3.1 监控节点软件设计

在该视频监控系统中,首先需要进行应用的初始化,这一步是需要连接网络进行初始化的,初始化完成后会开启总中断,该程序的主要流程和环节便会相继打开,这些模块可以行数据的收发来监控家中所有的智能家電终端。每个监控节点会依次将各传感器发送回来的数据进行分析和处理并且将得到的数据信息保存在存储器中。而且还会分析这些数据,比如计算平均值或者方差、均值,再把他们传送给网关控制器。如计算平均之后,会把该值与得到的阀值作比较,如果阀值小,则说明有紧急情况发生,此时会通过手机发送给用户。并且同时监控节点控制器也会执行程序中断处理,如检测到空气中有害气体浓度增大则会自动打开排气扇进行物理处理,等候用户回来。监控节点程序流程图如图4所示。

3.2 网关节点程序设计

网关节点程序部分主要使用C语言编写的。需要完成的工作有两个部分:一个是要与zigbee连接,另一个是与以太网连接命令控制字和数据发送。该部分主要分为环境监测、安防监测和智能家电监测,为了提高使用效率,该系统是利用多线程技术进行开发设计的。主要代码如下所示:

String str_Cam="vfw:Microsoft WDM Image Capture (Win32):0"; //载入设备驱动程序

CaptureDeviceInfo di_Cam= CaptureDeviceManager.getDevice(str_Cam); //搜索采集设备

MediaLocator ml = di_Cam.getLocator();//建立数据源对象

try{

Player player=Manager.createRealizedPlayer(ml);

player.start();//取得图像流,线程启动

}catch(Exception e){...}

//线程资源准备就绪,开始读帧数据到缓冲区

FrameGrabbingControl fgc=

(FrameGrabbingControl)player.getControl("javax.media.control.FrameGrabbingControl");

...;//此处省略了C++内存环境异常等处理

Buffer bufFrame= fgc.grabFrame(); //此处调用抓帧方法,先捕获一帧数据,将其读入缓存

BufferToImage btoi=new BufferToImage((VideoFormat) buf.getFormat()); //该帧存图片

3.3 智能手机远程监控软件设计

监控软件部分主要是以Android平台开发为基础的APP应用软件,通过软件编程,在Android模块上安装数据交互apk。

预测是视频中常用的提高压缩比的方法,在本系统的开发过程中,使用的是H. 264 的模式选择算法,直接计算各种预测模式下当前宏块与预测宏块的绝对差,选取具有最小SAD( sums of absolute difference) /SSD( sums of squared difference) /MSE( mean squared error) 开销的模式作为最优,计算公式如下所示:

[SAD=i∈Fn,mFin,m-Fin,mSSD=i∈Fn,mFin,m-Fin,m2MSE=1W*HSSD]

该APP需要监测该系统中的连接的IP地址,如果终端上要用连接在该系统中,则可连接同一局域网。该系统程序的设计是利用安卓开发的myeclipse编写的,其中用到的各个模块都会用安卓开发中的一些插件,只要调用API中的方法便可实现,主要的方法如下:

String str = getIntent().getStringExtra("rtsp");

if (str != null)

{

VideoView localVideoView3 =this.videoView;

Uri localUri = Uri.parse(str);

localVideoView3.setVideoURI(localUri);

}

该监控系统主要有4个界面,登录注册页面、环境监控界面(如图5)、家居安防界面(如图6)和家电控制界面(如图7)。环境监测模块用来呈现家中的温湿度情况,家居安防模块是对家中进行布防监控,并显示报警情况。智能家电模块则是用来对家电进行远程开关操控。

4 系统测试

基于zigbee的无线视频监控系统在实现之后,主要通过测试用户现场测试各个功能模块,其依据设计的测试用例进行测试,逐项测试,并记录测试结果,最后对测试结果进行分析。测试用例主要包含了正常的和非正常的测试,根据系统设计的操作界面,测试用例包含了界面中按钮的点击、字符输入等。根据测试用例进行系統的各个功能测试,并且记录各个测试用例的测试结果,对比预期结果,系统中大部分功能的测试结果都和预期结果相同。

通过测试分析能够发现系统的不足,当然,测试需要大量的工作,需要不断地进行新的用例设计,并且需要测试系统的性能方面。系统在大量测试之后,基本满足需求分析的功能需求和性能需求。总结分析结果,在未来系统的扩展和升级方面便可W借鉴测试结果和用例,添加或者更新更加符合系统要求和用户使用的功能。

5 结语

本文通过介绍zigbee相关技术及轻智能家居的相关特点,利用xbee模板组建家庭内网、EM357芯片+windows设计家庭网关,用以太网作为通信外网,智能手机作为终端设备。通过监控节点、网关节点和终端监控三大模块实现了该系统的三大功能:环境监测、安全警报和家电控制的功能。因为该监控系统具备低功耗、低成本、简单便捷的操作、灵活多样的布局和自由搭配所需功能等优点,可以在生活中被大家广泛认可和使用,并且具有一定的参考价值。

参考文献:

[1] 严武军,赵鹏.基于3G机器人的视频监控系统设计[J].电脑开发与应用,2011,24(11):59-61.

[2] 金砺.软件无线电技术[J].科技情报开发与经济,2004(4):146-14.

[3] 吴培亚,王钢.基于ZigBee的智能家居远程监控系统的设计与实现[J].微型机与应用,2012,31(8):48-50+57.

[4] 霍娟娟,侯建军,张海静.基于ZigBee的智能家居监控系统的设计[J].铁路计算机应用,2013,22(2):40-43.

猜你喜欢

ZigBee技术监控系统
多传感器数据融合技术在机房监控系统中的应用