智能疫情防控仿真系统的设计*
2022-10-03宋云利周红芳
马 骞 , 刘 煜 , 侯 婧 , 宋云利 , 周红芳
(鄂尔多斯应用技术学院,内蒙古 鄂尔多斯 017000)
1 课题研究背景
自2019年12月发现第一例新冠疫情病例以来,人们的日常生活受到了巨大威胁。本项目立足疫情防控,预研发设计智能疫情防控仿真系统,在场所出入口实现无接触无人工的防控方式,弥补目前市场上疫情防控系统的不足,进一步提高防疫安全性和科学性[1-2]。
2 系统设计方案
项目采用STM32为主控制器,搭建图像处理、红外体温采集、自动计数、无线通信等硬件电路并使用C语言、Python语言编写程序从而实现电路的基本功能;系统使用JavaScript编写人机交互界面,实时显示采集信息,根据信息完成相应的控制操作;系统使用云服务器,将采集信息进行存储与调用;将以上各功能完成并结合以实现系统的整体设计[3-4],系统总体框图如图1所示。
图1 系统总体框图
2.1 硬件电路设计
系统电路主要包括:主控制器模块、无线通信模块、红外线辐射测温模块、数字温湿度测量模块、图像处理模块、数字光强度测量模块、继电器式喷雾装置、伺服电机模块、红外计数模块、LCD显示屏模块、系统供电模块等[5],主要模块电路图如图2所示。
图2 主要模块电路图
2.1.1 主控制器模块
中央控制核心芯片采用STM32F103ZET6芯片,其采用超低功耗的ARM Cortex-M4处理器内核,最高工作频率可达72 MHz,拥有丰富的外设、内部高速储存器(96 kB SRAM、512 kB FLASH)以及多种模式的I/O端口,具有高性能、低成本、低功耗的特点。本系统中采用的外设功能包括UART、PWM、IIC、SPI、GPIO等。程序通过MDK5使用C语言对芯片程序进行编写,通过Segger J-Link工具进行hex文件的烧录。
2.1.2 图像处理模块
图像处理采用OpenMV摄像头来为系统提供视觉信息[6]。OpenMV以STM32F427CPU为核心,该模块集成了OV7725感光芯片,具有高效、低功耗的特点。本系统中采用Python语言对该模块进行编程来实现是否佩戴口罩的检测,使用UART与主控连接进行串口通信,波特率为9 600 bps。该模块由主控模块提供3.3 V的工作电压。
2.1.3 其他功能模块
无线通信采用ESP8266模块,使用串口与主控通信,波特率为115 200 bps,为主控提供WIFI传输能力,工作电压为3.3 V,启用透传模式,在互联网和主控芯片之间架起了一座桥梁。辐射测温模块采用MLX90640探头,其共有768个测量像素点,检测距离可达7 m以上,工作电压为3.3 V,使用IIC接口与主控进行通信,为系统提供远距离无接触的人体体温信息。数字温湿度测量采用DHT11温湿度模块,采用一线制协议,采集系统所处环境温度和湿度。数字光强度测量采用BH1750光强传感器,使用IIC协议与主控通信,根据采集到的周围环境光照强度来控制补光灯的明暗程度。继电器式喷雾功能的实现是通过使用继电器来控制喷雾器的一个组合装置,喷雾器内装有对空气有消毒作用的医用试剂。系统的机动部分为两个工作电压6 V,可旋转角180°,转矩70 N·m的伺服电机,通过主控芯片产生PWM(脉冲宽度调制)信号来进行门闸的开合。系统产生的信息全部显示在一块4.3英寸的分辨率为240×320的LCD屏幕上,采用3.3 V供电,与5 V的主控连接时需在信号线串接120R电阻使用[7]。
2.2 软件设计
根据系统功能要求,软件流程图如图3所示,具体工作方式如下:系统上电时各个模块进行初始化,屏幕亮起等待数据产生,当与云服务成功连接后,网络状态指示绿灯亮起,系统程序进入主程序,开始与服务器进行信息交互,辐射测温模块跟随OpenMV摄像头模块构成的云台进行行人的追踪并产生体温信息,再根据体温信息和口罩佩戴情况进行门禁的开合动作。当体温异常时,门禁闭合蜂鸣器开始报警,LED红灯亮起,继电器控制的消毒装置开始工作,此时如果微信客户端下达控制命令,系统将停止自动控制并按照客户端命令进行动作。微信小程序端使用JavaScript语言进行编写,通过订阅云服务器上的系统发布的数据,用户可直观地监督与管理系统的状态来实现远程控制。
图3 软件流程图
2.3 云服务器的建立
系统云服务器的建立,使用SSH网络管理工具远程操作并部署云服务器,在Windows环境下一般使用Xshell连接服务器[8]。首先,在Xshell生成公钥,在阿里云控制台创建密钥对(选择配置项,导入已有的密钥对),输入刚才在Xshell生成的公钥信息,在后台重启阿里云服务器,之后就可以在Xshell上登录阿里云服务器。安装MQTT通信协议来实现下位机与网络的连接。数据以JSON格式来和微信小程序进行传输。系统使用轻量级的传输协议和数据格式来减少系统成本,并通过提高传输速度来提升系统可靠性和实时性。
消息队列遥测传输协议(Message Queuing Telemetry Transport, MQTT),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通信协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务[9]。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写,也易于机器解析和生成。目前其被广泛用于物联网领域[10]。
3 功能测试与结果分析
项目组为测试该项目的可行性,制作了一个缩小版智能防疫门实体模型并投放在一实验室出入口处进行测试。可靠性方面:在功能测试中,辐射测温表现良好,在传感器7 m的检测距离内精度误差不超过±1 ℃,可以达到系统功能要求。在下位机系统自动控制情况下,系统反应迅速,各部分功能均能达到预期效果。在微信小程序端远程控制时,有0.5 s~1.5 s的延迟情况,从测试的实际使用情况来看延迟效果不会影响系统的使用,可以接受。系统稳定性良好。安全性方面:在持续工作5个小时的情况下,伺服电机驱动的门禁没有出现夹人等危险动作。经济性方面:系统中支持低功耗模式的各模块均设置为低功耗模式,在12 V电池直流供电模式下,经测量数据可知,单片机端(传感器均由单片机端供电)最大电流为30 mA,执行器伺服电机最大工作电流为2.23 A,系统总体能耗极低。
4 小结
本系统的整体设计使用的仪器较少,逻辑简单,实现了预计的功能要求,成本低,稳定可靠,十分适合在人流量大的场合进行使用,提高了防疫工作的效率和安全性,具有较好的应用前景。