王珍凤,杨 路
(铜陵学院 电气工程学院,安徽 铜陵 244000)
基于Labview与无线传感器网络的实验室远程监控系统设计
王珍凤,杨 路
(铜陵学院 电气工程学院,安徽 铜陵 244000)
传统实验室的监控系统一般依赖于有线网络,其线路铺设、安装过程较为繁琐,造价高且移动性与扩展性较差。为了克服上述问题,设计了一套用于实验室的无线远程监控系统。借助监控终端模块上的各种环境传感器采集实验室的实时信息,运用无线传感器网络技术,对数据进行处理后汇聚至服务器,存储在数据库中,实验室人员可通过基于Labview的上位机查看。实验证明:系统稳定可靠,造价低廉,适用于多种实验室环境。
实验室监控;Labview;无线传感器网络;MySQL
高校实验室是高等学校开展实验教学科研教学和社会服务的重要场所,也是高校培养学生实践创新能力、综合素质的必要场所。高校实验室管理关系到学校实验教学和科学研究能否顺利进行,国家财产能否免受损失,师生员工的人身安全能否得到保障,对高校乃至整个社会的安全和稳定都至关重要。新时期我国高校实验室安全事故频发,引发不少伤亡和财产损失事故,这给实验室的安全管理工作提出了严峻的挑战[1-2]。因此,做好实验室安全与环保工作,是全面落实科学发展观、构建平安和谐校园、高校平稳有序发展的根本要求。传统的实验室监控方案普遍采用视频监控的方式,存在以下问题:多依赖有线网络,需要事先铺好线缆,造价高,对安装环境有一定要求[3-4];功能单一,仅提供视频信息;没有提供用于数据存储的数据库系统。
本文设计并实现了实验室远程监控系统。系统基于STM32、集成多种环境传感器的监控终端模块实现对监控数据的实时采集;基于Wi-Fi的无线通信网络实现对数据的实时传输;基于MySQL的数据库系统实现对采样数据的存储;借助显示终端实现对实验室环境的实时显示、采样、存储、报警等功能。
图1 实验室监控系统总体结构
该监测系统总体结构如图1所示。包括监控终端模块、路由器、显示终端、服务器等。多个监控终端模块被安装在实验室的选定位置,彼此之间通过路由器组成局域网络。监控终端模块的各种传感器将被测量转换成电信号,该信号经过滤波、放大、隔离等硬件调理电路后送给STM32微处理器,处理器进行数字滤波、标度变换等处理后通过局域网络将结果送给服务器显示存储,实验室管理人员借助显示终端的上位机查看实验室的环境信息,一旦出现异常,上位机会发出异常声音警报,实现对实验室的检测和预警。
上位机主要完成数据的显示和管理功能,本文采用Labview进行开发。监控终端模块实现硬件的数据采集、监控等功能。
图2 监控终端模块硬件结构图
监控终端模块包括STM32F103VET6微处理器、各种环境传感器、Wi-Fi模块电路、液晶显示电路等。硬件结构图如图2所示。环境传感器采样到的信号经过调理电路发送给STM32F103VET6微处理器;微处理器负责管理采样到的数据;Wi-Fi电路用于与服务器节点进行无线通信、发送采样数据、接收控制信息;液晶显示模块为实验室人员提供触摸屏功能;SD卡提供额外的容量扩展功能;供电电路为各个组成部分提供稳压电源。
监控终端模块周期性的读取传感器的采样数据,借助无线网络将数据发送给服务器保存,实验室人员借助上位机读取采样数据并显示。数据发送与接收流程图如图3所示[5-6]。以DHT11温湿度传感器为例,DHT11 的供电电压为 3 V ~5.5 V。传感器上电后,要等待1 s以越过不稳定状态,在此期间无需发送任何指令。电源引脚(VDD,GND)之间可增加一个100 nF的电容,用以去耦滤波。DHT11采样中用到了GPIO、RCC、USART等,需要把stm32f10x_gpio.c、stm32f10x_rcc.c、stm32f10x_usart.c等库文件添加到工程中,并在stm32f10x_conf.h中把相应的头文件注释掉。
图3 监控终端模块数据发送和接收流程图
初始化:USARTx_Config (); //初始化串口
SysTick_Init (); //配置SysTick 1 ms中断一次
ESP8266_Init (); //初始化Wi-Fi模块使用的接口和外设
DHT11_Init (); //初始化DHT11
需要单独设置的参数包括:要连接的热点名称,即Wi-Fi名称:macUser_ESP8266_ApSsid;要连接的热点的秘钥:macUser_ESP8266_ApPwd;要连接的服务器的IP地址:macUser_ESP8266_TcpServer_IP;要连接的服务器端口:macUser_ESP8266_TcpServer_Port。这些参数要与路由器和数据库端的设置吻合。
需要注意的是,MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40 bit的数据,并触发一次信号采集,用户可选择读取部分数据。从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式。
图4 基于Labview上位机系统功能结构图
基于Labview的上位机系统功能结构图如图4所示。主要功能有:(1)数据通信:包括信息获取和信息存储等功能,信息获取用于从各个监控终端节点获取当前实验室的基本信息,信息存储是将获取的基本信息存储到本地数据库系统;(2)数据处理:对获取的监控终端节点原始数据进行解析,对采集到的图像数据进行压缩处理;(3)信息采集:显示所获取的实验室基本信息,信息来源于布置在各个实验室的多个监控终端模块,包括温度、湿度、是否存在火焰、是否存在烟雾等;(4)安全预警:对数据处理得到的数据进行分析,判断是否处于危险状态,如果处于危险状态,触发声音报警。
本文选择MySQL作为数据库管理数据。数据库系统涉及到两种来源的操作:基于Labview的上位机与监控终端模块。其中Labview自身不具备数据库访问功能,需以下几种方式对数据库进行数据库操作:
(1)NI公司开发的Labview SQL Toolkit工具包,集成了一系列数据库访问和操作的功能模块,可以很方便地访问多种数据库,但价格昂贵;
(2)调用C++编写的dll库实现对数据库的访问,需要从底层进行编程,工作量大;
(3)调用ActiveX,使用Microsoft ado控件,通过sql语言实现对数据库的访问,编程复杂;
(4)通过第三方插件labsql访问数据库,这是一种免费、开源、跨平台、支持多种数据库的工具插件。基于ADO技术,将复杂的ADO及SQL操作封装成一系列的labsql Vis,只需熟悉labsql的操作方式即可实现对数据库的操作。本文采用labsql访问数据库。
基于labsql访问MySQL数据库,需要提供数据源名称(DSN)才能正确的连接。因此,首先要进行以下配置以提供正确的DSN。
(1)安装mysql-connector-odbc.msi,完毕后进入控制面板-管理工具-数据源(ODBC)。在驱动程序标签栏查看MySQL驱动程序,进入用户dsn标签,添加MySQL odbc driver,然后进行与MySQL相关数据库名称、用户名、密码等的配置测试工作,测试通过即表明可以正确连接MySQL数据库。
(2)下载labsql工具包,解压到Labview安装目录下的user.lib文件夹,重启Labview,可在users libraries下找到labsql提供的VIs。利用labsql提供的VIs操作MySQL的流程如图5所示。
(3)在labsql提供的VIs选择ADO Create Conn.vi创建Connection对象;选择ADO Open Conn.vi建立Labview与MySQL的连接,在Connection String写入所选的数据库对象;之后进入loop循环,通过ADO SQL Execute.vi执行对数据库的增删改查操作。
(4)利用ADO Close Conn和destroy关闭数据库连接。
图5 Labview数据库操作流程
(1)基于JDBC实现服务器端的数据存储,首先确定好URL。在MySQL中JDBC URL的格式为:jdbc:mysql://主机名称:连接端口/数据库的名称?参数=值。其中数据库需要在操作前创建:
String url = "jdbc:mysql://localhost:3306/javaweb?"+
"user=root&password=mysql&useUnicode=true&characterEncoding=UTF8";
为了避免产生中文乱码,需要指定好useUnicode与characterEncoding,如useUnicode=true&characterEncoding=UTF8。
(2)通过Class.forName加载MySQL驱动,Class.forname(“com.mysql.jdbc.Driver”)。也可以通过初始化来驱动,如com.mysql.jdbc.Driver driver = new com.mysql.jdbc.Driver();new com.mysql.jdbc.Driver();上述形式都可以采用。
(3)创建Connection,一个Connection代表一个数据库连接,创建Statement。
conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
(4)端口监听接收来自监控终端模块的采样数据并进行相关操作。在macUser_ESP8266_TcpServer_Port中定义的端口号与此处端口号要相同。
ServerSocket ss = new ServerSocket(10000);
System.out.println("我是服务器,在10000号端口监听……");
Socket s = ss.accept();
现有实验室监控系统主要依赖于有线网络,需要提前铺设好线缆方可工作,造价较高。本文提出一种基于Labview与无线传感器网路的实验室监控系统设计方法,通过对嵌入式终端、无线传感器网络的研究,集成包括温湿度、危险气体浓度等多种传感器采样实时环境信息,通过Wi-Fi模块将环境信息上传至服务器的数据库,借助Labview生成的可视化界面进行交互。该系统无需布线,造价相对低廉,稳定可靠,在测试过程中性能良好,适合多种实验室环境。
[1] 廖庆敏.高校实验室安全管理之思考[J].实验室研究与探索,2010,29(1):168-170.
[2] 左富强,贾丹丹,李宏.基于键入时指纹识别的开放型实验室管理系统设计[J].实验室研究与探索,2007,26(11):19-22.
[3] 蒋耘晨.基于校园网和ZigBee技术的实验室监控管理系统[J].实验技术与管理,2010,27(7):104-106.
[4] 李磊,林土胜,吴振强.基于Zigbee技术的实验室无线安全监控系统研发[J].实验技术与管理,2011,28(1):108-111.
[5] 邓洁,程良伦.大规模无线传感器网络多优先级自适应分簇路由协议[J].传感器与位系统,2010(8):78-81.
[6] 刘河.无线传感网络分簇算法研究[D].武汉:华中科技大学,2007:12-14.
[7] Chikaraishi T,Minato T,Lshiguro H.Development of an Android system integrated with sensor newworks[C]//2008 IEEE /RSJ Internationl Conference on Intelligent Ro-bots and Systems,IROS,2008:326-333.
[8] Wang Y L,Qi C S,Pan H J.Design of Remote Monitoring System for Aquaclture Cages Based on 3G Network and ARM-Android Embedded System[J].Rrocedia Engineering,2012(29):79-83.
Design of Laboratory Remote Monitoring System Based On Labview And Wireless Sensor Network
WANG Zhenfeng,YANG Lu
(Tongling University,Tongling 244000,China)
In order to overcome the shortages of the traditional wire line networks for securing monitoring system,such as complicated cabling and installing,high price,lack of flexibility and mobility,in this paper,a remote wireless monitoring system for laboratory is designed. The real-time information of laboratory,collected by various sensors,which are placed on the monitoring terminal module,is analyzed and sent to server through wireless network. The date is stored in database for Laboratory staff to monitor system,using the Labview-based host computer.The experiment shows that system is stable and reliable,low cost,which is suitable for a variety of laboratory environments.
laboratory monitoring;Labview;WSN;MySQL
10.3969/i.issn.1674-5403.2017.03.017
TP39
A
1674-5403(2017)03-0065-04
2017-03-10
王珍凤(1986-),女,安徽铜陵人,硕士,助教,主要从事通信系统设计方面的研究.
安徽省大学生创新训练项目(201610383003).