This commit is contained in:
zqm
2025-10-30 16:21:26 +08:00
parent a91b271385
commit 4ab2ddf1f3

View File

@@ -0,0 +1,54 @@
# 托普瑞热像仪应用开发任务列表
## 1. SDK集成准备
- [x] 1.1 复制托普瑞SDK文件到项目目录
- [x] 1.2 在Visual Studio项目中添加SDK引用
- [x] 1.3 阅读SDK文档了解API接口
## 2. 设备连接功能
- [x] 2.1 实现设备连接模块
- [x] 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 数据获取条件控制与异常处理
- 添加连接状态验证,确保`_connectionStatus``Connected`
- 实现数据接收超时处理,基于`_lastDataReceivedTime``DataReceivedTimeout`
- 添加数据校验机制,确保接收到的温度数据格式正确
- 实现断线自动重连,利用现有的`_reconnectTimer`机制
- 添加异常捕获和日志记录,使用现有的`Log()`方法
- [ ] 3.2.4 温度数据接口设计
- 添加温度数据接收事件`TemperatureDataReceived`
- 实现线程安全的数据访问方法
- 添加温度数据缓存机制,保留最近几帧数据
- 提供获取特定区域温度数据的辅助方法