APP下载

虚拟仪器技术在智能家居监控系统中的应用与设计

2016-11-04张晓朋

自动化仪表 2016年10期
关键词:控制板上位温湿度

张晓朋

(平顶山学院信息工程学院,河南 平顶山 467000)



虚拟仪器技术在智能家居监控系统中的应用与设计

张晓朋

(平顶山学院信息工程学院,河南 平顶山467000)

为了营造舒适、便捷、安全的家居环境,设计了一种基于Arduino与LabVIEW的智能家居监控系统。系统选用Arduino Mega2560控制器作为下位机,以PC机为上位机。系统能够对家居环境的燃气浓度、温湿度和人体活动等数据进行实时监控。当监控数据超限时,系统能够自动控制家电设备的通断,进行声光报警,实现安全防护。测试结果表明,该系统操作方便,适用于现代住宅小区,具有一定的推广和应用价值。

智能家居监控虚拟仪器LabVIEWArduinoTCP/IP燃气浓度报警温湿度数据采集入侵检测

Temperature and HumidityData acquisitionIntrusion detection

0 引言

智能家居监控系统是对家用电器、数据采集设备和安防设备进行智能化监控的系统,它包括入侵报警、燃气检测、数据采集以及家电控制等功能模块。其中,具有安防功能的燃气检测、入侵报警模块为家庭提供了安全保障。数据采集模块用于采集温度、湿度等物理量,并将数据发送到控制模块,以实现对空调、照明灯具和电动窗帘等设备的控制。该模块可为用户提供舒适、便捷、安全的家居环境[1]。

本文设计了基于TCP/IP网络和数据采集模块的智能家居监控系统,采用Arduino Mega2560控制器作为下位机、LabVIEW作为监控软件,两者通过网络实现通信。

1 系统结构框图及工作原理

系统总体结构框图如图1所示。

下位机以Arduino Mega2560控制器为核心,通过Ethernet扩展板接收并判断LabVIEW上位机发送的控制命令。其一方面控制气体传感器、温湿度传感器和热释电传感器,分别采集室内的燃气浓度、温湿度和人体活动的数据,并发送给上位机;另一方面,根据上位机的命令,控制多路控制继电器组的断开与闭合,从而控制家用电器的关闭与工作。

上位机以LabVIEW工具为核心,通过相关命令控制下位机采集室内的燃气浓度、温湿度和人体活动的数据,并对数据进行相关处理和显示。当数据超限时,上位机报警,并向下位机发送相关命令,以控制相关电器的关闭与工作。

图1 系统总体结构框图Fig.1 Overall structure of the system

2 硬件设计

2.1传感器的选择

温湿度传感器采用DHT11温湿度传感模块,是一款含有已校准数字信号输出的温湿度复合传感器[2]。气体传感器采用MQ-2气体传感模块,可以很灵敏地检测到空气中的烟雾以及甲烷气体。热释电传感器采用RD-623热释电红外传感模块,其输出为数字量,当感应到人体活动时,输出高电平,否则输出低电平[3]。

2.2电器控制部分设计

家用电器的供电为交流220 V,Arduino Mega2560控制器的输出电压范围为直流0~5 V,不能直接用于驱动家用电器。为了使该控制器能够控制家用电器,需要使用继电器[4]。

本设计采用Easy-Y公司型号为Relay-4-H-5V的继电器组,它是一种4路继电器模块控制板,工作电压为直流5 V,输出驱动能力为交流250V-10A,可以用于控制大部分的家用电器[5]。

2.3Arduino部分设计

Arduino Mega2560控制器与各传感器和控制器的硬件连接如下。

将DHT11温湿度传感器的VCC和GND分别连接至Arduino Mega2560控制器的+5 V和GND,由DHT11供电;DHT11的DQ引脚连接到Arduino Mega2560控制器的数字引脚D2,并连接一个上拉电阻[6]。

将MQ-2气体传感器的两个H引脚通过加热电源接口接至加热电源的正负极;将A端连接至Arduino Mega2560控制器的+5 V,将B端接至Arduino Mega2560控制器的模拟输入端A0。

