高雪娟 董小倩 石萌 刘炜
摘 要:考虑到公共场所人工测温将会给工作人员带来一定的安全隐患,文章提出将MLX90614红外非接触式温度传感器与Arduino UNO R3相结合,开发出一种功能可定制的智能体温安检系统。该系统能够完成测温和身份识别等功能,并根据检测数据自动控制闸门开合。通过无线传输,将检测数据存储于OneNET云平台并进行分析,可实现远程自动控制闸门的开合。系统实用效应强,应用范围广,具有较好的推广价值。
关键词:体温;MLX90614;安检
中图分类号:TP274 文献标识码:A 文章编号:2096-4706(2020)24-0171-04
Intelligent Temperature Security Verification System Based on MLX90614
GAO Xuejuan,DONG Xiaoqian,SHI Meng,LIU Wei
(School of Information Engineering,Shaanxi Xueqian Normal University,Xian 710100,China)
Abstract:Considering that manual temperature measurement in public places will bring a certain security threat to staff,this paper proposes to develop an intelligent temperature security verification system with customizable functions by combining MLX90614 infrared non-contact temperature sensor with Arduino UNO R3. The system can complete the functions of temperature measurement and identity recognition,and automatically control the opening and closing of the gate according to the detected data. Through wireless transmission,the detected data is stored in the OneNet cloud platform and is analyzed,which can realize the remote automatic control of the opening and closing of the gate. The system has strong practical effect,wide application range and good promotion value.
Keywords:body temperature;MLX90614;security verification
0 引 言
在人群密集场所,体温检测是保证人群健康安全的有效措施。疫情背景下,人们进入地铁、公交、机场、学校、商场、医院等公共场所前,都需要体温检测。体温超过37.30 ℃是发现疑似新型冠状病毒感染者的指标。测温枪人工检测的方式不仅检测效率低,还给操作人员自身安全带来威胁[1,2],非接触式智能体温安检系统可有效解决这个问题。MLX90614是非接触式红外温度传感器,检测实时性强,工作温度范围为-40.00 ℃~+125.00 ℃,分辨率为0.02 ℃,精度可达±1.00 ℃,满足非接触式智能体温安检系统的性能需求。
1 系统功能说明
系统检测目标为人体,当目标进入检测区域,系统能够获取检测目标体温数据。如图1所示,左边功能区为系统基本配置。右侧虚线框中功能区为选配区。图1中圆角矩形表示功能模块,直角矩形表示功能实现函数。
1.1 系统基本功能
在仅需要检测体温、发现体温异常的对象时,可选用“基本功能”。如果被测对象体温超过37.30 ℃,LED屏显示体温,系统发出红灯警报,并播报测量数据,等待工作人员对系统复位。否则,系统指示灯显示绿灯,并在LED屏显示体温。
1.2 体温控制通道闸
在需要根据检测对象体温自动控制通道闸的情况下,可选用“体温控制通道闸功能”。如果被测对象体温超过37.30 ℃,LED屏显示体温,系统发出红灯警报,并播报测量数据,关闭通道闸,等待工作人员对系统复位。否则,系统指示灯显示绿灯,并在LED屏显示体温,打开通道闸。
1.3 人脸识别+体温检测控制通道闸
在需要验证身份并根据检测对象体温自动控制通道闸的情况下,比如单位门禁系统,可选用“人脸识别+体温检测控制通道闸”功能。首先通过人脸识别系統验证被检测对象身份,识别成功,再检测被测对象体温。如果被测对象体温超过37.30 ℃,LED屏显示体温,系统发出红灯警报,并播报测量数据,关闭通道闸,等待工作人员对系统进行复位。否则,系统指示灯显示绿灯,并在LED屏显示体温,打开通道闸。
1.4 RFID身份识别+体温检测+智能付费控制通道闸
在需要检测被测对象体温、刷卡验证身份,若体温正常并且身份验证成功,扣除RFID卡内金额,扣费完毕打开通道闸的情况下,比如进入员工餐厅的自助餐区域,可选用“RFID身份识别+体温检测+智能付费控制通道闸”功能。首先检测被测对象体温,并通过读RFID卡验证被检测对象身份,如果识别成功并且被测对象体温低于37.30 ℃,则通过RFID卡扣费,系统指示灯显示绿灯,并在LED屏显示体温,打开通道闸;否则,若被测对象体温高于37.30 ℃,LED屏显示体温,系统发出红灯警报,并播报测量数据,关闭通道闸,等待工作人员对系统复位;若判定身份无法识别或扣费金额不足,语音播报“请等待工作人员”,系统发出红灯警报,并播报测量数据,关闭通道闸,等待工作人员对系统复位。
1.5 云端控制
在需要远程修改测温数据基准,记录被检测人体温数据,根据体温数据关闭通道闸,或者需要远程对智能体温安检系统进行复位的情况下,可选用“云端控制”功能。系统通过无线通信模块ESP8266 01S连接Internet,检测数据通过网络上传至OneNET云平台,完成数据记录和分析。不仅可根据温度数据远程关闭通道闸或设置系统各种参数,还可以根据记录数据分析各时段通道人流量等信息。
2 系统硬件设计
系统总体设计如图2所示,控制模块选用性价比高、便于安装的Arduino UNO R3、红外测温模块采用MLX90614红外非接触温度传感器[3]。基本配置中仅包括人机交互模块,实现温度采集和警示。人机交互模块中包括用于显示检测体温的LED1602显示屏,显示控制芯片采用ST7920,用于指示正常温度的绿色指示灯和警示异常温度的红色指示灯,用于温度超标提示的语音设备TTS-SYN6288,用于系统基本检测温度設置和系统复位的按键(Arduino UNO R3内置)。选配模块包括无线通信模块ESP8266 01S、用于身份识别和自动扣费的RFID模块SR-MU910B、用于超温抓拍和身份识别的拍照模组IVG-85HF30PS-S、通道闸门选用DR.TD.6653或根据应用场景选配。图2中虚线部分为选配模块,有向箭头为数据流转方向。
系统远程控制平台选用中国移动物联网OneNET平台[4],平台提供设备全生命周期管理相关工具,帮助个人和企业快速实现大规模设备的云端管理;开放第三方API接口,推进个性化应用系统构建;提供定制化“和物”APP,加速个性化智能应用生成,可快速定制手机端或Web端系统管理软件。数据通过无线通信模块连接到OneNET云平台,无线通信模块可以充当一个站点SP,也可以是AP接入点,可以连接手机,路由器等无线通信设备,通过TCP透传协议,采集数据可上行至平台,指令可下行至系统。在脚本文件中,数据上行可调用函数add_val(t,”Temp_Pocket2”,a,dev:bytes(1,2));数据下行可通过dev:send(“close”)返回平台数据。在WiFi.h中,将Wi-Fi名称、密码及OneNET平台账号识别码(*产品ID#鉴权信息#脚本名称*)进行准确定义。
3 系统软件设计
3.1 基本功能设计
软件部分主要包含:对Arduino UNO R3的I/O口进行初始化、温度检测、温度显示、温度判断、指示灯亮、异常报警。在获取温度时,可采取短时间多次测温,取温度均值的方式[5]。系统流程如图3所示。
3.2 增强功能设计
增强功能主要是在基本功能的基础上加入道闸控制功能。道闸是否打开,可根据体温(+身份识别或扣费是否成功)来决定。并且,身份信息和体温将被无线通信设备通过EDP协议上传至OneNet云平台,实现数据远程监控分析和远程自动(或手动)控制道闸。系统流程如图4所示,向云平台发送的数据将被存储、处理,并自动形成云端预警信息,发送给相关人员,并远程发送闸机关闭、红灯显示、语音播报体温、LED体温显示信号,等到工作人员处理和系统复位。
3.3 主要功能模块代码实现
3.3.1 自动采集温度控制通道闸
mlx.readObjectTempC()函数,读取温度值,判断被测人的体温情况控制舵机转动;对Arduino UNO R311号引脚接入LED红灯,当处于LOW时,低电平触发,红灯亮;处于HIGH时,高电平触发,红灯灭;通过for循环来产生PWM脉冲个数,从而控制舵机的转动。代码为:
if(mlx.readObjectTempC()>37.3||mlx.readObjectTempC ()<=30)//判断温度
{
if(mlx.readObjectTempC()>37.3)
{
digitalWrite(11,LOW);//低电平触发,红灯亮
delay(1000);
}
else{
digitalWrite(11,HIGH);//低电平触发,红灯灭
delay(1000);
}
for(int i=0;i<=50;i++) //产生PWM个数,等效延时以保证能转到响应角度
{
servopulse(servopin,0);//模拟产生PWM
}
}
else{
digitalWrite(11,HIGH);//低电平触发,红灯灭
delay(1000);
for(int i=0;i<=50;i++) //产生PWM个数,等效延时以保证能转到响应角度
{
servopulse(servopin,90);//模拟产生PWM
}
}
3.3.2 温度上传至串口监视器
系统调试时,可用上位机串口监视器查看温度检测值。将红外测温传感器所测量的温度通过调用函数传输到串口监视器,代码为:
Serial.print("Ambient = "); Serial.print(mlx.readAmbient TempC());
Serial.print("*C\tObject = "); Serial.print(mlx.readObject TempC()); Serial.println("*C");
3.3.3 LED温度显示
将红外测温传感器所测量的温度显示在LED屏上,代码为:
float obj_temp = mlx.readObjectTempC();
int temp[4] = {0,0,0,0};
temp[0] = int(obj_temp)/10; //十位
temp[1] = int(obj_temp)%10; //个位
temp[2] = int(obj_temp*10+0.5)%10; //做四舍五入区小数點后一位
Write_1621_data(0,0x00);
Write_1621_data(1,0x00);
Write_1621_data(2,num[temp[0]]|0x10); //显示十位,显示°
Write_1621_data(3,num[temp[1]]); //显示个位
Write_1621_data(4,num[temp[2]]|0x10); //显示小数点后1位
Write_1621_data(5,0xe1); //显示C
delay(1000);
4 系统性能测试
系统模型如图5所示。为了测试本系统的测温准确性,采用传统体温计和本系统分别对5人进行早、中、晚测温,发现本系统测温和传统温度计测量数据相差±0.20 ℃,并且,传统体温计测量体温大致需要4~5分钟,本系统仅需1~2秒,并能完成温度显示、绿灯亮灯或红灯闪烁并播报温度的操作。对于增强版系统,系统和云端的连接速度受无线通信信号强弱影响,稳定的信号是系统迅速反应的先决条件。正常情况下,异常发生,云端远程发送温度报警信号的响应时间小于3秒。
5 结 论
本文设计了一个基于MLX90614红外非接触温度传感器的智能体温安检系统,可自动检测通过安检系统人群的体温,并实现异常体温报警。系统功能可根据用户需求进行定制,用户若选择系统中RFID身份识别或者人脸识别功能,就可以将系统应用于门禁等场所,完成员工或学生的体温自动上报;用户若选择系统中RFID身份识别+扣费功能,即可将系统应用于教工食堂安全就餐等场景。云平台的数据存储分析,给本系统功能升级提供了多种可能性。
参考文献:
[1] 世界卫生组织.关于2019新型冠状病毒疫情的《国际卫生条例(2005)》突发事件委员会第二次会议的声明 [EB/OL].(2020-01-30).http://cn.un.org.cn/info/7/974.html.
[2] Melexis. MLX90621 Datasheet [EB/OL].(2016-09-15).https://www.melexis.com/zh/documents/documentation/datasheets/datasheet-mlx90621.
[3] 王刚,李锦,卢新祥.基于嵌入式的安全门铃系统设计 [J].电子测试,2020(24):27-28+73.
[4] 巩文东,赵青龙,冯国俊,等.具有云端报警功能的高校分布式体温检测装置 [J].安徽电子信息职业技术学院学报,2021,20(1):14-18.
[5] 陶杰,王欣,孙慧贤,等.基于MLX90614的温度实时检测系统 [J].电子技术与软件工程,2017(21):75.
作者简介:高雪娟(2001—),女,汉族,陕西渭南人,本科在读;研究方向:物联网工程;董小倩(2000—),女,汉族,陕西咸阳人,本科在读;石萌(1998—),男,汉族,陕西商洛人,本科在读;研究方向:物联网工程;通讯作者:刘炜(1976—),女,汉族,陕西三原,副教授,博士,主要研究方向:物联网应用开发和STEAM教育。