基于LabVIEW的家居环境智能控制系统
2017-05-04罗雪伦周庆华宁芬王广鹏朱科峰
罗雪伦+周庆华+宁芬+王广鹏+朱科峰
摘 要: 基于LabVIEW 开发环境和ZigBee 网络传输技术构建了一个家居环境智能控制系统。该系统用德州仪器(TI)公司的片上系统解决方案CC2530 搭载传感器对室内环境相关参数进行采集,并对采集到的数据进行分析,根据环境参数执行相关控制指令。数据通过ZigBee网络进行传输。该系统具有低功耗、开发成本低的特点。
关键词: LabVIEW;ZigBee;家居环境
中图分类号:TP273
文献标志码:A
文章编号:2095-2163(2017)02-0116-03
Abstract:A home environment intelligent control system is built based on LabVIEW development environment and ZigBee network transmission technology. The system uses Texas Instruments (TI) company's system-on-chip solution CC2530 equipped with sensors to collect the relevant parameters of the indoor environment, analyzes the collected data, and executes the relevant control commands according to the environmental parameters. The data is transmitted over the ZigBee network. The system has the characteristics of low power consumption and low development cost.
Keywords:LabVIEW;ZigBee;home environment
0 引 言
随着人们生活水平的不断提高,人们对生活质量的要求也渐趋高端上乘舒适。同时,智能化的高速发展则推动了家居环境智能控制系统的研究创新,即为人们的这一追求提出了现实解决方案。家居环境智能控制系统是指依靠传统的计算机扩展不同的接口部件,利用时下相关的高新技术,将计算机与网络技术、信息技术、自动控制技术等进行设计融合,并确保使室内的温度、湿度、光照度等均能保持一个基本平衡的状态目标得以高效稳定实现,进而创造一个安全、优质、便利的生活和工作环境[1]。
LabVIEW是美国National Instruments(NI)公司实体推出的虚拟仪器图形化软件开发平台,是目前臻至完善的、且应用拓展占据首位的图形化集成环境,LabVIEW拥有丰富的工具包,编程效率高,大大缩短了系统开发时间[2]。本文着重探讨的家居环境智能控制系统即基于LabVIEW 2014来为软件平台定制提供各个子模块的数据显示、分析和指令控制。ZigBee技术是近年来发展起来的一种近距离无线通信技术,不仅功耗低、且经济实用,并以2.4 GHz为主要频段,采用扩频技术[3]。ZigBee 已公認为可能是当下在工业监控自动化[4]、传感器网络、家庭监控、安全系统等众多领域均已呈现可观应用潜力的无线网络通信技术 [5], 本文则选用ZigBee无线传感网络进行数据传输。CC2530是德州仪器(TI)目前核心主配的可完整用于2.4 GHz lEEE802.15.4/RF4CE/ZigBee的第二代片上系统解决方案。其中结合了高性能的 2.4 GHz DSSS(直接序列扩频)射频收发器和一个高性能/低功耗的 8051微控制器,用于设计构建功能齐备、价格低廉的网络节点。综上分析可知,本文就选用TI公司的CC2530作为下位机,搭载传感器进行数据采集,从而设计提出了一个家居环境智能控制系统。具体来说,该系统主要包括数据采集模块、数据显示模块、控制模块。
1 家居环境智能控制系统的总体结构
本次系统的设计,主要是针对家居环境的检测,并使其保持平衡状态,打造一个智能强大的现代家居环境。对室内环境的相关参数进行实时采集和处理,参数包括温度、湿度、光照强度、有害气体浓度。当某一个参数异常时,及时采取应对措施,以保证家居环境的安全与舒适。系统整体结构如图1所示。由图1可知,系统中利用CC2530并附配传感器来展开数据的采集,而在数据采集模块中,重点采集了家居环境中的温度、湿度、光照强度、有害气体等相关信息,节点可经由ZigBee网络与协调器实现数据传输,协调器则用USB数据线通过VISA串口与装有LabVIEW的电脑端进行数据传输,装有LabVIEW电脑端对采集得到的数据在引入操作处理后即设计完成数据的显示、分析、存储和报警等功能,并向下位机发出控制指令。CC2530(片上系统解决方案)依据相应的指令操纵对窗帘、窗户等的自动控制。用户还可以通过访问Web端对家居环境的相关参数来指定获取实时查看。
2 系统关键模块的设计与实现
2.1 数据采集模块
本系统的各个子模块的传感器节点和协调器均以CC2530为硬件基础,以ZigBee网络协议进行组网。简单的ZigBee网络由协调器、传感器节点组成,当ZigBee网络较为复杂或当协调器与传感器节点距离较远时,可以添加路由器节点来支持数据的转发,并为后加入的节点分配地址,但于分析后可知,本次研发系统的协调器与传感器节点距离较小,因此无须补设路由器节点。
传感器节点搭载的传感器有温湿度传感器(DHT11)、气体传感器(MQ-2)、光敏传感器(GL5516)。进一步地,详述给出温湿度传感器DHT11的电路设计实例如图2所示,湿度测量范围:20%-95%,湿度测量误差:±5%,温度测量范围:0~50度,温度测量误差:±2度,工作电压为3.3~5 V。
信号采集一共分为4个区域,分别为:阳台、厨房、卧室、客厅,阳台传感器节点搭载一个光敏传感器,进行光照强度的采集;厨房传感器节点搭载一个气体传感器和一个温湿度传感器,进行温度和有害气体的检测;卧室传感器节点搭载一个温湿度传感器,进行温湿度的采集;客厅传感器节点搭载一个温湿度传感器和一个光敏传感器,进行温湿度和光照强度的采集。采集模块结构如图3所示。传感器采集到数据后,通过ZigBee网络传输给协调器,协调器再通过USB传送至PC端。
2.2 数据显示模块
上位机LabVIEW程序在运行时首先进入的是登录界面。用户在输入用户名和用户密码后,登录程序调用帐号密码核对子VI,来判断用户名和密码是否正确:正确,则登录成功;如果不正确,则提示用户名或密码错误。
帐号密码核对子VI在与数据库成功连接后即可开启用户名和密码的核对操作。用户名、密码可以通过增加用户子VI进行添加操作,通过删除用户子VI进行删除操作。在登录界面设置取消按钮用于退出系统。
登录成功后,进入数据显示界面。设计中统共分为4个子模块,分别显示阳台光照强度、厨房温度和有害气体浓度、客厅温湿度和光照强度、卧室温湿度。通过点击主界面按钮,可以进行各子模块界面的切换。
数据显示的程序框图如图4所示,通过VISA配置串口VI配置串口;通过串口操作可以设置数据传输的比特率、数据比特、奇偶、停止位、控制流等参数。程序中利用while循环,按条件通过VISA写入函数/写入数据,或者通过VISA读取函数/读取数据。读取数据时将始终读取读数值指定的数据数量。事件结构将检测是否有按钮按下,如果有,则跳转到与该按钮相对应的子模块。设置各个子模块显示的数据也在事件结构中处理实现。利用LabVIEW自带的Web发布工具进行Web发布,发布以后用户可以通过访问Web端对家居环境参数做到直接实时查看。
2.3 控制模块
控制模块可研究拓展为报警、窗户和窗帘的开关子模块。本系统用IAR[6](C语言编译器-IAR Embedded Workbench)开发下位机程序。用CC2530搭载的继电器、步进电机工作表示控制动作的进行与发生。在阳台子模块中,当光照强度为light时,步进电机工作,打开窗帘,并同时打开窗户;在厨房子模块中,当温度超过40℃,或者检测到有害气体时,继电器吸合,系统发出报警。在卧室子模块中,当温度超过40℃时继电器吸合,系统开始报警,步进电机工作,打开窗帘和窗户;当湿度低于15%或高于65%时,LED灯闪烁,提醒用户对卧室采取除湿或加湿等相关措施,有助于提升睡眠质量;在客厅子模块中,当温度超过40℃时继电器吸合,系统指示报警,当湿度低于15%或高于65%时LED灯闪烁,提醒用户,当光照强度为light时,步进电机工作,打开窗帘。主要运行代码程序如下:
DHT11(); [WB]//获取温湿度
[DW]//如果温度大于40 ℃则工作
if(wendu_shi>=4)
{
DATA_PIN = 0; //继电器吸合
HalLedSet(HAL_LED_1, HAL_LED_MODE_OFF);//LED1亮
}
else
{
DATA_PIN = 1; //继电器断开
HalLedSet(HAL_LED_1, HAL_LED_MODE_ON); //LED1灭
}
气体传感器在检测到有害气体时,进行报警和打开窗户、窗帘三个动作,程序如下:
if(DATA_PIN6 == 1)
{
state[1] = 0x31; //高电平时说明没有检测到气体
DATA_PIN5 = 1; //继电器断开
HalLedSet(HAL_LED_1, HAL_LED_MODE_ON);
HalUARTWrite(0,"security\\n", 9); //串口显示
HalLcdWriteString( "security", HAL_LCD_LINE_3 );
//LCD顯示
}
else
{
MicroWait (10 000); // Wait 10ms
if(DATA_PIN6 == 0)
{
state[1] = 0x30; //当输出低电平时信号灯亮,检测到气体
DATA_PIN5 = 0; //继电器吸合
HalLedSet(HAL_LED_1, HAL_LED_MODE_OFF);
HalUARTWrite(0,"Got bad Air\\n",12); //串口显示
HalLcdWriteString( "Got bad Air", HAL_LCD_LINE_3 ); //LCD显示
}
}
3 结束语
本系统采用虚拟仪器技术、ZigBee数据无线传输技术,设计实现了基于LabVIEW的家居环境智能控制系统。由于LabVIEW是图形化编程语言,缩短了整个系统的开发时间,降低了整个系统的开发成本。该系统的上位机通过USB与协调器进行数据传输,下位机的各节点与协调器之间都通过ZigBee无线传感网络进行数据传输。该系统在实际运行当中各子模块能准确采集室内各种参数,能实时显示被采集的数据,数据发生异常时能依据程序指令来展开处理操作。总地来说,系统运行稳定、交互界面友好,且易于修改和后期扩展。
参考文献:
[1]王志勇,闵绪,徐保国. 基于ANT无线网络和LabVIEW的智能家居系统[J]. 计算机系统应用,2013,22(10):94-99.
[2] 阮奇桢. 我和LabVIEW:一个NI工程师的十年编程经验[M]. 北京:北京航空航天大学出版社,2009.
[3] WHEELER A. Commercial applications of wireless sensor networks using ZigBee[J]. IEEE Communications Magazine,2007,45(4) : 70-77.
[4] CHEN Bo,WU Mingguang,YAO Shuai,et al. ZigBee technology and its application on wireless meter-reading system[C]//2006 IEEE International Conference on Industrial Informatics. Singapore:IEEE,2006:1257-1260.
[5] 蔡利婷,陈平华,罗彬,等. 基于CC2530的ZigBee数据采集系统设计[J]. 计算机技术与发展,2012,22(11):197-200.
[6] 吕伟. 基于CC2530的无线传感器网络选择性组网设计与实现[D]. 郑州:河南工业大学,2015.
[7] Baidu Wenku. CC253X Users Guide[EB/OL].[2010-06-25].http://focus.ti.com/docs/prod/folders/prInt/cc2530.html.
[8] 詹良. 基于ZigBee技术的智能家居无线网络系统[D]. 北京:北京邮电大学,2008.