项目面向汽车售后诊断及维修场景,解决诊断设备与车辆控制器之间的通信、车辆状态识别、故障读取和诊断任务管理问题。系统需要连接车辆 OBD 接口,接收前端诊断请求,调用底层诊断能力执行脚本,并将进度、结果和异常状态实时反馈给前端。项目重点关注实车环境中的连接波动、任务并发、设备断开及长时间运行稳定性。
点击空白处退出提示
项目面向汽车售后诊断及维修场景,解决诊断设备与车辆控制器之间的通信、车辆状态识别、故障读取和诊断任务管理问题。系统需要连接车辆 OBD 接口,接收前端诊断请求,调用底层诊断能力执行脚本,并将进度、结果和异常状态实时反馈给前端。项目重点关注实车环境中的连接波动、任务并发、设备断开及长时间运行稳定性。
系统包含 OBD 连接状态监控、车辆 VIN 读取、ECU 拓扑管理、故障码读取与清除、车辆信息读取、DID 数据流、诊断会话保持、任务取消和日志管理等模块。前端通过 WebSocket 发起诊断请求,后端统一解析请求并调用底层诊断组件执行 DDP/OTX 任务,再通过 RESPONSE 和 EVENT 返回任务受理、执行进度及最终结果。系统同时支持异常断连处理、任务超时保护和周期数据读取。
我主要负责诊断服务接口、WebSocket 消息处理、底层诊断组件适配、异步任务生命周期以及稳定性问题排查。项目采用 C++ 和 CMake 构建,通过适配层封装第三方诊断 SDK,并使用线程安全状态、回调管理、看门狗和事件总线处理异步任务。针对 OBD 状态上报早于业务订阅的问题,实现了最后状态快照机制;针对全局任务取消可能影响周期数据流的问题,实现了单轮中断后自动恢复,并补充单元测试验证。




评论