VSPS_SOVD_DEMO 的示例项目

发布时间:2026/7/1 17:12:49
VSPS_SOVD_DEMO 的示例项目 VSPS_SOVD_DEMO 的示例项目该项目演示了如何使用SOVDService-Oriented Vehicle Diagnostics面向服务的车辆诊断来访问诊断服务。这部分首先概述了该示例应用的功能旨在展示如何配置一个只读的DID数据标识符。如何配置一个可读/写的DID。如何配置一个DTC诊断故障码并设置其状态。如何配置SOVD服务器。如何通过SOVD发现组件和子组件。如何通过SOVD处理数据和故障。接着介绍了该自适应应用Adaptive Application的具体工作逻辑DID 0xEE48这是一个只读的数据它会读取一个8位计数器的值该计数器每次被读取时都会自增。DID 0xEE49这是一个可读/写的数据用于读取和写入一个8位的值。DTC 0x4D2定义了一个ID为 0x4D2 的诊断故障码。诊断监视器有一个诊断监视器会每2秒钟检查一次DID 0xEE49 的值。如果该值小于或等于2DTC 0x4D2 的测试将报告通过 (pass)。如果该值大于2DTC 0x4D2 的测试将报告失败 (fail)。DTC的状态字节会相应更新并可由应用程序读取。4.2.2 在目标ECU上构建和部署 (Building and deploying on a Target ECU)这部分给出了构建和部署该示例应用的具体指令。用户需要打开一个命令终端并执行以下命令rvbuild -d VSPS_SOVD_DEMO 20这个命令会自动完成以下工作生成配置文件和源代码。构建应用程序项目。将其部署到ID为20的机器上一个Linux x86目标环境。4.2.3 与SOVD服务器交互 (Interaction with the SOVD server)为了与SOVD服务器进行交互入门套件Starter Kit提供了一个名为 Bruno 的开源工具它可以通过调用REST API与服务器通信。加载Bruno配置VSPS_SOVD_DEMO 项目中已包含一个名为 bruno_sovd_config 的文件夹里面有预设好的Bruno配置。用户只需在Bruno工具中打开这个配置文件夹即可加载一个名为 sovd_test 的API集合。预配置的SOVD API加载配置后用户可以看到一系列预设好的API请求这些请求被组织在不同的文件夹中如Misc, Components, Data, Faults, Operations。这些API涵盖了版本信息获取、组件发现、数据读写、故障处理和操作执行等多种功能。数据和故障处理流程文档详细演示了一个测试数据和故障处理的步骤读取只读数据DID 0xEE48其值为QEMU机器的CPU负载。读取故障列表初始为空。读取读/写数据DID 0xEE49初始值为0。向DID 0xEE49 写入值5。再次读取DID 0xEE49确认其值已变为5。再次读取故障列表此时因为值大于2DTC 0x4D2 测试失败列表中会出现一个活动 (active) 的故障。向DID 0xEE49 写回值0。再次读取故障列表此时因为值小于2DTC测试通过故障变为非活动 (passive)。删除所有故障再次读取故障列表变为空。操作 (Operations) 测试演示了如何调用一个测试操作Routine包括获取操作详情、启动执行、查询执行状态、终止执行等一系列流程。请求返回错误演示了两种会触发错误的请求尝试写入一个只读数据会返回404 Not Found错误。尝试向一个8位的数据写入超出范围的值如256会返回400 Bad Request错误。4.2.4 支持的目标ECU (Supported Target ECUs)这部分说明 VSPS_SOVD_DEMO 示例应用支持在QNX和Linux目标ECU上运行。同时提醒预设的Bruno配置仅适用于ID为20的Linux机器如果要在其他机器上测试需要相应地修改API请求中的IP地址。总而言之第4.2章通过一个具体的动手示例全面地指导了用户如何构建、部署一个基于SOVD的诊断应用并如何使用API工具与其进行交互以理解和测试SOVD的核心功能。