蓝牙数据接收与分析系统产品系统

我要开发同款
proginn2007202026年10月27日
5阅读

技术信息

语言技术
C++
系统类型
车载应用
行业分类
物联网

作品详情

行业场景

动车组运行状态数据采集场景。温压一体传感器安装在车厢底部的气缸管路上,随列车长期在线采集压力与温度;因传感器装在车底,人工钻车底拆机抄数既费时又有安全风险,检修窗口也很短。为此在传感器上集成低功耗蓝牙模块,检修人员在车厢内用笔记本或手持终端通过蓝牙搜索、连接车底传感器,把设备Flash中缓存的压力、温度、电池电压数据批量回传并导出为CSV,用于制动/气缸系统状态评估、故障追溯和检修决策,替代原来的拆机抄表方式。

功能介绍

本项目是一套面向车底传感器的Windows上位机采集软件,由六个模块组成:
1、蓝牙连接模块:串口扫描与连接BLE主从模块,用AT指令把模块配置为主机,搜索周围传感器并把名称/MAC列出,选中后连接并进入透传模式,断开/重扫前自动清理旧连接与设备缓存。
2、状态监测模块:一键读取设备状态,展示压力、温度、传感器内部温度、电池电压、车辆编号、历史数据总页数,并按本地时钟每秒递增刷新设备时间。
3、时间同步模块:读取设备校时标志,用BCD码写入年月日时分秒完成校时,也可取消同步。
4、历史数据模块:按页读取设备Flash中的历史记录,带进度条与页码状态自动续读全部页面,边读边追加写入CSV(含表头、UTF-8),文件名自动带上时间戳、车号、车厢号、安装位置;同时支持按时间区间查询定位起始页。
5、设备维护模块:清空Flash(约3分钟,带二次确认和完成提示)、进入测试模式。
6、配置与日志模块:按MAC保存每台传感器的列车号/车厢号/安装位置,界面实时输出带时间戳的收发日志。

项目实现

我负责该项目的全部开发工作:
1、需求与协议梳理:依据传感器指令文档逐条实现并验证读取状态、校时/取消校时、按页读历史、按时间区间查询、清空Flash、进入测试模式等指令。
2、架构与编码:按协议层、通信层、解析层、业务层、界面层分层设计,实现Modbus命令构建与CRC16查表校验、BCD编解码、设备状态与历史记录解析、CSV导出、Qt界面与信号槽。
3、联调测试:现场排查蓝牙搜索不到设备、数据接收不全、分包粘包等问题,编写诊断说明并推动模块参数与超时策略调整;用windeployqt打包发布。
技术栈:C++17、Qt 6.5.3(Core/Widgets/SerialPort,CMake与qmake双构建、Qt Designer .ui)、Modbus RTU应用层协议、低功耗蓝牙模块AT指令+透传、QSettings/INI配置与CSV存储。
亮点与难点:一是AT应答与透传业务数据混在同一串口流,用指令状态机+应答缓冲区分流,避免误判;二是采用期望字节数+超时的异步收包机制,收满或超时都回调,界面不阻塞;三是历史数据按页串行读取并实时落盘,单页异常不影响已采集数据;四是时间全为BCD码、温度有符号、状态与历史记录单位不一致,统一换算并做CRC与边界校验;五是Flash擦除耗时约3分钟,用长超时加监听设备回传完成字符串双保险。

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论

proginn2007202026-10-27 22:13:33
1