M350b版本

This commit is contained in:
xin
2025-12-24 09:10:08 +08:00
parent 72b1b29c10
commit 257708ae42
83 changed files with 19895 additions and 4 deletions

View File

@ -0,0 +1,136 @@
# CO2传感器校准工具控制台版
基于Qt SerialPort的控制台程序用于CO2传感器的自动校准。
## 功能特性
- 串口通信:支持/dev/ttyWind波特率9600
- 自动校准流程:按照标准流程自动执行校准步骤
- 校准完成检测自动检测校准是否完成检查返回值的最后几个数字是否小于10
- 命令行参数支持:支持命令行参数配置
- 自动模式:连接后立即开始校准
## 校准流程
1. **初始化**:发送 `$01,TC0`
2. **设置模式**:发送 `$01,KY18`
3. **第一次校准**:发送 `$01,AC00240^**`(温度值根据实际环境温度设置)
4. **再次设置模式**:发送 `$01,KY18`
5. **第二次校准**:发送 `$01,AC00240^**`
- 检查返回值的最后几个数字是否都小于10
- 如果未完成重复步骤2-3
6. **恢复模式**
- 发送 `$01,KY18`
- 发送 `$01,TC00001^**`
## 编译要求
- Qt6 (Core, SerialPort)
- CMake 3.16或更高版本
- C++17编译器
## 编译步骤
```bash
mkdir build
cd build
cmake ..
make
```
或者使用构建脚本:
```bash
./build.sh
```
## 使用方法
### 自动模式(推荐)
连接串口后立即开始校准:
```bash
./build/CO2Correct -a -p /dev/ttyWind -b 9600 -t 24.0
```
参数说明:
- `-a, --auto`: 自动模式,连接后立即开始校准
- `-p, --port <port>`: 串口设备路径(默认:/dev/ttyWind
- `-b, --baud <baud>`: 波特率默认9600
- `-t, --temperature <temp>`: 校准温度单位℃默认24.0
### 交互模式
```bash
./build/CO2Correct -p /dev/ttyWind -b 9600
```
然后输入命令:
- `start [温度]` - 开始校准(例如:`start 24.0`
- `stop` - 停止校准
- `send <命令>` - 手动发送命令(例如:`send $01,TC0`
- `quit``exit` - 退出程序
### 查看帮助
```bash
./build/CO2Correct --help
```
## 使用示例
### 示例1自动校准温度24.0℃)
```bash
./build/CO2Correct -a -t 24.0
```
### 示例2指定串口和波特率
```bash
./build/CO2Correct -a -p /dev/ttyUSB0 -b 9600 -t 25.5
```
### 示例3在远程设备上运行
```bash
# SSH连接到远程设备
ssh root@172.16.0.102
# 运行校准程序
cd /path/to/CO2Correct
./build/CO2Correct -a -t 24.0
```
## 输出示例
```
[12:34:56.789] [信息] CO2传感器校准工具已启动
[12:34:56.790] [成功] 串口已连接: /dev/ttyWind, 波特率: 9600
[12:34:56.791] [信息] 开始校准流程,校准温度: 24.0℃ (编码: 00240)
[12:34:56.792] [信息] 发送: $01,TC0
[12:34:56.850] [信息] 接收: $WI,TC=0
[12:34:56.851] [成功] 步骤1完成: TC0设置成功
...
[12:35:10.123] [成功] 校准完成所有值均小于10
[12:35:10.125] [成功] 步骤7完成: 恢复模式TC设置成功校准流程全部完成
校准流程全部完成!
```
## 注意事项
- 确保传感器已正确连接并上电
- 校准温度值需要根据实际环境温度设置
- 如果校准未完成程序会自动重复步骤2-3直到所有值都小于10
- 校准完成后,传感器会自动恢复到正常模式
- 程序会自动检测校准是否完成,无需人工干预
## 远程设备信息
- 设备IP172.16.0.102
- 用户名root
- 密码fa
可通过SSH连接后执行程序