2026-04-17 09:17:56 +00:00
|
|
|
# 高度测量系统 (Height Measurement System)
|
2026-04-17 08:35:55 +00:00
|
|
|
|
2026-04-17 09:17:56 +00:00
|
|
|
## 项目简介
|
|
|
|
|
|
|
|
|
|
这是一个模拟军用级户外高度测量系统的C++17 CMake工程。系统实现实时海拔高度测量、相对高度计算、预警管理和数据记录等功能。
|
|
|
|
|
|
|
|
|
|
## 功能特性
|
|
|
|
|
|
|
|
|
|
- **实时高度采集**: 模拟气压传感器数据采集
|
|
|
|
|
- **自动零点归位**: 系统启动时自动设置相对零点
|
|
|
|
|
- **相对高度计算**: 基于初始位置计算高度变化
|
|
|
|
|
- **预警管理**: 可设置高度阈值,越限时触发预警
|
|
|
|
|
- **数据记录**: 模拟历史数据存储和回放
|
|
|
|
|
- **数据导出**: 支持模拟CSV格式数据导出
|
|
|
|
|
|
|
|
|
|
## 编译说明
|
|
|
|
|
|
|
|
|
|
### 依赖项
|
|
|
|
|
- CMake 3.10 或更高版本
|
|
|
|
|
- C++17 兼容的编译器
|
|
|
|
|
|
|
|
|
|
### 编译步骤
|
|
|
|
|
```bash
|
|
|
|
|
# 创建构建目录
|
|
|
|
|
mkdir build
|
|
|
|
|
cd build
|
|
|
|
|
|
|
|
|
|
# 配置项目
|
|
|
|
|
cmake ..
|
|
|
|
|
|
|
|
|
|
# 编译项目
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
|
|
|
|
# 或者使用以下命令
|
|
|
|
|
make
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 运行说明
|
|
|
|
|
|
|
|
|
|
### 主程序
|
|
|
|
|
```bash
|
|
|
|
|
# 运行主程序
|
|
|
|
|
./bin/hsm_main
|
|
|
|
|
|
|
|
|
|
# 查看帮助
|
|
|
|
|
./bin/hsm_main --help
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 测试程序
|
|
|
|
|
```bash
|
|
|
|
|
# 运行测试
|
|
|
|
|
./bin/hsm_test
|
|
|
|
|
|
|
|
|
|
# 或者使用ctest
|
|
|
|
|
ctest
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 程序参数
|
|
|
|
|
|
|
|
|
|
- `--help`: 显示帮助信息
|
|
|
|
|
- `--simulate`: 运行模拟模式
|
|
|
|
|
- `--threshold <value>`: 设置预警阈值(单位:米)
|
|
|
|
|
- `--export <filename>`: 导出模拟数据到指定文件
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
include/
|
|
|
|
|
├── app.hpp # 应用主接口
|
|
|
|
|
├── altitude_calculator.hpp # 高度计算器
|
|
|
|
|
├── data_logger.hpp # 数据记录器
|
|
|
|
|
├── sensor_simulator.hpp # 传感器模拟器
|
|
|
|
|
└── alert_manager.hpp # 预警管理器
|
|
|
|
|
|
|
|
|
|
src/
|
|
|
|
|
├── main.cpp # 程序入口
|
|
|
|
|
├── app.cpp # 应用主逻辑
|
|
|
|
|
├── altitude_calculator.cpp
|
|
|
|
|
├── data_logger.cpp
|
|
|
|
|
├── sensor_simulator.cpp
|
|
|
|
|
└── alert_manager.cpp
|
|
|
|
|
|
|
|
|
|
tests/
|
|
|
|
|
└── basic_test.cpp # 基本功能测试
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 设计说明
|
|
|
|
|
|
|
|
|
|
本项目采用模块化设计,主要包含以下组件:
|
|
|
|
|
|
|
|
|
|
1. **AltitudeCalculator**: 负责高度计算和校准
|
|
|
|
|
2. **DataLogger**: 负责数据记录和导出
|
|
|
|
|
3. **SensorSimulator**: 模拟传感器数据采集
|
|
|
|
|
4. **AlertManager**: 管理预警阈值和状态
|
|
|
|
|
|
|
|
|
|
## 注意事项
|
|
|
|
|
|
|
|
|
|
1. 这是一个模拟系统,实际传感器数据通过随机生成器模拟
|
|
|
|
|
2. 数据存储使用内存缓冲区,重启后数据会丢失
|
|
|
|
|
3. 预警系统提供基本的阈值检查功能
|
|
|
|
|
|
|
|
|
|
## 许可
|
|
|
|
|
|
|
|
|
|
本项目仅供演示使用。
|