【问题标题】:CAN diagnosticsCAN 诊断
【发布时间】:2023-03-19 02:45:02
【问题描述】:

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

【问题讨论】:

    标签: diagnostics can-bus obd-ii


    【解决方案1】:

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

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

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

    问候,

    德米特里

    【讨论】:

      【解决方案2】:

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

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

      从此以后,您可以根据需要处理手机中的数据。

      【讨论】:

        【解决方案3】:

        自 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 上有一个命令列表,您可以发送这些命令来检索实时数据。

        【讨论】:

          猜你喜欢
          • 2018-10-03
          • 1970-01-01
          • 1970-01-01
          • 2020-10-01
          • 2011-02-10
          • 2015-04-30
          • 1970-01-01
          • 2011-04-11
          • 2015-07-02
          相关资源
          最近更新 更多