Files
JoyD/Windows/CS/Framework4.0/Toprie/Toprie/todolist.md
2025-10-30 16:21:26 +08:00

2.6 KiB
Raw Blame History

托普瑞热像仪应用开发任务列表

1. SDK集成准备

  • 1.1 复制托普瑞SDK文件到项目目录
  • 1.2 在Visual Studio项目中添加SDK引用
  • 1.3 阅读SDK文档了解API接口

2. 设备连接功能

  • 2.1 实现设备连接模块
  • 2.2 完善连接状态管理

3. 温度数据处理

3.1 设备连接建立与管理

  • 3.1.1 实现设备连接建立流程
    • 使用SDK的sdk_initialize()初始化套接字库
    • 利用sdk_search_device()搜索设备IP地址
    • 验证设备IP地址是否为默认地址(192.168.100.2)或自定义地址
    • 建立与热像仪的TCP连接使用8081端口获取原始温度数据
  • 3.1.2 连接状态维护机制
    • 利用现有的_heartbeatTimer实现SDK心跳检测(sdk_heartbeat)
    • 扩展UpdateConnectionStatus()方法,支持温度数据连接状态管理
    • 实现基于_connectionCheckTimer的定时连接状态检测
    • 利用现有的自动重连机制,当温度数据连接断开时自动重连
  • 3.1.3 连接条件判断
    • 调用IsNetworkAvailable()验证网络连接状态
    • 检查设备型号兼容性支持IRAY-A8系列设备
    • 验证设备版本信息确保SDK兼容性
    • 在获取温度数据前检查设备是否处于正常工作状态

3.2 原始温度数据获取

  • 3.2.1 温度数据获取方法实现
    • DeviceManager.cs中添加GetRawTemperatureData()方法
    • 创建TCP客户端连接到设备的8081端口
    • 实现数据接收线程,使用类似现有的_imageReceiveThread模式
    • 实现24字节头部结构体解析提取mark("+TEMP")、payload_length和timestamp
  • 3.2.2 温度数据解析与处理
    • 根据设备分辨率计算温度数据总长度(宽2字节)
    • 实现温度数据解码算法:摄氏温度 = (H*256 + L)/10其中L是低8位H是高8位
    • 调用sdk_get_comp_temp()获取设备温补值并进行叠加修正
    • 创建温度数据模型类,存储解析后的温度矩阵
  • 3.2.3 数据获取条件控制与异常处理
    • 添加连接状态验证,确保_connectionStatusConnected
    • 实现数据接收超时处理,基于_lastDataReceivedTimeDataReceivedTimeout
    • 添加数据校验机制,确保接收到的温度数据格式正确
    • 实现断线自动重连,利用现有的_reconnectTimer机制
    • 添加异常捕获和日志记录,使用现有的Log()方法
  • 3.2.4 温度数据接口设计
    • 添加温度数据接收事件TemperatureDataReceived
    • 实现线程安全的数据访问方法
    • 添加温度数据缓存机制,保留最近几帧数据
    • 提供获取特定区域温度数据的辅助方法