摘 要:本文设计了一款基于OpenMV和STM32的综合健康管理和门禁系统,旨在应对当前全球范围内的公共卫生和安全挑战。系统通过图像识别和传感器数据的综合应用,实现口罩识别、人体体温监测以及RFID验证等功能。OpenMV将口罩信息通过UART协议传输给STM32C8T6核心MCU,MCU根据综合信息驱动电机控制门禁系统。当检测到体温过高的人员时,MCU发送拍照标志位给OpenMV,进行拍照记录,并通过ESP8266传递给服务器,之后通过TCP/IP协议传输到手机APP。同时,系统根据环境光照水平由PID算法计算补光值,并通过PWM波进行补光调节。通过双红外对射管统计人数,利用JQ8900N芯片驱动喇叭进行语音播报。测试结果表明,本系统能够有效实现健康管理和安全门禁控制,提高公共场所的安全性和卫生管理水平。
关键词:OpenMV;STM32;门禁系统;口罩识别;人体体温监测;RFID;PID;双红外对射;语音播报
中图分类号:TP272 文献标识码:A 文章编号:2095-1302(2024)04-0-05
DOI:10.16667/j.issn.2095-1302.2024.04.038
0 引 言
近年来,人们在特殊时期越来越重视门禁系统的健康安全管理功能,以确保个人安全[1]。通过整合先进的技术,例如图像识别、传感器数据分析和无线通信等,能够实现检测新冠病毒症状的智能系统,从而在一定程度上预防病毒的扩散。这些系统在减少传染病的传播和增强公共卫生保护方面发挥着至关重要的作用。
尽管许多现有系统具备了基本的人员健康监测和门禁控制功能,但它们往往缺乏完善的环境调节功能,如根据环境光照进行自动补光,从而提高图像识别的准确性和系统的用户体验。例如,文献[2]所描述的安检门虽然配备了口罩检测和体温测量功能,但不能够根据环境变化自动补光。同样,文献[3]中的防疫门禁系统能够进行口罩检测,但无法实现测温和调光补光功能。
本系统利用多种传感器和传输技术实现了综合性的防疫门禁系统,本系统具备口罩检测、自适应环境补光、红外测温、通过人数计算、语音播报、安卓APP图像显示以及RFID(Radio Frequency Identification, RFID)验证等功能。
1 系统整体设计
1.1 需求分析
首先,该门禁系统应具备口罩佩戴检测功能,并具有一定的对抗环境干扰的能力,以确保通过系统的人员都佩戴口罩,防止因不佩戴口罩而发生的病毒传播。其次,系统应配备非接触式温度测量装置[4],以便在不接触的情况下测量通过人员的体温。这样,系统能够检测出发热人员,并记录其特征,且能够在类似安卓APP的终端查看,对追踪发热人员提供帮助。此外,门禁系统应能对通过的人员进行语音播报提醒,以便了解他们下一步的动作。
1.2 整体结构设计
本系统采用OV5640摄像头进行图像采集,在OpenMV(Open Machine Vision)集成的STM32H743II芯片上实现图像处理,通过UART(Universal Asynchronous Receiver Transmitter Protocol)协议将口罩佩戴信息和图像信息传输给STM32C8T6核心MCU(Microcontroller Unit)[5],其中,MCU采用ST-link(STMicroelectronics)经SWD(Serial Wire Debug)接口进行调试与编程。系统使用MLX90614红外测温传感器检测体温,并通过ESP8266将拍照记录传输到本地服务器。服务器通过TCP/IP(Transmission Control Protocol/Internet Protocol)协议与手机APP通信,传输拍照记录。光照度自适应调节模块通过线性拟合和PID(Proportional Integral Derivative Control)算法实现光照度的自适应调节[6],双红外对射管用于统计人数,JQ8900N芯片驱动喇叭进行语音播报。整体器件连接设计如图1所示。
以上各个器件相互配合,使系统能够实现综合健康管理与门禁功能。
2 系统硬件设计
系统主要由图像采集与处理模块、数据传输与控制模块、人体温度检测与拍照模块、服务器与手机APP通信模块、光照度自适应调节模块以及人数统计与语音播报模块组成。系统模块组成如图2所示。
2.1 图像采集与处理模块
设计图像采集与处理模块时,需要考虑摄像头的选择、接口设计以及图像处理算法的支持。
摄像头应具有高分辨率、良好的图像质量和强大的适应性。因此选择OV5640摄像头,它具备高分辨率和优秀的图像质量,适用于人员识别和图像处理。
模块与主控单元(STM32H743II芯片和STM32C8T6核心)之间的数据交换采用UART协议。图像数据和处理结果能被传输给主控MCU,实现模块间的数据交互。
图像采集与处理模块的硬件设计应支持各种图像处理算法,因此选择STM32H743II芯片,它具备强大的处理能力和丰富的图像处理算法库,支持实时图像处理和分析。
2.2 数据传输与控制模块
设计数据传输与控制模块主要考虑各模块间的数据通信协议、核心MCU对电机的控制。
对于2个芯片之间的通信采用UART协议,MCU的
2个UART串口通信模块集成到数据传输与控制模块中[7],负责从OpenMV的STM32H743II芯片向核心MCU传输口罩佩戴和相关图像信息,同时向ESP8266模块发送图像信息,核心MCU接收口罩佩戴和图像信息,并接收RFID模块的信息以及人体体温传感器数据。通过UART协议,图像信息从STM32C8T6传输至ESP8266模块,然后ESP8266模块将图像信息发送到远程服务器,供手机APP查看。
最后,STM32C8T6通过GPIO引脚连接电机[8]。根据口罩信息、体温信息和RFID刷卡信息,MCU控制相应的GPIO(General Purpose Input/Output)引脚驱动电机,从而控制门的开启或关闭。
2.3 人体温度检测与拍照模块
人体温度检测与拍照模块用于检测人员的体温。它通过红外传感器测量人体的热量辐射,并将测得的温度数据传输给MCU进行处理。
使用UART协议实现MCU(STM32C8T6核心)与OpenMV(STM32H743II芯片)之间的通信。MCU向OpenMV发送拍照标志位,用于触发拍照记录的开始。
OpenMV接收到MCU发送的拍照标志位后,执行拍照操作,并将拍照记录转为JPEG流传输到MCU中,再由ESP8266转发至服务器中存储,最后通过TCP/IP协议转发到安卓APP。
2.4 人数统计与语音播报模块
使用双红外对射管作为人数统计传感器。这种传感器由一对发射器和接收器组成,可以通过检测人体通过时的阻断情况来实现人数统计。当有人通过时,红外光束会被阻断,传感器将检测到信号变化,并统计通过的人数以统计通过系统的人流量。
使用JQ8900N芯片驱动喇叭进行语音播报。JQ8900N是一种集成语音解码和功放功能的芯片,可以通过外部喇叭播放音频文件。该芯片可连接MCU,以控制播放内容和音量等参数。
3 软件设计
3.1 OpenMV软件设计
在OpenMV上,需要实现相应的图像处理算法,用于口罩佩戴检测和异常人员拍照。在实现这些算法的过程中,需要使用OpenMV IDE(Open Machine Vision Integrated Development Environment)进行开发,使用Micropython语言编程。由于需要建立口罩检测模型,因此需要用Edge Impulse平台进行机器模型的训练。
在初始化摄像头、UART以及图像分辨率和颜色模式后,加载Haar(Haar-like)特征来识别眼部(口罩佩戴后的主要识别区域)。然后对采集的图像进行预处理,利用Haar特征判断人脸,并运行口罩检测模型。同时,将图像亮度和处理结果发送给MCU,在接收到MCU的判定状态后,如果检测到异常人员,会拍照并发送到MCU。如果无异常,则重新开始人脸检测。OpenMV算法流程如图3
所示。
3.2 STM32软件设计
在STM32核心MCU上,需要实现对应器件控制逻辑和信息传输逻辑[8-9]。系统初始化后,接收到OpenMV找到人脸标志后对数据进行采集与判断,存储标志位的数组发生变化,如果体温异常,则对OpenMV发送拍照标志对其进行拍照记录,将图像信息通过UART协议转到MCU,再由ESP8266发送到服务器并对存储标志的数组复位;若体温正常但RFID验证失败或未戴口罩,则进行语音播报并不对标志位复位;若三项指标均正常,则开启电机,人员进入。主函数算法流程如图4所示。
3.3 PID自适应调光
PID算法即比例-积分-微分控制算法,是一种常用的控制算法,广泛应用于自动控制系统中。PID算法通过对系统的误差进行反馈控制,实现对系统输出的精确调节。通过OpenMV得到的亮度作为现实值,设计PID控制器并计算输出的PWM占空比,不断调节LED的亮度值达到OpenMV最适合的检测模型亮度[10]。
e(t)(误差值)和u(t)(输出量)的关系:
(1)
式中:KP为比例系数;KI为积分系数;KD为微分系数,其均为调适参数,需手动调整。
由式(1)可以得到输出值为误差值的比例增益、积分增益、微分增益的总和。由线性拟合得到的最佳亮度值与OpenMV得到的亮度值进行相减得到误差值e(t),经过比例增益、积分增益、微分增益后得到输出的PWM占空比值u(t),WS2812BLED根据该值调光,随后改变OpenMV得到亮度值,形成自反馈系统并不断接近目标值。系统PID工作算法流程如图5示。
4 系统集成与测试
为全面测试本系统的综合性能,需要从多方面进行考量。首先,需要评估本系统的口罩检测算法以及PID调光性能;其次,通过模拟人体温度检验系统的体温监测精度和可靠性,同时确认在检测到体温过高时是否能准确执行拍照记录功能以及评估ESP8266的数据传输能力,TCP/IP协议的通信稳定性[11]及手机APP的接收与处理能力[12]。接着,使用多种RFID标签测试系统的RFID验证功能,测试系统的人数统计与语音播报功能的准确性。最后,对系统进行整体
测试。
4.1 口罩检测算法与PID调光测试
OpenMV由灰度均值得到的亮度水平作为亮度参考标准,首先采用程序处理方法对图像的采集进行提亮或者减亮操作,将结果保存到SD卡中,后导出并对其进行线性拟合,得到最佳识别亮度约为144。将其作为PID的目标值,取5种平常肉眼观察到的黑暗、微光、较暗、正常与较高的亮度水平作为调光前的亮度进行100次测试。测试结果见表1所列。
由表2中的测量数据得到,本系统的口罩检测算法能够准确检测行人是否佩戴口罩,且能够准确调光。
4.2 体温监测性能与异常人员拍照传输测试
通过与医用红外测温枪的数据进行对比,在不同环境温度下进行了温度对比测试。在同一热源,同一时间进行了100次测量,获取系统的温度数据。同时,还进行了模拟异常人员尝试通过系统的测试。在额头上贴上40 ℃以上的热源,一次不戴口罩,一次戴上口罩,每种情况测试30次。系统在测试过程中,都会拍照并将图片发送至服务器,再转发到安卓APP。
由表2中的测量数据得到,本系统的体温检测性能较好,对异常人员的拍照传输较为稳定。
4.3 RFID验证、人数统计与语音播报测试
利用成功写入的RFID进行50次验证,通过率为100%;利用未写入的RFID进行50次验证,使用红外对射管进行人数统计,采用连续不规则的出入测试模式。在系统安装完成后进行语音播报测试,在正常通过、温度异常报警、RFID验证失败状态下进行播报测试。
RFID验证测试中写入的RFID均通过,未写入的RFID均能成功拦截,人数统计测试成功率为99.5%,语音播报测试中所有状态语音均能成功播报。测试结果见表3
所列。
由表3中的数据得到本系统的RFID验证模块、人数统计模块与语音播报模块均能够较好发挥性能。
4.4 系统整体测试
用2个桌子间的空隙模拟进出通道,通道左右安装红外对射管记录进出人员。将所需模块集成在MCU上,外接电源供电板,盒子内有WiFi模块、语音芯片和喇叭。测试口罩的OpenMV、红外非接触温度计、光照传感器和WS2812BLED装在伸缩杆上,系统集成实物如图6示。
集成后对所有功能进行模拟使用时的测试,系统各功能能够配合执行,测试结果见表4所列。图7为APP所示异常人员照片。
由表4中的数据可知,本系统集成后依然能够很好地完成既定功能,可以有效保障环境安全。
5 结 语
本系统集成了多种传感器和功能模块,成功实现了针对病毒扩散期间场所管理的智能监控系统。系统融合图像处理、语音识别、人数统计等技术,可以自动检测是否佩戴口罩,并测量体温、统计人数和调节光照,大大减少了人工操作的不确定性,降低了病毒传播风险,提升了公共卫生安全和工作效率。系统的实用性和前景在于其可减轻人力负担、促进经济效益和医疗前沿技术的应用。
总体而言,本系统具有巨大的应用潜力和发展空间,它为防止病毒扩散提供了有效的技术支持,并为智能化管理和监控领域的研究提供了有价值的参考。相信经过不断实践和探索,本系统会不断完善和发展,为社会带来更大贡献。
注:本文通讯作者为周旋。
参考文献
[1]秦苹. 新冠肺炎防治中强制隔离措施适用的研究[D].南宁:广西大学,2022.
[2]林厚健,钟锦杰,朱向庆,等.便携式体温检测及口罩、粤康码识别安检门[J].物联网技术,2023,13(4):22-25.
[3]谢鑫焱,祁晋东,杨晨,等.智慧社区防疫门禁系统设计[J].黑龙江科学,2023,14(2):105-107.
[4]解谦,陈卫松,杨秀秀,等.非接触式红外温度检测的防疫系统设计与实现[J].电子世界,2021,43(21):126-128.
[5] THÉO W S Q. Design of smart phone organizer based on OpenMV [J]. Academic journal of engineering and technology science,2021,40.
[6] COSMIN C,THOA M T,CLARA I. PID based particle swarm optimization in offices light control [J]. IFAC papers on line,2018,51(4).
[7]吴朝晖,曲立国.UART波特率检测电路的FPGA设计算法与实现[J].现代电子技术,2022,45(20):41-44.
[8] ST半导体公司. STM32F407C8T6数据手册[EB/OL]. [2022-07-20]. https://www.alldatasheetcn.com/datasheet-pdf/pdf/201596/STMICROELECTRONICS/STM32F103C8T6.html.
[9]雷赛楠,章文俊,李昊.基于STM32和ZigBee网络的智能家居系统[J].电子设计工程,2023,31(7):109-112.
[10]杜冠峰. 基于模糊PID的隧道照明控制系统设计[D].杭州:杭州电子科技大学,2020.
[11]王通,周帅,谢印庆.一种智能的图书馆环境监测系统[J].物联网技术,2022,12(11):18-19.
[12] WANG J,KE T,HOU M J,et al. The design of home fire monitoring system based on NB-IoT [J]. International journal of advanced computer science and applications,2022,
13(5).
收稿日期:2023-05-27 修回日期:2023-06-30
基金项目:吉首大学校级创新创业训练项目(JDCX2022759)
作者简介:朱金林(2003—),男,本科,就读于吉首大学,研究方向为电子信息工程。
彭心怡(2003—),女,本科,就读于吉首大学,研究方向为电子信息工程。
周 旋(1990—),女,硕士,吉首大学通信与电子工程学院讲师,研究方向为信息与通信工程。