红外测温概要设计

远程红外测温检测仪概要设计

  • 1. 需求规定
    • 1.2 运行环境
    • 1.3 基本设计
      • 1.3.1 设计框架图
      • 1.3.2 设备管理与数据处理
      • 1.3.3 文件记录
      • 1.3.4 数据库
      • 1.3.5 交互界面(HMI)
  • 2、接口设计
    • 2.1 对外接口设计
    • 2.2 内部接口设计
  • 3、出错处理设计

1. 需求规定

  1. 支持红外和可见光视频显示,且具备多路视频设备的扩展性
  2. 具备报警功能。对发热旅客、携带高温物体、未带口罩或人群过度密集等进行自动报警功能
  3. 具备鼠标移动测温功能。
  4. 具备一定的存储能力和数据同步。需要记录历史数据,并提供历史查询分析功能,能够同步本地和服务器历史数据。
  5. 具备设备管理功能。可添加、修改和删除视频设备。
  6. 具备系统设置和图像调试功能。主要可以对报警参数、屏蔽区域、黑体区域、图像配置、测温参数、存储位置和存储空间等进行设置。
  7. 红外设备相关代码作为sdk输出,并提供demo和说明文档。

1.2 运行环境

支持Windows 7以上

1.3 基本设计

1.3.1 设计框架图

红外测温概要设计_第1张图片

1.3.2 设备管理与数据处理

该模块负责管理外围红外摄像设备,设备连接断开、设备添加删除、设备保存查询、数据传输、数据同步、数据转换、数据存储等。

设备连接后处理流程:

HMI 设备管理 红外设备 数据处理 历史记录 打开视频 连接设备准备接收UDP数据 ok ok UDP 传输视频数据 按帧接收数据并解析 一帧数据 存储视频 ok 显示画面 HMI 设备管理 红外设备 数据处理 历史记录

如果服务器要求数据同步,还需要将每帧数据上传到服务端。
关闭视频流程:

HMI 设备管理 红外设备 关闭设备连接 断开连接 连接断开 处理剩余数据 ok HMI 设备管理 红外设备

1.3.3 文件记录

负责历史记录文件的存储和搜索,确保数据正确完整。保存历史视频、历史报警、手动存储的画面等。

1.3.4 数据库

负责各种配置参数、设备信息的存取。

1.3.5 交互界面(HMI)

  • 界面设计
    界面示意图:
    红外测温概要设计_第2张图片
  • 功能说明
    • 打开/关闭视频
      打开视频开始接收红外摄像设备数据,并实时显示视频。关闭视频停止数据接收。
    • 拍照
      截取当前画面并展示在报警列表当中。
    • 语音播报
      用语音播报的方式自动提醒,或手动提醒
    • 设备管理
      设备管理页面会显示数据库中之前已经连过的设备列表。用户可对列表中设备进行删除或修改通信参数等操作。
      用户还可以进行搜索设备,对搜索到的新设备可以添加进来。
    • 系统设置
      系统设置包括报警参数、屏蔽区域、图像校准、测温参数、历史记录等几个方面。
      设置内容 相关参数 描述
      报警设置 是否允许报警、报警温度范围、报警灵敏度 只有不在温度范围内的才报警
      屏蔽区域 用户在场景中选择区域,保存后该区域不报警
      图形校准 选择可见光和红外光三对配准点进行校准
      红外设置 色带选择、调焦、快门补偿 红外光图像设置
      可见光设置 焦距、变倍 可见光图像设置
      历史记录 报警图片存储路径、视频存储路径、本地存储最大天数 设置历史记录存储路径等,当超过本地存储最大天数将优先上传到服务器,然后删除过期记录
      数据库设置 备份、恢复 可对数据库进行备份,如果损害可从备份数据库恢复
    • 历史记录
      记录视频和报警图片,提供搜索和简单介绍,方便用户分析。
    • 鼠标跟踪测温
      当鼠标在可见光或红外光画面上移动时实时测量体温。

2、接口设计

2.1 对外接口设计

本项目将设备管理和数据处理部分向外提供接口。
参照下方接口

//初始化红外设备
extern "C" ZJTYTech_API int __stdcall ZJTYTech_Init();

//打开红外设备
extern "C" ZJTYTech_API int __stdcall ZJTYTech_Open(int userId, LPDEVICE_INFO pDeviceInfo,PDEVICE_RECEIVEDATA_CALLBACK pReceiveDataCallBack, void *pUserData);

//重连红外设备
extern "C" ZJTYTech_API int __stdcall ZJTYTech_Reconnect(int userId, LPDEVICE_INFO pDeviceInfo);
// 关闭设备
extern "C" ZJTYTech_API void __stdcall ZJTYTech_Close(int userId);

//串口通信
extern "C" ZJTYTech_API void  __stdcall ZJTYTech_SerialSend(int userId,DWORD dwCommand, char *lpInBuffer,DWORD dwInBufferSize);

//获取专家菜单
extern "C" ZJTYTech_API void  __stdcall  ZJTYTech_GetExpertMenu(int userId,LPEXPERTMENU pExpertMenu);

//获取测温参数
extern "C" ZJTYTech_API void  __stdcall  ZJTYTech_GetMeasureTemptrParam(int userId,LPMEASURETEMPTR pMeasureTemptr,int pageIndex);

// 搜索设备IP地址
extern "C" ZJTYTech_API int __stdcall ZJTYTech_SearchDevice(PDEVICE_SEARCH_CALLBACK pDeviceFindNotify, void *pUserData);

// 停止设备搜索
extern "C" ZJTYTech_API void __stdcall ZJTYTech_StopSearch();

// 修改网络参数
extern "C" ZJTYTech_API int __stdcall ZJTYTech_ModifyNetwork(LPDEVICE_INFO pOldDeviceInfo,LPDEVICE_INFO pNewDeviceInfo, void *pUserData);

// 保存已修改网络参数
extern "C" ZJTYTech_API int __stdcall ZJTYTech_SaveNetwork(LPDEVICE_INFO pNewDeviceInfo , void *pUserData );

// 设置测温参数
extern "C" ZJTYTech_API void __stdcall ZJTYTech_SetMeasureParameter(int iUserId, double dA, double dB, double dC, double dD,int pageIndex);

2.2 内部接口设计

内部模块之间使用。(略)

3、出错处理设计

主要包括两个方面,一是log文件,二是错误提示,即弹出对话框。
流程如下:

用户 HMI 其它模块 操作 调用接口 有提示,写入log文件 返回false 和 提示信息 提示框显示错误内容 用户 HMI 其它模块

提示框分为四个级别:error、warning、info、debug.
info、和debug仅用于调试模式,正式发布时取消。

你可能感兴趣的:(红外测温概要设计)