首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OBD-Python无法获得VIN号

OBD-Python无法获得VIN号
EN

Stack Overflow用户
提问于 2018-07-09 19:38:55
回答 2查看 788关注 0票数 0

我使用的是OBD-Python库,当我试图从我的车辆中获得一个VIN号码时,甚至按照自定义命令文档,我收到了以下消息:

obd.obd‘b’0902: VIN NUMBER‘不支持日期: 2018-07-09 14:48:30.428588 - VIN编号: None.

代码语言:javascript
复制
def vin(messages):
""" decoder for RPM messages """
d = messages[0].data # only operate on a single message
d = d[2:] # chop off mode and PID bytes
v = bytes_to_int(d) / 4.0  # helper function for converting byte arrays to ints
return v * Unit.VIN # construct a Pint Quantity
c = OBDCommand("VIN",           # name
           "VIN NUMBER",    # description
           b"0902",         # command
           17,              # number of return bytes to expect
           vin,             # decoding function
           ECU.ENGINE,      # (optional) ECU filter
           True)            # (optional) allow a "01" to be added for speed
o = obd.OBD()
o.supported_commands.add(c)
o.query(c)
print('Data: ' + str(datetime.datetime.now()) + ' -- VIN NUMBER: '+str(connection.query(c)))

我做错什么了?

EN

回答 2

Stack Overflow用户

发布于 2018-09-02 19:00:13

你没做错什么。SAE J1979定义的几乎所有命令都是可选的,- vendors可以选择是否实现这些命令。在你的车辆的情况下,它看起来像供应商决定反对它。

票数 0
EN

Stack Overflow用户

发布于 2022-03-17 12:51:52

一些汽车制造商以字节表示所有的0xFF响应。他们这样做,也许是为了阻止第三方OBD2扫描工具供应商,他们只提供有限数量的车辆,可以使用该工具,并指出,要增加这一数量,需要购买更多的许可证。通过使用所有的0xFF填充VIN,意味着这个技巧不再有效。在这样做,他们的服务中心可以使用第三方OBD2扫描工具,而不必继续购买额外的VIN许可证,因为他们的车队,他们的服务增加。只是我的想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51252910

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档