基于健康码识别检测预警的智能门禁终端系统设计
2021-10-29徐耀刘步中翟德超
徐耀,刘步中,翟德超
(江苏省中小企业电子产品工程技术研究开发中心,江苏淮安,223003)
在疫情期间,“健康码”和当前体温是广大群众健康出行的重要“凭证”。而在学校、社区、车站、商场等人员相对密集、流动性大的场所,传统人工检查健康码、测量人体温度,工作人员本身不但有感染风险,而且工作强度巨大。本文的设计中,用户通过扫描或刷卡不同地点的门禁终端,实现自助登记、自动比对、无接触测温,为疫情管理、科学决策做出支持。
1 终端系统总体要求
为比对人员的历史行程并能够适应更多场景,系统要求能够既能够读取健康码等二维码,又能够读取校园卡、小区门禁卡等射频卡;针对体温的检测,既要保证测量的快速性、准确性,又要防止交叉感染,要求“无接触”测温;为保证终端能够实时记录、上传测量、比对数据,系统需要有WIFI 通信功能与上位机实现无线通信;最后,还要有良好的交互界面体验。
2 终端系统硬件设计
为实现系统总体要求,终端系统设计了基于红外体温传感器和单片机实现一个非接触式红外测量体温的终端系统,该系统具有适用场景广、测量精度高、测量速度快、交互性好等优点。该系统主要有单片机最小系统模块、人体红外感应模块、扫码刷卡模块、测温模块、显示模块、声光报警模块、电机驱动模块、通信模块和电源模块等组成,如图1 所示。
图1 智能门禁终端系统硬件框图
其中,扫码模块、测温模块、显示模块、WIFI 模块均以UART(全双工通用同步/异步串行收发模块)方式与单片机芯片通信。
■2.1 单片机芯片选型
本终端系统采用的STC8A8K64S4A12S4 单片机,不需要外部晶振和外部复位,具有超强抗干扰、超低价、高速和低功耗,在相同工作频率下,STC8 系列单片机比传统的8051 约快12 倍。更重要的是,该系列 64 引脚封装的单片机,具有4 路全双工异步串行通信接口,每个串口的数据缓冲器由2 个互相独立的接收、发送缓冲器构成,可以同时发送和接收数据。4 路串口可以独立与外围串行模块相连,也可以通过分时复用的方式让一路串口与多个不同波特率的外围串行模块相连。而针对RS232 电平接口的外围模块,可以通过MAX232 芯片将其转换成TTL 电平接口后与STC8A 相连。
■2.2 扫码刷卡模块选型
本终端系统采用HEM23 扫码刷卡模块,它可识读各类主流一维条形码、标准二维条形码和校园13.56MHz的NFC 卡,具有远距离快速扫描识别的嵌入式模块,并且可以在室外阳光下工作,内部光学玻璃镜头扫码角度超120度。多种接口如TTL、USB、RS232、RS485 等输出,并可
对其波特率进行设置。因传输的距离较近,因此本终端系统采用RS232 串行接口形式。
■2.3 测温模块选型
红外体温检测模的主要功能是通过接收物体发射出的特定波长段的红外线的能量,来计算出被测物体的温度。因防疫中测温精度和速度的要求较高,本终端系统选用华芯智云的90614 型模组非接触式红外体温模块。该模块采用了高精度16×4 点阵式多点测温、RS232 串行数据接口,可以方便地将采集的温度传送给单片机。
■2.4 显示模块选型
显示模块采用迪文科技的7 寸串口电容触摸屏DMG 10600C070,它是基于迪文T5 CPU的DGUS UI 开发模式,开发便捷。该屏分辨率为1024×600,并可以设置成旋转0°、90°、180°或270°显示模式,使得显示非常方式非常灵活。亮度可进行100 级亮度调节,但建议在30%以上亮度显示,以防出现闪烁现象。信号接口为RS232 通过MAX232转换后与STC8A的串口相连,波特率可设置在3150bps-3225600bps,典型值为115200bps。
■2.5 串口转WIFI 透传模块选型
本终端系统选用ATK-ESP8266 作为串口转WIFI的模块,STC8A 通过串口与该模块直接相连,可以将采集的信息以无线的方式送出。它符合IEEE 802.11b、IEEE 802.11g和IEEE 802.11n 网络标准,发射功率11-18dbm,TTL 电平,波特率可在110bps~921600bps 间设置。
■2.6 人体红外感应模块选型
为节省能源,需要在一定时间以上无人测量的时候让系统待机,本终端中使用的人体红外感应模块HC-SR501 是基于红外线技术的自动控制模块,采用LHI778 探头设计,灵敏度高,可靠性强,其工作电压5V 即可,静态电流小于50μA,可以感应最远7 米、角度约100 度范围内的人。人进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平输出低电平。STC8A 单片机则依此信号,来决策系统进入或退出待机状态。
3 软件设计
本部分主要进行系统软件的总体设计和核心的温度采集部分程序设计。
■3.1 系统软件总体设计
为实现终端系统总体要求,配合选用的硬件,设计了如图2 所示的系统软件流程图。系统开始并初始化后,通过人体红外感应模块检测终端前是否有人。当终端前有人时,唤醒系统工作,并提醒人员提供健康码或刷卡,根据读取的健康码或卡内信息与上位机下发的行程、体温等历史记录进行匹配比对,如果终端前没有人,则返回继续检测,而当检测到终端前长时间没有人时,则系统进行待机状态。如果实测人员历史记录正常,则提醒人员面朝测温模块约20-60cm 间测温,如果历史记录不正常(如红码、行程中有异常)等,则声光报警,提醒工作人员处置。检测完健康码或校园卡的历史记录后无论是否正常,都要在当前站点测量体温,当体温正常则打开道闸后,显示并上传测温站点、时间、人员、体温等信息;如果体温不正常,则声光报警,同时仍然要显示并上传测温站点、异常人员信息,并提醒决策机构根据数据记录快速查找密切接触者。
图2 终端系统软件流程图
■3.2 测温模块软件设计
华芯智云的90614 型测温模组是RS232 串行接口,当主机(STC8A 单片机)发起测温请求指令和从机(红外体温检测模块)回复指令如下:
(1)主机(STC8A 单片机)发起请求:
(2)从机(红外体温检测模块)回复:
主机(STC8A 单片机)的测温模块的软件设计目的在于将主机请求的字符串数组(0x07 0x07 0Xaa 0x55)在需要的时候正确发出,然后将从机(红外体温检测模块)回复的字符串正确接收。
温度检测模块的串口初始化程序如下:
4 实验及结果
本终端系统选用鱼跃医用红外额温枪YT-2 作为实验数据参考值,实验方法是在相同条件下,用本终端系统与YT-2 对相同目标进行多次测温对比,结果显示精度可保持在± 0.3 度。同时能够实时将测温站点、时间、人员、体温等信息通过WIFI 与上位机准确无线通信,同时,迪文触摸屏的使用使系统并具有良好的交互性。
5 结论
本终端系统以具有4 路独立串行通信口的STC8A8K64 S4A12S4 单片机为核心器件,在非接触状态下,通过识别健康码或校园卡对人员信息上传至数据库中比对历史行程,使用华芯智云的90614 型模块测量人员的当前体温,实现实时显示、提醒,并可登记、上传新产生的行程、数据,实现了系统设计要求,为疫情科学管理、精准决策提供了数据支撑。