2.6 KiB
2.6 KiB
托普瑞热像仪应用开发任务列表
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端口获取原始温度数据
- 使用SDK的
- 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 - 实现线程安全的数据访问方法
- 添加温度数据缓存机制,保留最近几帧数据
- 提供获取特定区域温度数据的辅助方法
- 添加温度数据接收事件