将RD-623热释电红外传感器的VCC和GND分别连接至Arduino Mega2560控制器的+5 V和GND,向RD-623供电;将RD-623的DOUT引脚连接到Arduino Mega2560控制器的数字引脚D3[7]。

将Relay-4-H-5 V固态继电器模组的输入控制端分别接至Arduino Mega2560控制器的数字引脚D4、D5、D6、D7、GND;将Relay-4-H-5V固态继电器模组的输出控制端分别接至空调、风扇、电动窗、电灯等家用电器[8]。

2.4网络通信模块的选择

为实现Arduino控制板与LabVIEW的网络通信,需要使用Ethernet扩展板来设计,并使用Arduino Ethernet类库[9]。本设计采用集成了WIZnet W5100网络芯片的扩展板。

3 软件设计

3.1Arduino程序设计

Arduino程序主要包括以下4个部分:

①导入第三方库,然后调用此库,并进行一些必要的管脚定义和变量声明;

②调用setup函数,设置传感器和继电器端口模式,并初始化网络通信;

③调用loop函数,建立与上位机的网络连接,循环接收上位机数据,然后调用数据处理子函数,判断数据类型并执行相应的操作;

④定义数据处理子程序。

Arduino程序总体结构流程如图2所示。

图2 Arduino程序流程图Fig.2 Flowchart of Arduino program

3.2LabVIEW程序设计

LabVIEW上位机的工作流程为:当前面板无操作接收超时1 s时,依次向下位机Arduino控制板发送温湿度、燃气浓度、热释电传感器的读取命令;Arduino控制板通过W5100接收上位机的命令后,读取所需的数据,并通过W5100模块上传至上位机;上位机对相关数据进行显示,如果相关数据超限,则立即向下位机Arduino控制板发送命令,以控制相关家电的关闭或工作,实现安防保护功能[10]。

3.2.1前面板设计

前面板由仪表盘、波形图显示、电器控制、入侵检测和电源控制等部分组成。仪表盘部分用于显示当前的燃气浓度,并有超限报警指示;波形图显示部分用于显示温湿度的变化趋势;电器控制部分用于手动控制各路电器的工作状态;入侵检测部分用防盗指示灯显示热释电传感器的状态;系统电源部分用于控制系统的运行和停止。

3.2.2程序框图设计

采用“事件结构+超时结构”来实现数据测量和电器控制,在测量中使用“条件结构+枚举”的状态机来实现温湿度、燃气浓度和热释电传感器数据的读取,将测量程序划分为3个状态:温湿度检测、燃气浓度检测和入侵检测[11]。

通信部分采用“帧头+操作码”的通信协议。0x55AA为帧头。操作码0x80为温湿度采集,0x81为燃气浓度采集,0x82为热释电传感器数据的采集;0x11为第一路继电器闭合,0x10为第一路继电器断开;0x21为第二路继电器闭合,0x20为第二路继电器断开;0x31为第三路继电器闭合,0x30为第三路继电器断开;0x41为第四路继电器闭合,0x40为第四路继电器断开。

在超时事件中,温湿度检测、燃气浓度检测和入侵检测分别对应一个条件结构的一个分支,根据状态机的值依次执行各分支程序。以燃气浓度检测分支为例,上位机通过TCP/IP网络先向下位机Arduino控制板发送控制命令0x55AA81,并延时1 s;然后通过TCP/IP网络读取并显示燃气浓度数据,同时对浓度数据进行判断,若浓度超限,则点亮浓度超限报警指示灯;置位电动窗开关和风扇开关,从而触发相应的事件,进而打开电动窗和风扇进行安防保护。温湿度检测和入侵检测分支的程序框图和工作过程与此类似。

当触发该事件时,上位机根据空调开关控件的状态,先通过TCP/IP网络向下位机Arduino控制板发送控制命令0x55AA11或者0x55AA10,再通过下位机驱动相应的继电器,进而控制空调的运行与关闭。风扇开关、电动窗开关和电灯开关事件的程序框图和工作过程与此类似。

