Ada*_*ela 5 bluetooth can-bus obd-ii
我正在尝试使用蓝牙ELM327无线OBD-II接收器从车辆OBD-II端口获取数据.我不是要收集有关发动机的信息,而是收集车辆中的一些电子设备.我已经获得了访问设备的某些命令,并且已成功使用除ELM327之外的其他设备和软件.
我一般没有太多处理CAN总线和数据传输的经验; 如果我遗漏这个过程的关键部分,请原谅我.但是,我确实理解CAN基础知识,例如消息头和数据字节.
到目前为止,我一直在使用福特DET工具从设备中收集数据.我能够发送一个8字节的CAN消息并接收数据.我有许多命令需要从它们产生的输出中解析适当的数据.例如,如果我要发送命令
0x727 03 19 02 8F
Run Code Online (Sandbox Code Playgroud)
我的日志文件显示:
00184.3548 (Rx) 0x72F 10 0F 59 02 CA E1 00 00
00024.8556 (Rx) 0x72F 10 0F 59 02 CA E1 00 00 --- Request DTC Info: Report DTCs By Status Mask (StatusMask: 8F)
00189.4469 (Tx) 0x727 03 19 02 8F 00 00 00 00 --- Request DTC Info: Report DTCs By Status Mask (StatusMask: 8F)
00189.4549 (Rx) 0x72F 10 0F 59 02 CA E1 00 00
00189.4572 (Tx) 0x727 30 00 00 00 00 00 00 00
00189.4591 (Rx) 0x72F 21 0A E1 01 00 0A 9A 89
00189.4612 (Rx) 0x72F 22 13 0A 00 00 00 00 00 --- Pos Resp to Read DTCs By Status Mask (3 DTCs)
Run Code Online (Sandbox Code Playgroud)
以下是使用goSerial与ELM327 通信时发生的情况.我已经包含了所有命令来说明我如何使用ELM327设备.
>ath1
OK
>ats1
OK
>atal
OK
>at sh 727 <-- set the message header to 0x727
OK
>03 19 02 8f
72F 03 7F 03 11
>
Run Code Online (Sandbox Code Playgroud)
如您所见,最后一行的结果输出比Diagnostic Engineering工具给我的要短得多.我没有正确配置设备吗?
基本上我试图让ELM327输出与福特DET工具的输出相匹配.我知道这是一个非常模糊的问题.
以下是有关我的配置的其他一些信息:
我的所有命令都以0x727开头.流控制与0x727和0x7A7一起传输.
另外,我已经阅读了大部分ELM327文档,因此请不要将其作为解决方案.
小智 3
是什么让您认为“最后一行的结果输出比诊断工程工具给我的结果短得多”?
实际上,ECU的响应是完全有效的:72F 03 7F 03 11
72F - ID of the CAN message
03 - Length of data bytes
7F - Negative response
03 - The negative response is for command 03
11 - Not supported
Run Code Online (Sandbox Code Playgroud)
发送 CAN 消息“03 19 02 8f”的行有错误。您应该发送如下消息:“19 02 8f”。
| 归档时间: |
|
| 查看次数: |
3109 次 |
| 最近记录: |