实验室环境监测平台的设计与研究
2023-03-22麻小娟党海燕荀艳丽
麻小娟,党海燕,荀艳丽
(西安明德理工学院,陕西 西安 710124)
0 引 言
实验室是科研实验的平台,其环境对于实验设备的寿命有着十分重要的影响,对于科研人员的生命安全也至关重要。为了进一步提高实验室的安全性,提升实验室安全管理的智能化,从而更科学地对实验室环境进行监测,保证实验室的安全性,本文开发了实验室环境监测平台。随着科技的不断发展,物联网技术不断普及,成为全面应用在当前人与物以及物与物沟通联系领域的新型技术体系[1-3],给人们生活和生产带来了很大的改变。本系统通过无线网络结合物联网技术对多个实验室环境数据进行采集,为实验室环境监测平台提供可靠的数据[4]。
1 系统总体分析
实验室环境监测系统分为上位机和下位机两部分[5]。下位机是硬件部分,主要完成实验室环境数据的采集以及发送。上位机主要是软件部分,即实验室环境监测平台,实现实验室环境数据的存储、分析和处理以及可视化显示。系统框架如图1所示。
图1 系统架构
2 系统下位机
系统下位机主要包含四部分:传感器、MCU、报警模块以及无线模块。其中,传感器用于采集实验室环境数据[6],本系统温湿度模块选用DHT11传感器,烟雾采集模块采用MQ-2烟雾浓度传感器,PM2.5采集模块采用SDS011传感器;MCU负责对传感器采集到的数据进行解析,本系统采用STC89C52单片机;报警模块采用蜂鸣器和发光二极管分别实现声音和光线报警,从而提醒实验室管理人员实验室的异常情况;无线模块主要负责将数据传递给服务器。下位机的系统原理如图2所示。
图2 下位机系统原理
3 系统上位机
3.1 数据库设计
本系统主要是对实验室环境进行监测。根据实验室的实际需求得出本系统主要监测的环境指标有温度、湿度、PM2.5、烟雾。设置数据库名为environment数据库,设置表名为monitor表,该表主要用于存储实验室的各项环境指标的值,其属性和约束见表1所列。
表1 monitor表的属性和约束
本系统选取以高效、简洁、高可靠性著称的免费开源MySQL数据库进行开发设计。MySQL数据库支持标准化SQL查询语言,能够实现高速存储数据;同时支持线程池,能够在充分利用硬件资源的情况下,应对大量的并发请求[7-8]。根据设计的表关系,采用标准SQL语言在关系型数据库管理系统MySQL中创建数据库表monitor表。
3.2 功能实现
实验室环境监测平台主要是管理人员能够直观查看每个实验室的环境数据是否正常,并根据需要能够查看每个实验室的具体情况以及各种环境数据的变化趋势,从而推断实验室的情况,做出预防措施。平台采用前后端分离的形式实现,数据库采用MySQL5.7,后端采用MVC模式以及SpringBoot框架和MyBatis持久层框架[9-10],前端采用Vue框架、Element组件和ECharts数据可视化组件。
前端通过created()函数加载页面时,通过请求alllabortory路径请求后端,后端通过调用tb_laboratoryService接口的 findAllaboratorys()方法找出所有的实验室,再调用tb_laboratoryService接口的 findAllaboratory()方法查找出每个实验室对应的环境数据。前端采用按钮展示所有实验室,为了能够更加清楚显示实验室的状态,遍历获取的结果集,对遍历出来的对象分别判断温度、湿度、PM2.5以及烟雾是否正常,若有一个数据不正常,则将按钮设置为橘黄色,否则将按钮设置为绿色。为了实验室管理员能够更加清楚地查看实验室的具体情况,给按钮设置点击事件,通过this.$router.push({'path':'/Lin',query:index})进行页面跳转,显示当前实验室环境的具体情况。
为了能够清楚展示实验室环境数据的变化趋势,系统采用可视化形式进行数据的显示。在页面中首先为可视化图标设置对应的空间容器,分别通过drawLineChart()、drawLineCharts()、Histograms()函数对温度看板、湿度看板和PM2.5看板进行绘制,再通过drawCharts()函数用后端获取的数据对其进行渲染。具体获取数据流程:通过$axios的post请求根据上个页面传过来的参数作为传往后端的参数。后端通过monitorService接口的allTemp()方法对该实验室的最后20条数据即最新采集的数据进行查找和遍历,找出所有时间,通过new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(monitor_time)将时间转为字符串格式,并通过format.substring(10,16)方法对时、分进行截取;将处理好的数据存入时间集合,通过Msg.setDatas()将时间集合传入前端。前端定义两个数组,用来存放图表的X轴与Y轴的数据,并用push()方法对数组进行赋值,从而实现了数据可视化显示。实验室环境监测平台界面如图3所示。
图3 实验室环境监测平台界面
4 结 语
本系统结合物联网技术对实验室数据进行采集,并通过前后端分离的形式开发了实验室环境监测平台,实验室管理人员能够清楚地查看所有实验室的状态、环境数据以及数据的变化趋势。为了提高用户体验度,系统采用可视化形式进行环境数据的展示,对有异常数据的实验室按钮进行警示性颜色设置。本系统平台的实现使实验室的安全管理更加人性化和智能化,提高了实验室管理效率。