【发布时间】:2023-03-19 02:45:02
【问题描述】:
我必须开发一个与汽车诊断工具通信的智能手机应用程序。 一般诊断中使用的协议有KWP2000、UDS和OBD。 我的问题是“如何与汽车通信?以及如何使用这些协议?
【问题讨论】:
标签: diagnostics can-bus obd-ii
我必须开发一个与汽车诊断工具通信的智能手机应用程序。 一般诊断中使用的协议有KWP2000、UDS和OBD。 我的问题是“如何与汽车通信?以及如何使用这些协议?
【问题讨论】:
标签: diagnostics can-bus obd-ii
也可以参考UDS:http://neweagle.net/support/wiki/index.php?title=Unified_Diagnostic_Services
如果您的汽车有 CAN 总线,那么您可能需要:
问候,
德米特里
【讨论】:
大多数汽车都带有“On Board Diagnostic Port”。您可以使用此端口与汽车内部通信。汽车的引擎将在任何诊断协议(包括 KWP2000、ISO15765 等)中向该端口发送数据。
您应该设计一些可以从您的手机与此端口通信的东西。它可以是启用蓝牙的设备,连接在此端口上,它将接收数据并通过蓝牙传输到您的手机。例如this
从此以后,您可以根据需要处理手机中的数据。
【讨论】:
自 2001 年以来的汽车在欧洲拥有 OBD-II 端口。我认为是 1996 年以来的美国。
周围有各种类型的 OBD-II 连接器。内部的 ELM327 芯片使与汽车的通信变得容易,因为该芯片为我们提供了基于 ASCII 的通信。您所要做的就是发送正确的命令,您将得到 ASCII 格式的响应。
如果应用程序应该在智能手机上运行,我有几个警告要给你。 大多数连接器都实现了蓝牙,Android 将支持它,但 WP7、Win8RT 和 iPhone 不支持您必须设置的蓝牙串行端口通信。也有基于 wifi ad-hoc 的连接器,它们可能是可能的。
http://en.wikipedia.org/wiki/OBD-II_PIDs
在 wikipedia 上有一个命令列表,您可以发送这些命令来检索实时数据。
【讨论】: