生化类实验室空气质量监测系统的设计
2023-12-11赵爱军顾斌杰
冯 伟, 赵爱军, 高 珂, 顾斌杰
(江南大学a.信息与控制国家级实验教学示范中心;b.实验室与设备管理处,江苏无锡 214122)
0 引 言
实验室是高等学校培养学生动手实践能力的重要场所,也是科学研究和开发的重要平台[1-3]。随着各高校科研能力的提升,实验室的使用率越来越高,师生在实验室中工作的时间日益增多[1]。根据相关调查分析,科研型实验室师生在实验室的时间每周5 d 以上的人数占据了大约一半,4 ~5 d 的人数约占20%,2 ~3 d的人数约占20%[2]。随着实验室使用频率的加大,实验室安全建设,特别是环境安全保障系统的建设受到了更多的关注。
在实验室的各种环境安全影响因素中空气污染是比较普遍和重要的因素,它直接影响着师生及科研人员的健康[2-3]。美国职业安全与卫生管理局公布的统计数据显示,实验室内空气污染导致实验室人员寿命比社会平均寿命短10 a左右[2]。在生化类实验室,试剂使用的种类多、频率大,如果再存在危化品存储和使用不当、危险废弃物处置不规范等问题,会导致空气中的污染物种类比一般实验室更多,浓度更高,对内部工作的师生造成的危害更大。
为保证实验室工作人员的身体健康,实验室内空气污染控制及管理方法亟待更多的研究和探索。目前,部分高校建立了一些信息系统,但这些系统管理对象是实验人员及危化试剂,没有对空气质量进行主动监测,管理部门无法获取空气质量的准确数据;部分高校和科研机构在相关实验室安装了气体泄漏监测装置或空气质量监测装置,但这些装置只是单点监测或作为通风橱等其他设备的附属装置,没有与信息系统对接[4-6]。管理手段的不足及实验室建设中系统建设思维的缺失,严重影响了相关管理方法的制定。
针对生化类实验室空气污染监测的重要性及监管缺失的现状,本文设计了一种生化类实验室空气质量监测系统并成功应用于江南大学生化类实验室。系统采用LoRa无线网络及4G CAT.1 通信技术、云服务器和WEB页面等物联网技术来采集、传输、处理空气质量数据,实现了对生化类实验室空气质量的全天候自动监管,为管理部门的决策提供了数据依据。
1 系统整体设计
生化类实验室空气污染由各种可影响实验人员身体健康的有毒气体、颗粒物、挥发物及气溶胶等物质造成[2]。空气污染物种类繁多,其中总挥发性有机物(Total Volatile Organic Compounds,TVOC)危害最严重、污染分布最广,目前已经成为室内空气质量监测的首要指标,长期吸入TVOC 会影响人体健康,许多TVOC成分已经证明是致癌物或可疑致癌物[7];甲醛、CO2、PM2.5、PM10、温度、湿度也是影响实验室内工作人员身体健康或舒适度的重要参考因素[8-9]。另外,空气中烟雾浓度能预警火灾发生,也关系着实验室内部人员生命安全和财产安全。因此,系统设计通过上述8 种传感器采集空气质量参数,经过传输、处理后由界面进行展示、报警,从而实现对生化类实验室空气质量的监测。
图1 所示为某生化类实验室空气质量监测系统的架构,从实施的便利性和成本考虑,整个系统包括终端、网关、云服务器、客户端。终端安装于需要监测的实验室,它通过传感器采集实验室内部的空气质量参数,通过LoRa无线网络将数据传输给配对的网关,无需布线;网关接收终端传输的空气质量数据,打包后通过4G网络传输给云服务器,根据实际情况,一栋楼或一层楼安装1 个网关即可;云服务器负责接收、存储、处理整个系统的所有数据,是整个系统的控制核心;客户端采用WEB页面,通过浏览器访问,用于用户与系统的交互。
图1 生化类实验室空气质量监测系统架构框图
2 硬件的设计与实现
硬件主要包括终端和网关,二者安装于监测区域,通过LoRa 技术以多对一的方式进行分时点对点通信。
2.1 终端的硬件设计
2.1.1 终端的硬件方案设计
图2 所示为终端的硬件功能框图,主要包括主控模块、电源模块、LoRa 模块、显示模块、传感器模块和语音模块。
图2 终端的硬件功能框图
(1)主控模块。该模块负责整个终端的业务处理,由MCU 与其外围电路组成。MCU 采用APM32F103CBT6,它具有96 MHz 的主频、20K 片内RAM、128K片内FLASH、3 路USART、2 路SPI,完全可以满足系统的功能要求,更重要的是它是国产芯片,价格、供应稳定性都比国外品牌的同类芯片具有优势。
(2)电源模块。该模块用于将开关电源提供的12 V直流电降为终端需要的直流电源。
(3)显示模块。该模块用于人机交互,可以实时显示空气质量数据和设置终端的参数。它选用淘晶驰7 寸HMI串口智能电容屏,具有电路设计简单、界面设计方便美观的特点,它与主控模块采用UART 接口通信。
(4)传感器。该模组用于采集实验室内部空气质量参数,为保证参数的精度,系统选用了商业化成品传感器模组。其中,烟雾传感器选用建大仁科RS-YGN01;其余空气参数选用创瑞康多功能空气质量变送器,可以采集空气的TVOC、甲醛、CO2、PM2.5、PM10、温度、湿度等7 个参数。2 种传感器数据接口均为RS-485,通信协议为Modbus RTU,数据读取方便。
(5)显示与传感器模块。该模块使用MCU 的UART接口或扩展485 电路。
2.1.2 LoRa模块的选用
LoRa模块负责与网关进行无线数据交互。LoRa采用扩频技术,具有通信距离远、抗干扰和阻塞能力强的特点,适合复杂环境下的中远距离无线通信[10-11]。为降低设计难度和保证通信质量,模块选用商业化成品模组-安信可RA-01SC,它采用LLCC68 芯片方案。LLCC68 是Semtech公司的一款LoRa 射频收发芯片,片内集成高效功率放大器,可实现高达+22 dBm的传输功率,覆盖从150 MHz 到960 MHz 的连续频率,适用于中距离室内以及室内到室外的无线应用。
RA-01SC与主控模块间采用SPI 接口通信。DIO接MCU的GPIO 口,并且此GPIO 口设置为外部中断模式,用于判断RA-01SC 事件的发生;BUSY_R 用于向MCU 指示当前指令是否执行完毕;NSS 可以强制RA-01SC终止正在执行的指令。天线接口处需使用阻容组成π型匹配电路。3.3 V 电源至少要保证250 mA的电流,并推荐增加ESD器件。
2.1.3 语音模块的选用
语音模块用于在空气质量参数超标时发出语音报警。语音模块的核心芯片为WTN6096,是一款多功能单芯片CMOS语音合成4 位元微控制器,音频采样率高达32 kHz,可以16 级音量控制,具有PWM和DAC 2种语音输出方式。
WTN6096 与MCU 的接口为一线串口,占用MCU管脚少,程序设计简单。MCU通过TTL 电平即可控制语音播放;芯片的PA2 脚用于反馈当前语音是否播放完毕;采用PWM直接驱动无源喇叭的语音播放方式,语音内容为定制,由专用烧录器烧录到芯片中。终端的实物如图3 所示。
图3 终端实物图
2.2 网关硬件的设计
网关在整个系统中起数据透传转发的作用,它接收云服务器的指令,解析后向终端转发;终端接收到网关转发的指令并执行后,向网关回复,网关解析后通过4G网络转发给云服务器。
2.2.1 网关的硬件方案设计
网关的硬件功能框架图如图4 所示。主要由主控模块、LoRa模块、4G CAT.1 模块、电源模块四部分组成。其中:①主控模块负责整个网关的业务处理,主要由MCU及附属电路组成,从开发平台的统一性考虑,MCU仍然选用APM32F103CBT6;②LoRa 模块则选用安信可RA-01SC模组,驱动电路与终端的电路相同;③电源模组则为整个系统提供稳定的电源。
图4 网关硬件功能框架结构
硬件设计中需要设计4 组跳线接MCU 的GPIO,用于通过跳线设置通信信道。
2.2.2 4G CAT.1 模块的设计
4G CAT.1 模块用于接收云服务器发送的指令,通过UART接口发送给MCU;MCU转发的传感器数据也通过4G CAT.1 模组发送给云服务器。
4G CAT.1 在4G 通信规则(4G CAT.1-CAT.16)中虽然是通信速度最慢的4G 通信技术,但也是成本最低的。相对于NB-IOT(CAT.M2)以及手机使用的4G CAT.4,它兼顾了成本及速度,非常适合对通信质量、实时性要求高的物联网应用场景[12-14]。因此,系统选用了4G CAT.1 技术,模组型号为EC200S。
EC200S是专为M2M和IOT应用而设计的全网通LTE CAT.1 模组,具有使用简单、超高性价比的特点,非常适合本应用场合。其工作电压范围3.6 ~4.5 V,本文设计为4.2 V,电流为3 A,设计时要在靠近电源处配合电解电容来避免大功率发射信号时的瞬时压降导致的模组重启。模组与MCU 之间通过UART 接口通信,因为模组通信接口电压是1.8 V,MCU 电压是3.3 V,所以需要通过2 个三极管电路进行UART电平转换才可以通信。网关的硬件电路板实物如图5所示。
图5 网关硬件电路板实物图
3 软件的设计与实现
软件主要包括终端程序、网关程序、云服务器程序、客户端程序。终端程序、网关程序为硬件编程。因为APM32 完全兼容STM32 的软件开发环境,所以硬件编程的环境为MDK5 和STM32CubeMX,采用HAL库编程开发。云服务器程序和客户端程序为纯软件开发,不涉及硬件。
3.1 终端程序的设计
终端程序主要完成传感器数据采集、人机交互界面业务处理、LoRa 模组驱动及通信处理、语音模块的驱动。程序主要流程如图6 所示。
图6 终端程序主要流程
终端的工作流程为:①上电后,程序先完成各模块的初始化工作;②读取存储在片内FLASH 的通信信道,它由液晶界面设定;③程序进入主循环。在主循环里面依次完成传感器数据读取、液晶界面数据显示、判断传感器数据是否超过阈值(若超阈值则通过语音模块发出语音报警并清零标志)、判断数据上传标志是否置位(如果置位则通过LoRa 模块上传传感器数据并清零标志)。在主循环中,程序还需要跳转处理液晶界面触控触发的UART中断、LoRa 数据接收触发的外部中断、传感器数据发送触发的UART 中断。MCU与两种传感器之间采用标准Modbus RTU 通信协议。为降低难度及保证通信稳定性,终端与网关间的LoRa通信也采用Modbus RTU 通信协议,终端在预设信道接收到网关广播的数据读取指令后立即解析,如果地址是本机地址,则将数据上传标志全局变量置位。
3.2 网关程序的设计
网关程序主要完成LoRa 模块的驱动、4G CAT.1模块的驱动、LoRa 通信处理、4G 网络通信处理,主要程序流程如图7 所示。
图7 网关主要程序流程
网关上电后先对各模块进行初始化,再通过信道设置GPIO的电平获取通信信道号。IMEI是每一部移动通信设备唯一的串号,4G CAT.1 模组也不例外,相当于它的身份证号,获取模组的IMEI之后可以将它作为网关的设备编号注册到云平台。在程序进入到主循环后,其先判断连接4G CAT.1 模组的串口接收完成标志是否置位,如果标志置位,说明接收到云平台下发的数据读取指令,程序将指令完整的通过LoRa 模组以广播的方式下发并清零标志。程序判断LoRa 接收完成标志是否置位,如果置位说明指定的终端已经将数据上传,网关通过4G CAT.1 模组将数据转发给云服务器并清零标志。
串口接收完成标志由串口接收中断和空闲中断置位,中断中接收到一组完整数据帧且CRC验证无误后将其置位。LoRa接收完成标志由LoRa模组的IO1 触发的MCU外部中断置位,在中断响应函数中接收一帧完整数据并完成CRC 校验。云服务器和终端均按照标准ModBus RTU 协议收发数据,网关在数据下发和上传的过程中是透明传输。程序中需要设置一个定时器定期将网关的IMEI作为心跳包上传给云服务器,以维持网关的长连接在线状态。
3.3 云服务器程序的设计与实现
本设计的云服务器运行于腾讯云,根据系统设置定时向指定的网关发送数据读取指令、接收网关转发的终端传感器数据以及心跳包。主要业务处理包括用户、监测点和设备管理、数据展示以及数据库的读写。
从功能角度云服务器程序划分为传感器协议处理模块(Sensor protocol processing module,SPPM)、业务处理模块(Service processing module,SPM)。SPPM处理面向长连接的技术服务,通过监听TCP端口接收网关转发上传的数据协议,解析后转化为程序内部数据,并通过接口与SPM 模块通信,它采用了Apache MINA2 框架。SPM则为整个云服务器程序的核心,它本质上是一个Web 工程,提供RESET 风格的接口跟SPPM 通信,主要使用的架构为SSM 架构(Spring MVC、Spring 和MyBatis)[15],缓存则采用了EhCache框架。云服务器程序的框架结构如图8 所示。
图8 云服务器程序框架结构
SPPM和SPM之间有2 个接口:设备登录接口、数据交互接口。网关上电后上传注册数据包或定时上传心跳包,SPPM接收后通过设备登录接口转发给SPM,SPM判断程序内是否存在此网关,如果网关不存在,则通知SPPM断开与此网关的连接;若网关存在,则通知SPPM通过数据交互接口接收此网关后续上传的数据并在WEB 页面上更新状态。SPM定时向指定网关发送数据读取指令也是通过数据交互接口先发给SPPM,再由其下发。
3.4 客户端的设计与实现
系统客户端为WEB 浏览器,Web 页面采用JSP、jQuery和CSS 等经典的前端技术编写而成,使用了Pintuer、jQuery WeUI等前端框架和UI库。
根据实际的需求,设计了用户管理、设备管理、监测点管理、报表中心、实时监控、系统设置、智慧看板等7 项功能。
用户管理用于增、删、管理用户及设置用户权限。设备管理用于增、删、管理网关及终端,并将网关及终端进行绑定处理,还可以进行设置阈值、消除报警信息等设置工作。监测点管理用于增、删、管理需要监测的实验室,并将监测点与终端进行绑定。报表中心用于查询、查看、导出监测点的历史数据。实时监控可以查看所有终端的实时在线状态及传感器的实时动态数值。系统设置用于设置系统参数信息。智慧大屏则可以使用户通过页面直观的查看到整个系统的概况和主要信息,具有很强的可视化效果和展示性。
4 系统性能测试
整个系统的主要功能是采集生化类实验室内部的空气质量参数,通过LoRa无线通信、4G网络通信将数据发送至云平台。传感器的准确性及网络的联通性、稳定性对系统的性能起着至关重要的影响。在传感器的选型上,系统选择了已标定的成品传感器。仅需要对设计的终端与网关间的LoRa 无线通信及网关与云平台之间的4G网络通信测试即可。
4.1 LoRa无线通信的测试
在系统中,LoRa 信号仅涉及穿墙,应用场景并不像野外环境那么复杂,以某大学化工学院5 楼实际场景为例,网关设置在设备间,在同一楼层选定典型的位置布置终端,离地高度1.6 m,通信频率设置为433 MHz,发射功率设置为20 dBm,空中速率设置为9 600 bps,在不同的测试点分别向网关连续发送数据包,网关通过UART将数据转发至计算机串口调试助手,用于计算丢包率和准确率。测试点分布如图9 所示,测试结果如表1 所列。
表1 LoRa测试结果
图9 测试点分布图
测试结果表明,虽然应用场景穿墙层数较多,但是因为直线通信距离远低于RA-01SC模组2.8 km的有效距离,且场景单一,测试数据丢包率为0%、准确率为100%,完全满足系统应用要求。
4.2 4G网络通信的测试
为便于查看测试数据,用花生壳软件与网络调试助手软件NetAssist建立本地公网TCP服务器,编程使网关每隔10 s通过4G CAT.1 模块向服务器发送一帧测试数据,连续发送3 000 次,通过NetAssist软件导出的接收数据文件统计,数据的接收率和准确率均为100%,证明本应用中4G CAT.1 模块满足系统要求。
系统实际部署后,通过3 个月的运行测试,系统稳定可靠,完全符合设计需求。安装在监测区域的电视机通过浏览器展示的客户端智慧看板界面如图10所示。
图10 客户端智慧看板屏显
5 结 语
针对生化类实验室空气质量监管的现状,设计并搭建了一种生化类实验室空气质量监测系统,通过3个月的实际运行测试验证,结果表明,该系统通信丢包率为0、数据准确率为100%,网络连通稳定可靠,实现了对生化类实验室空气质量的实时高效监测;通过量化的直观数据,给学校实验室管理部门制定相关规定提供了准确的决策依据。