基于ARM嵌入式的医院空气质量实时检测系统设计与研究

2021-05-07 09:43郭堂伟
计算机测量与控制 2021年4期
关键词:串口空气质量浓度

郭堂伟, 周 涵, 俞 啸, 阳 媛

(1.宿迁市第一人民医院 信息处,江苏 宿迁 223800;2.徐州医科大学 医学信息与工程学院,江苏 徐州 221000;3.东南大学 仪器科学与工程学院,南京 210018)

0 引言

医疗水平的快速发展使得人们对医院空气质量提出了更高的要求[1]。良好的空气质量是安全就医的前提条件,因此,如何有效进行医院空气质量实时检测是当前空气质量检测面临的主要问题。

对于医院空气质量监测的研究,已有许多学者开展了相关研究工作,相继提出了检测标准、检测方法和检测工具。首先,就检测标准来说,国际检测标准为“GREEN GUIDE for Health Care”[2],而国内医院空气质量检测需要参考《室内空气质量标准》GB/T 18882-2002标准[3]。其次,在检测方法方面,传统的医院空气质量检测依靠医院职工定期进行检测,存在检验时间过长、检测结果不准确、缺少时效性等问题。最后,传统的检测工具多为便携式移动设备[4],而检测结果与人员流动密切相关,相关检测参数随着密度、浓度不同发生变化,因此传统的检测工具存在检测误差较大问题。

考虑到当前医院空气质量检测需求,本文设计并研发了一种基于ARM(advanced RISC machine)和Lora(long range radio)的医院空气质量实时检测系统。该系统最根本的目的是通过对医院室内空气质量的实时检测,降低医院相关病例的感染率和发病率,并根据检测出的不同空气污染程度,合理安排消毒灭菌计划,加强消毒管理和医院环境质量控制。同时,该系统通过Lora无线通信技术实时地将检测结果上传至上位机,使医务人员能够及时地了解医院室内各区域的空气质量情况。总的来说,本文提出的空气质量实时检测系统相较于传统的空气质量检测方式,大大减少了人力、物力的消耗,能够有效提高医护人员预防和控制医院感染的认知,减少了因空气污染导致的二次感染、交叉感染情况的出现,确保了医院消毒工作的系统化、规范化、合理化。

1 系统整体设计方案

1.1 系统设计相关参数要求

医院空气质量检测包含两步,第一步将所采集的指标与其标准范围进行对比判断;第二步得出检测结论。温湿度、一氧化碳和二氧化碳等空气质量检测参数存在一定范围。具体范围如表1所示。

表1 相关检测参数范围

1.2 系统设计目标分析

为满足基于ARM和Lora的医院空气质量实时检测系统的软硬件测试需求,系统设计需实现以下几点目标:

1)实时性:当前多数空气质量检测系统存在实时性差、报错率高等问题。因此,在系统设计过程中,应充分考虑实时性,保证医务人员快速了解空气质量情况,并对污染区域及时进行消毒,避免出现二次感染、交叉感染现象。

2)高灵敏度、高精度:传统检测设备无法准确检测医院空气中的每种病菌和污染物,检测结果具有不准确性,因此,需要提高检测设备的灵敏度和精度。在系统设计开发时,针对不同参数配置不同的传感器,如DTH11传感器、MQ-7传感器、CCS811传感器以及SDS011传感器,分别对不同目标参数进行采集,并在有限时间内报告空气质量情况,保证检测结果的准确性与时效性。

3)模块化:系统设计采用分层化与模块化思想,不同的模块功能不同,各模块独立运行的同时按照流程整合检测结果。模块化设计可以保障医院空气质量实时检测系统的高效性。

1.3 系统实现功能分析

为充分利用现有资源,减少系统测试、设备测试过程中各种人力物力的消耗,系统设计需实现以下功能:

1)系统中各功能模块能够独立运行,某一模块出现故障时,自动报错,剩余模块不受影响。

2)能够满足医院室内不同环境和区域的测试需求,实现对空气质量的实时检测功能。

3)自动生成空气质量检测报告。

1.4 系统模块化设计

为满足医院室内空气质量检测需求,进一步解决因空气污染导致的二次感染和交叉感染的问题,本文采用模块化和层次化设计思想,开发了一种基于ARM和Lora的医院空气质量实时检测系统,该系统共分为3个模块,包括主控模块、采集模块和通信模块。本节将具体阐述这3个模块的功能作用。

图1 系统设计思路

1)主控模块:该模块负责处理并显示传感器传输的数据,提供终端控制与传感器控制功能。传感器节点主控实现不同传感器模块的协议并采集传感器数据,然后通过无线通信模块发送到系统终端主控。

