-1

我必须开发一个与汽车诊断工具通信的智能手机应用程序。一般来说,诊断中使用的协议是KWP2000、UDS和OBD。我的问题是“如何与汽车通信?以及如何使用这些协议?

4

3 回答 3

2

也可以参考UDS: http://neweagle.net/support/wiki/index.php?title= Unified_Diagnostic_Services

如果您的汽车有 CAN 总线,那么您可能需要:

  1. 使用一个CAN设备连接到CAN总线(分别配置)
  2. 实现(从任何地方获取)TP CAN 消息支持
  3. 在 TP CAN 消息上使用 UDS 协议编写您的实现。

问候,

德米特里

于 2013-07-27T12:01:53.937 回答
0

大多数汽车都带有“车载诊断端口”。您可以使用此端口与汽车内部通信。汽车的引擎将在任何诊断协议(包括 KWP2000、ISO15765 等)中向此端口发送数据。

你应该设计一些可以从你的手机通信到这个端口的东西。它可以是支持蓝牙的设备,连接在此端口上,它将接收数据并通过蓝牙传输到您的手机。例如,这个

从那时起,您可以出于任何原因处理手机中的数据。

于 2013-03-21T12:36:58.710 回答
0

自 2001 年以来的汽车在欧洲拥有 OBD-II 端口。美国自 1996 年以来我认为。

周围有各种类型的 OBD-II 连接器。内部的 ELM327 芯片使与汽车的通信变得容易,因为该芯片为我们提供了基于 ASCII 的通信。您所要做的就是发送正确的命令,您将得到 ASCII 格式的响应。

如果应用程序应该在智能手机上运行,​​我有几个警告要给你。大多数连接器都实现了蓝牙,Android 将支持它,但 WP7、Win8RT 和 iPhone 不支持您必须设置的蓝牙串行端口通信。还有基于 wifi ad-hoc 的连接器,它们可能是可能的。

http://en.wikipedia.org/wiki/OBD-II_PIDs
在维基百科上有一个命令列表,您可以发送这些命令来检索实时数据。

于 2013-03-22T09:18:36.280 回答