8

我正在开发这个应用程序,它需要我从 OBD II 适配器读取 VIN 并检查 OBD 是否连接到同一辆车。当我发送命令(09 02)以获取 VIN 时,我无法获得完整的 VIN。

每次我发送命令时,我都没有收到前 3 个字符。我唯一收到的是 VIN 的最后 7 个字符,有时我会收到前 7 个字符。

无法弄清楚什么是错的。

任何形式的帮助或支持将不胜感激。

4

3 回答 3

3

是的,并非每个制造商都支持使用此命令 ($09 $02) 来读取 VIN。不同的制造商使用不同的命令。请提供更详细的信息,以便您得到一个好的答案:

  1. 您要连接的车辆是什么?
  2. 什么是通信协议(KWP 2000、UDS、CAN、K-Line、J1850...)?
  3. 您使用什么设备与车辆通信?
  4. 您究竟想与哪个控制单元通信?
于 2014-11-05T07:46:43.517 回答
1

我也无法获得 VIN 号码响应。我们从一些汽车上得到了 VIN 号码,但不是从所有汽车上得到的。后来我们才知道并不是每个汽车制造商都提供对 VIN 号的支持。我们还通过发送命令“0902\r”实现了 VIN 号解码,无论我们得到什么响应,都会按照下面提到的 url 中的说明进行解析。我还通过发送 0100 命令检查了模式 9 支持的 PID

http://elmelectronics.com/DSheets/ELM327DS.pdf

你能告诉我你是如何使用蓝牙 obd2 设备得到 VIN 号码的响应的吗?我正在使用 obd2 plx kiwi2wifi 设备。

因此,我认为您不会从所有汽车中获得 VIN 号码响应。

看我的问题

无法从 OBD-2 设备获取 VIN 号码响应,如果您有解决方案,请回复我

于 2013-11-07T13:10:27.597 回答
1

这篇文章有点旧,但可能对其他人有帮助!

VIN 通常约为 20 个字符。在 CAN 协议中,由于每条消息的数据内容被限制为 8 个字节,因此它应该在多个消息中发送(取决于答案)。

首先你应该向控制器发送一条消息,然后控制器将响应第一帧(FF),然后你应该发送一个流控制消息(FC)告诉控制器发送其他数据。这是CAN协议中多帧消息的过程。这是我为 MCP2515 回答的帖子。其他设备的程序相同,因为它是 CAN 总线协议。

随意问任何问题!

于 2016-10-11T14:12:09.253 回答