2)采集模块:该模块中包含4个子模块,分别是温湿度采集模块、CO浓度采集模块、CO2浓度采集模块和颗粒物浓度采集模块,每个模块在不同的供电电压和引脚下利用内置的传感器对目标参数进行采集,采集结果与相关标准进行对比,作为空气质量评判的依据。

3)通信模块:该模块采用Lora无线通信标准,在资源能耗低的前提下,负责远距离无线信号的传输。

2 系统硬件设计

医院空气质量实时检测系统由主控模块、采集模块和通信模块三部分组成。主控模块主要负责控制终端与传感器;采集模块负责收集系统所需参数;通信模块负责信息传输和显示。总体系统硬件架构如图2所示。

图2 总体硬件架构

2.1 主控模块

主控模块的硬件构成有上位机和下位机。上位机以ARM为处理器架构,具体型号为IMX6UL,主要负责处理传感器数据并将数据实时显示。下位机是一个基于STM32、型号为STM32F103VET6的单片机,主要负责传感器驱动初始化并采集传感器的原始数据。

IMX6UL芯片是上位机的核心处理器,它采用Cortex-A7作为CPU核心,主频最高528 MHz,相比Cortex-M系列核心性能更强,而且相较于同系列的Cortex-A9核心在同性能的情况下功耗更低[5]。芯片支持DDR2和DDR3两种内存,并且支持Linux系统,扩展性能强大。STM32F103VET6芯片是下位机的核心处理器,相比传统单片机的8位CPU,Cortex-M3内核拥有更好的性能,更加丰富的外设接口,例如SPI、I2C、CAN等接口,引出的GPIO数量更多,资源更丰富。

2.2 采集模块

采集模块包括温湿度信号采集子模块、CO浓度采集子模块、二氧化碳浓度采集子模块和颗粒物浓度采集子模块。

温湿度信号子模块的硬件主要由DTH11温湿度传感器构成。该传感器包括电阻感湿元件、NTC测温电阻和8位的MCU(micro control unit)。电阻感湿元件由金属氧化物或者半导体所制成,电阻值在吸湿和脱湿过程中发生变化,电流在电压一定情况下,能够随阻值变化而变化[6]。NTC测温元件由多种金属氧化物烧结组成,可以根据电流的变化来确定温度的变化。

CO浓度采集子模块由MQ-7传感器构成,该传感器的主要元件包括由二氧化锡所制成的薄膜电阻和负责加热薄膜电阻的加热线圈。当CO经过由活性炭或者其他多孔吸附材料后到达被加热线圈加热的二氧化锡薄膜电阻,二氧化锡催化CO分解,同时自己的阻值也因为分解后的产物而发生改变。

二氧化碳浓度采集子模块依赖由金属氧化物烧结而成的微型气敏元件。该元件采用3.3 V供电,使用I2C通信协议作为通信接口,CO2经过通电的金属氧化物沟槽和加热器线圈时,导电率和阻值会发生变化,借助阻值的变化,根据气体浓度与阻值变化曲线图就能够得出此时的检测气体浓度。

颗粒物浓度采集子模块选择SDS011为传感器,该传感器包括TXD、RXD、GND、VCC和PWM引脚。TXD和RXD分别为串口的发送和接收引脚;GND和VCC为传感器的电源接口;PWM引脚主要输出以PWM形式所表示的颗粒物浓度。颗粒物浓度采集子模块通过传感器自带的涡轮风扇将周围空气吸入至激光散射区,MCU根据散射波长的不同进行分类统计,最后将结果以串口和PWM信号输出。

2.3 通信模块

医院空气质量检测系统把Lora无线通信技术作为通信模块协议内容。Lora最大的优点是在低功耗的前提下做到远距离无线信号传输,相比传统的无线通信在同样功耗下传输距离提高了3~6倍。Lora支持点对点通信和集中器组网通信协议[7-8]。Lora配置参数主要有:串口波特率、校验位、数据位、停止位、速率等级、信道和目标地址,常用命令如表2所示。

表2 配置Lora常用AT指令

3 系统软件设计

医院空气质量实时检测系统的软件系统包括软件环境和模块设计软件两部分。接下来,将具体描述这两部分的软件设计内容。

3.1 软件环境

