我正在开发这个应用程序,它需要我从 OBD II 适配器读取 VIN 并检查 OBD 是否连接到同一辆车。当我发送命令(09 02)以获取 VIN 时,我无法获得完整的 VIN。
每次我发送命令时,我都没有收到前 3 个字符。我唯一收到的是 VIN 的最后 7 个字符,有时我会收到前 7 个字符。
无法弄清楚什么是错的。
任何形式的帮助或支持将不胜感激。
是的,并非每个制造商都支持使用此命令 ($09 $02) 来读取 VIN。不同的制造商使用不同的命令。请提供更详细的信息,以便您得到一个好的答案:
我也无法获得 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 号码响应,如果您有解决方案,请回复我
这篇文章有点旧,但可能对其他人有帮助!
VIN 通常约为 20 个字符。在 CAN 协议中,由于每条消息的数据内容被限制为 8 个字节,因此它应该在多个消息中发送(取决于答案)。
首先你应该向控制器发送一条消息,然后控制器将响应第一帧(FF),然后你应该发送一个流控制消息(FC)告诉控制器发送其他数据。这是CAN协议中多帧消息的过程。这是我为 MCP2515 回答的帖子。其他设备的程序相同,因为它是 CAN 总线协议。
随意问任何问题!