一种智能远程在线测温装置系统的软件设计与实现

2022-04-11 07:09冯晓荣
大众标准化 2022年6期
关键词:发送数据环境温度测温

冯晓荣,凌 云

(1.南通大学工程训练中心,江苏 南通 226007;2.杭州开地信息技术有限公司,浙江 杭州 310000)

1 概述

文章围绕一种“准、快、操作方便”的红外线测温装置,实现支持远程服务、自动程度高,但是价格低、操作便捷,方便一线新冠疫情防控工作使用。该装置的人体测温的电路由人环境温度传感器、人体温度传感器以及自校准系统,人脸识别、控制器、本地语音播报、LED 显示器以及远程传输模块组成,在测试人体温度时,人体体表温度受环境影响比较大,控制器先测量环境温度,再测量人体温度,根据环境温度来修正所测量的人体温度,测量的温度实现本地显示和远程上传,根据预先设定的阈值进行正常或异常播报。

本测温系统还带有人脸识别系统,用于对特定区域范围内的群体进行体温测量和跟踪。

2 软件流程

模块设计原则是解耦、颗粒度和时效性,按照此原则划分了软件模块图1,包括基本节拍任务、环境温度测量任务、人体温度测量任务、GPRS处理及自行上报任务、串口通信处理任务、人脸识别处理任务和语音播报处理。

图1 硬件模块图

2.1 测温总体流程

环境温度对人体测温存在重大影响,首先需要测得环境温度,再测得人体温度,通过计算得到实际人体温度并通过远程通道上报到平台,然后判断人体温度是否存在异常,按照设定值有异常则语音报警,否则正常显示人体温度,图2为测温总体流程图。

图2 测温流程框图

2.2 GPRS模块处理及上报流程

人体测得的温度需要上传到平台软件,作为实时跟踪的数据,而上传通过GPRS无线通道连接到平台软件,装置软件有新的温度数据时进行实时上报,装置软件GPRS通道的整体流程如图3所示。

图3 GPRS处理及上报流程图

GPRS通道的登录及心跳的流程如图4所示,登陆帧和心跳帧都需要平台软件应答,登录若没有收到确认帧则会重试三次,都不成功断开重新连接,心跳按照心跳周期发送心跳维持连接在线,GPRS重连如图5所示。

图4 GPRS登录及心跳流程图

2.3 环境温度测量

环境温度测量后,对环境温度进行细分、别分,采用不同的修正模型,对应修正人体温度,具体的流程如图6所示。

2.4 人脸识别流程

人脸识别流程用于实时跟踪特殊人群,特殊人群由使用单位添加,防止人脸数据被滥用,采集到温度需要和人脸图像建立对应关系,如此测温后便可索引历史测得温度,比对出异常信息并报警,历史天数可以配置,流程如图7所示。

图7 人脸识别流程图

3 主要数据结构

·GPRS配置参数结构:

typedef struct GPRS_PARM_STRUCT

{

char iIpAddr[IP_ADDR_LEN]; //IP

unsigned short iPort; //端口

char iAPN[16]; //APN

char iUser[16]; //APN用户名

char iPassword[16]; //APN密码

}STRUCT_GPRS_PARM;

·GPRS数据发送结构

typedef struct

{

unsigned char iRecvFlag:1; //0-尚未接收完成,1-接收完成Ê unsigned char iTimerOut:7;//接收超时时间

unsigned short iLen;//数据长度

unsigned char iData[SIZE_0F_GPRS_SEND_LEN];//发送数据缓冲

}CommStruct_Gprs;

·数据上报结构

typedef struct REPORT_STRUCT

{

unsigned char iSta;// 上报状态 ´Ì¬

unsigned char iLen;//数据长度Ê

unsigned char iData[SIZE_OF_SAVE_READ_DATA];//上报数据缓冲

}ReportStruct;

·串口数据结构

struct UARTOpStruct{

uint08 *TxBuf; // 发送数据指针

uint08 TxLen; //待发送数据长度È

uint08 TxOpc; //已发送数据长度

uint08 *RxBuf; // 接收数据指针

uint08 RxLen; //待接收数据长度

uint08 RxOpc; //已接收数据长度

};

4 主要函数

(1)void IsMainProcessGprsTask(void); //GPRS主循环处理。

(2)void IsTimerReportProcess(unsigned char *iSta);// 上报处理函数。

(3)void IsProcessCfCenter(unsigned char iTcp,unsigned char iParm);//登录心跳维护。

(4)void IsRecvFromCenterProcess(unsign ed char iParm);//数据接收循环处理。

(5)void IsHandleTemperature(void); //温度计算处理。

(6)float Test_ADC_Temperature(void);//ADC采样温度。

(7)void UpdateTemperature(void);// 刷新环境温度。

(8)void IsProcessExtDisTemp(void);//人体温度修正显示。

(9)void IsSciMainProcess(void);// 串口处理任务。

(10)void IsTimeProcess(void);//基本节拍任务。

5 结论

模块分类正确,软件编写规范,在温度数值计算与传输方面基本实现快速与正确。应用本软件系统形成的测温装置已经投入使用,得到用户肯定。

猜你喜欢
发送数据环境温度测温
Review of a new bone tumor therapy strategy based on bifunctional biomaterials
硬线测温探头在离心式压缩机组的应用
一种车载自组织网络的媒体接入控制协议
带标记方式的CRDSA++协议性能分析*
变压器光纤测温探头的安装固定
多优先级无时隙CSMA/ CA算法研究
测试软件简介
雷克萨斯CT200h车环境温度显示异常
基于DS18B20的单片机测温系统
环境温度对连续刚构桥模态频率的影响