基于嵌入式的医院空气质量实时检测系统具体的软件开发所使用的环境有:在Windows环境下的Keil5和在Ubuntu环境下的VSCode(Visual Studio Code)。上位机采用IMX6UL芯片以及开发板采用Linux作为操作系统,具有良好的人机交互界面。Linux是一种基于文件的操作系统,包括设备驱动、系统工具、网络协议等,即医院空气质量检测系统利用Linux对相关设备文件进行读写操作,同时利用树概念,将设备文件信息都存在一个以dts结尾的文件中,只需要更改设备树文件信息即可添加新的设备信息,为检测人员提供便捷的文件编写功能,有效降低操作复杂性。

3.2 模块设计软件

此部分主要包括STM32初始化、串口初始化与运行两部分,负责数据的采集、传输和显示。

3.2.1 STM32初始化

STM32F103芯片是整个系统的运行核心,必须在主程序运行之前对其进行初始化设置。初始化设置操作主要包括ADC初始、时钟初始设置、能嵌套的中断优先级别设置、定时结束器TIM2配置、多个串口配置、GPIO引脚配置、DMA初始化、USART配置、I2C接口初始化等。具体STM32初始化流程如图3所示。

图3 STM32初始化流程

3.2.2 串口初始化与运行

医院空气质量检测系统设计的无线通信模块需要自主配置后才能使用,具体配置内容需要自定义AT指令。具体配置调试过程为:首先安装CH340G芯片,连接模块;然后打开串口调试助手,使用HEX发送“+++”进入配置模式,OK表示设置成功;最后全部设置完成后使用AT+ENTM指令推出设置模式,并重启模块[9-10]。

另外,下位机只负责数据的采集,不需要负责数据显示部分,因此下位机在程序设计时采用无操作系统结构,按照程序顺序执行,存在数据采集缺失情况。为解决这个问题,医院空气质量检测系统在主程序中添加一个数据结构体模块。其中,每个传感器对应的数据都有一个数据标志位,当数据标志位全部被标记为数据已经写入时,使用串口将数据发送至串口无线通信模块。

4 实验结果与分析

在系统设计完成之后,本文还对系统进行了整体测试。系统测试是将已经确认的软件、硬件、外围设备、网络等其他元素结合在一起,在实际运行环境下对计算机系统进行的一系列严格有效的测试,以发现系统潜在的问题,从而保证系统的正常运行。针对本系统的测试内容主要包括模块性能测试,即采集模块性能测试和Lora无线通信模块测试。

4.1 采集模块性能测试

本节具体测试内容是测试传感器能否正常工作,工作时读取代码是否稳定,得到的结果与现实数据是否在正常误差范围内。图4~图7是对温湿度传感器、一氧化碳浓度传感器、二氧化碳浓度传感器和颗粒物浓度传感器的详细测试。

图4 温湿度传感器数据结果

图5 CO浓度传感器数据结果

图6 CO2浓度传感器数据结果

图7 颗粒物浓度传感器数据结果

4.2 Lora无线通信模块测试

医院空气质量实时检测系统的数据采集节点只有一个,因此Lora的通信方式选择使用点对点通信方式。在测试该模块的性能时,首先将两个USB To TTL转接器与TX进行连接;然后打开两个串口调试助手,分别选择不同的串口;最后在一个调试助手的发送区输入发送“XZMU”。另一个串口调试助手接收到所发送的字符串为测试结果,如图8所示。

图8 Lora无线通信模块数据传输测试结果

5 结束语

随着医疗水平的不断提高以及国民经济的快速发展,环境检测技术得到了大力推动,医院空气质量检测成为环境检测领域中的一个重要分支。针对传统医院空气质量检测方法存在检测方法单一、检测精度较低的问题,本文设计了一种医院空气质量实时检测系统,该系统能够将人工智能技术与环境检测技术有机结合起来,按照层次化和模块化设计思路开展研究,首先利用高性能ARM处理器进行数据采集;然后选择开放式软件架构使系统具有可扩展性,易于维护修改;最后采用Lora无线通信技术节约系统安装费用。系统实验测试结果表明,医院空气质量实时检测系统不但能够保证医院空气质量检测的有效性和精准度,而且使用自动化设备代替部分检测人员,能够实现医疗机构内部人员灵活调动,大大节省了检测成本;另一方面,能够为医院制定不同区域的消毒工作提供更加精准的数据支持,具有一定的实用性。此外,在今后的研究过程中,还将对该空气质量检测系统进行更加深入的研究,将会进一步根据实际情况来添加阈值预警模块,确保该系统能够最大限度地发挥检测与预警效用。

猜你喜欢
串口空气质量浓度
乌海市雾对空气质量的影响
生长素的两重性剖析
MCS—51单片机中的多串口通讯技术的应用
物质的量浓度计算策略
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断
化学问答
基于VC串口通信的实现