# combridge **Repository Path**: XiaoPb/combridge ## Basic Information - **Project Name**: combridge - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-30 - **Last Updated**: 2026-03-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 项目目录结构 ``` debug_tool/ ├── CMakeLists.txt # 主CMake配置 ├── README.md # 项目说明文档 ├── LICENSE # 许可证文件 ├── .gitignore # Git忽略文件配置 ├── .clang-format # 代码格式化配置 ├── .cmake-format.py # CMake格式化配置 │ ├── build/ # 编译输出目录(自动生成) │ ├── bin/ # 可执行文件 │ ├── lib/ # 静态/动态库 │ └── obj/ # 中间文件 │ ├── cmake/ # CMake模块 │ ├── FindNimBLE.cmake # NimBLE查找模块 │ ├── FindBoostBeast.cmake # Boost.Beast查找模块 │ └── Options.cmake # 编译选项配置 │ ├── config/ # 配置文件 │ ├── debug_tool.conf # 主配置文件 │ ├── logging.conf # 日志配置文件 │ └── devices.conf # 设备配置模板 │ ├── docs/ # 文档目录 │ ├── architecture.md # 架构设计文档 │ ├── api.md # API接口文档 │ ├── protocol.md # 协议说明文档 │ ├── build.md # 编译构建指南 │ └── images/ # 文档图片 │ ├── architecture.png │ └── sequence.png │ ├── scripts/ # 脚本工具 │ ├── setup_dev_env.sh # 开发环境配置脚本 │ ├── build.sh # 编译脚本 │ ├── run.sh # 运行脚本 │ ├── test.sh # 测试脚本 │ ├── package.sh # 打包脚本 │ └── install_deps.sh # 依赖安装脚本 │ ├── proto/ # Protocol Buffers定义 │ ├── message.proto # 数据消息定义 │ ├── command.proto # 命令消息定义(可选) │ └── CMakeLists.txt # Protobuf编译配置 │ ├── src/ # 源代码目录 │ ├── main.cpp # 程序入口 │ │ │ ├── core/ # 核心模块 │ │ ├── application.h # 应用主类 │ │ ├── application.cpp │ │ ├── websocket_server.h # WebSocket服务器(Boost.Beast) │ │ ├── websocket_server.cpp │ │ ├── command_router.h # 命令路由器 │ │ ├── command_router.cpp │ │ ├── data_dispatcher.h # 数据分发器 │ │ └── data_dispatcher.cpp │ │ │ ├── protocol/ # 协议层 │ │ ├── serial_manager.h # 串口管理器 │ │ ├── serial_manager.cpp │ │ ├── ble_manager.h # BLE管理器 │ │ ├── ble_manager.cpp │ │ ├── json_parser.h # JSON解析器 │ │ ├── json_parser.cpp │ │ ├── protobuf_parser.h # Protobuf解析器 │ │ └── protobuf_parser.cpp │ │ │ ├── service/ # 服务层 │ │ ├── log_system.h # 日志系统 │ │ ├── log_system.cpp │ │ ├── device_manager.h # 设备管理器 │ │ ├── device_manager.cpp │ │ ├── config_manager.h # 配置管理器 │ │ ├── config_manager.cpp │ │ ├── data_queue.h # 数据队列 │ │ └── data_queue.cpp │ │ │ ├── model/ # 数据模型 │ │ ├── device.h # 设备基类 │ │ ├── device.cpp │ │ ├── serial_device.h # 串口设备 │ │ ├── serial_device.cpp │ │ ├── ble_device.h # BLE设备 │ │ ├── ble_device.cpp │ │ ├── command.h # 命令模型 │ │ └── command.cpp │ │ │ ├── handler/ # 命令处理器 │ │ ├── command_handler.h # 命令处理器基类 │ │ ├── command_handler.cpp │ │ ├── serial_command_handler.h # 串口命令处理 │ │ ├── serial_command_handler.cpp │ │ ├── ble_command_handler.h # BLE命令处理 │ │ ├── ble_command_handler.cpp │ │ ├── system_command_handler.h # 系统命令处理 │ │ └── system_command_handler.cpp │ │ │ ├── utils/ # 工具类 │ │ ├── hex_utils.h # 十六进制转换 │ │ ├── hex_utils.cpp │ │ ├── time_utils.h # 时间工具 │ │ ├── time_utils.cpp │ │ ├── string_utils.h # 字符串工具 │ │ ├── string_utils.cpp │ │ ├── thread_pool.h # 线程池 │ │ └── thread_pool.cpp │ │ │ └── exception/ # 异常处理 │ ├── exceptions.h # 自定义异常 │ └── exceptions.cpp │ ├── include/ # 公共头文件 │ └── debug_tool/ │ ├── version.h # 版本定义 │ ├── macros.h # 通用宏定义 │ └── constants.h # 常量定义 │ ├── tests/ # 单元测试 │ ├── CMakeLists.txt # 测试CMake配置 │ ├── test_main.cpp # 测试主入口 │ ├── unit/ # 单元测试 │ │ ├── test_serial_manager.cpp # 串口管理器测试 │ │ ├── test_ble_manager.cpp # BLE管理器测试 │ │ ├── test_json_parser.cpp # JSON解析器测试 │ │ ├── test_log_system.cpp # 日志系统测试 │ │ └── test_data_queue.cpp # 数据队列测试 │ ├── integration/ # 集成测试 │ │ ├── test_websocket_server.cpp # WebSocket服务器测试 │ │ ├── test_command_router.cpp # 命令路由器测试 │ │ └── test_device_manager.cpp # 设备管理器测试 │ └── mock/ # Mock对象 │ ├── mock_serial_port.h │ └── mock_ble_device.h │ ├── examples/ # 示例代码 │ ├── simple_client/ # 简单客户端示例 │ │ ├── client.html │ │ └── client.js │ ├── python_client/ # Python客户端示例 │ │ ├── client.py │ │ └── requirements.txt │ └── custom_protocol/ # 自定义协议示例 │ └── custom_handler.cpp │ ├── tools/ # 辅助工具 │ ├── device_simulator/ # 设备模拟器 │ │ ├── serial_simulator.cpp │ │ └── ble_simulator.cpp │ ├── performance_test/ # 性能测试工具 │ │ └── stress_test.cpp │ └── log_analyzer/ # 日志分析工具 │ └── analyzer.py │ ├── web/ # 前端Web界面 │ ├── index.html # 主界面 │ ├── css/ # 样式文件 │ │ ├── main.css │ │ ├── dark_theme.css │ │ └── components.css │ ├── js/ # JavaScript文件 │ │ ├── main.js # 主入口 │ │ ├── websocket.js # WebSocket管理 │ │ ├── protobuf_handler.js # Protobuf处理 │ │ ├── serial_manager.js # 串口管理UI │ │ ├── ble_manager.js # BLE管理UI │ │ ├── log_viewer.js # 日志查看器 │ │ ├── data_viewer.js # 数据查看器 │ │ ├── command_builder.js # 命令构建器 │ │ └── utils.js # 工具函数 │ ├── lib/ # 前端库 │ │ ├── protobuf.min.js # Protobuf库 │ │ └── highlight.js # 语法高亮(可选) │ └── assets/ # 静态资源 │ ├── icons/ # 图标 │ ├── fonts/ # 字体 │ └── images/ # 图片 │ ├── logs/ # 日志目录(运行时生成) │ ├── debug_tool.log # 主日志文件 │ ├── debug_tool_20240325.log # 按日期滚动的日志 │ └── data/ # 数据记录目录 │ ├── data/ # 数据存储目录 │ ├── recordings/ # 录制的数据 │ └── captures/ # 抓包数据 │ ├── docker/ # Docker支持 │ ├── Dockerfile # Docker镜像定义 │ ├── docker-compose.yml # Docker Compose配置 │ └── entrypoint.sh # 容器入口脚本 │ └── packaging/ # 打包配置 ├── deb/ # Debian包 │ ├── control │ ├── postinst │ └── prerm ├── rpm/ # RPM包 │ └── spec └── windows/ # Windows安装包 └── installer.nsi ``` ## 关键文件说明 ### 核心模块职责 | 模块 | 文件 | 职责 | |------|------|------| | **核心** | `application.h/cpp` | 应用主控,初始化各模块 | | | `websocket_server.h/cpp` | WebSocket服务器(Boost.Beast) | | | `command_router.h/cpp` | 路由JSON命令到对应处理器 | | | `data_dispatcher.h/cpp` | 分发设备数据到前端 | | **协议** | `serial_manager.h/cpp` | 串口设备管理(Boost.Asio) | | | `ble_manager.h/cpp` | BLE设备管理(NimBLE) | | | `json_parser.h/cpp` | JSON命令解析 | | | `protobuf_parser.h/cpp` | Protobuf数据编解码 | | **服务** | `log_system.h/cpp` | 日志记录(Boost.Log) | | | `device_manager.h/cpp` | 设备生命周期管理 | | | `config_manager.h/cpp` | 配置加载保存 | | | `data_queue.h/cpp` | 线程安全数据队列 | | **处理器** | `serial_command_handler.h/cpp` | 串口相关命令处理 | | | `ble_command_handler.h/cpp` | BLE相关命令处理 | | | `system_command_handler.h/cpp` | 系统命令处理 | ### 文件命名规范 - **头文件**: 小写字母,下划线分隔,`.h` 后缀 - **源文件**: 小写字母,下划线分隔,`.cpp` 后缀 - **测试文件**: `test_` 前缀 + 模块名 - **示例文件**: 描述性名称 ### 编译输出 ``` build/ ├── bin/ │ └── debug_tool # 主可执行文件 ├── lib/ │ └── libdebug_tool.a # 静态库(如需要) └── obj/ # 中间目标文件 ```