4 系统调试

将程序烧写到Arduino控制板后,用网线将W5100网络模块与计算机连接在同一个路由器的不同LAN端口,同时设置路由器,使Arduino控制板的网络IP地址能够被远程的LabVIEW上位机软件侦听到[12]。

测试证明,基于Arduino与LabVIEW的智能家居监控系统运行稳定、可靠。系统采用W5100网络模块实现通信,采用温湿度传感器、气体传感器、热释电传感器等采集感应模块来监测家居环境,并能自动控制家电实现一定的安防保护功能,操作方便,适用于现代住宅小区,具有一定的推广、应用价值。

5 结束语

随着网络技术的不断发展,将设备接入互联网是大势所趋。本文设计的智能家居监控系统采用TCP/IP网络协议作为Arduino控制板和LabVIEW上位机的通信方式,适用于互联网和局域网的Arduino与LabVIEW结合的项目应用,而且成本较低、使用范围广。

[1] 程海粟,徐珂珂.一种智能家居的设计方案[J].信息通信,2012 (7):76-78.

[2] 叶钢.基于SHT11温湿度测量仪的设计[J].国外电子测量技术,2011,30(12):66-68

[3] 高航.基于Arduino的智能家居控制系统设计[J].科技创新与应用,2015 (33):174-176.

[4] 蔡睿研.Arduino的原理及应用[J].电子设计工程,2012,20(16):155-157.

[5] 钱声强.基于LabVIEW的智能家居监控系统设计[J].现代电子技术,2013 (24):85-88.

[6] 郭阳明.基于虚拟仪器的温湿度测量系统设计与实现[J].计算机仿真,2008,25(5):302-305.

[7] 崔阳,张维华,白石峰.一种基于Arduino的智能家居控制系统[J].电子技术应用,2014,10(1):23-26.

[8] 李德骏,马孝辉.基于Arduino平台的家用安防监控系统设计[J].科技与生活,2011(1):114-115.

[9] 臧大进,刘增良.基于物联网的智能家居系统设计与实现[J].襄樊学院学报, 2010,30(11):82-84.

[10]侯俊,吴成东.基于Zigbee的智能家居安全控制系统研究[J].机电工程学报,2009,26(1):37-39.

[11]聂影,冯向军,廖瑛.基于LabVIEW的状态机模型研究[J].计算机测量与控制,2007,15(9):1166-1168.

[12]莫满春.射频路由算法的研究及智能家居无线控制系统的实现[D].广州:中山大学,2008.

Design and Application of Virtual Instrument Technology in Smart Home Monitoring and Control System

In order to create a comfortable,convenient and safe home environment,a kind of smart home monitoring and control system based on Arduino and LabVIEW is designed.The Arduino Mega2560 controller is chosen as lower machine,and PC is chosen as host computer.The system can monitor the home environment of gas concentration,temperature,humidity,and human activities,etc.,in real time.When the monitoring data transfinite,the system can automatically control ON/OFF of home appliances and issue audio/visual alarms for implementing safety protection.Results show that the system is easy to operate,suitable for modern household community,and has a certain applicable value.

Smart homeMonitoring and controlVirtual instrumentLabVIEWArduinoTCP/IPFuel gas concentrationAlarm

TH86;TP277

ADOI:10.16086/j.cnki.issn 1000-0380.201610023

修改稿收到日期:2016-03-04。

作者张晓朋(1978—),男,2006年毕业于郑州大学物理电子学专业,获硕士学位,讲师;主要从事电子、通信与自动控制方向的研究。

猜你喜欢

控制板上位温湿度
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
轨道交通AFC导向标识控制板设计
基于温湿度控制的天气预测装置
特斯拉 风云之老阿姨上位
基于DSP和μcos的温湿度检测系统的设计
一种集成脚本控制单元的设计与实现
一种全隔离的无刷直流电机的反馈制动控制板的研究
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统