From 4ab2ddf1f32a38b0b4a91acf6869d379923fd3f1 Mon Sep 17 00:00:00 2001 From: zqm Date: Thu, 30 Oct 2025 16:21:26 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CS/Framework4.0/Toprie/Toprie/todolist.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Windows/CS/Framework4.0/Toprie/Toprie/todolist.md diff --git a/Windows/CS/Framework4.0/Toprie/Toprie/todolist.md b/Windows/CS/Framework4.0/Toprie/Toprie/todolist.md new file mode 100644 index 0000000..fef0a0e --- /dev/null +++ b/Windows/CS/Framework4.0/Toprie/Toprie/todolist.md @@ -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` + - 实现线程安全的数据访问方法 + - 添加温度数据缓存机制,保留最近几帧数据 + - 提供获取特定区域温度数据的辅助方法 \ No newline at end of file