3

我是 android 新手,我想开发一个蓝牙应用程序来从 OBDII 设备中检索参数。我已经下载了示例蓝牙聊天应用程序并对其进行了配置。问题是我需要发送到 OBDII 设备以接收参数的方式和信息是什么?我应该如何在应用程序端处理它们?

谢谢你。

4

1 回答 1

7

你的问题不是很具体,但我会给你一些指导。

首先,使用现有的 OBD-II 阅读器应用程序测试您的汽车是否真的可以工作。

您拥有的 ELM327 蓝牙连接器(我假设它是 ELM327)将 ASCII 命令转换为电压。所以你所要做的就是发送一些 ASCII 命令,然后你会得到 ASCII 值。

OBD 协议知道几种模式和参数,但我将解释获取实时数据。那是模式1。

模式 1 发送
这有点简单。模式 1 是“01”。在该部分之后,您必须发送一个参数 ID。0C 代表 RPM,0D 代表速度。(查看下面的链接)。在每个命令之后,您必须发送回车。(CR = '\r')

所以基本上,为了速度,你必须发送:

'010D\r'

接收模式 1
您将从模式 1 查询中得到的答案以“41”开头。之后返回参数 ID,然后返回值。该值大部分时间为十六进制。您必须进行一些转换才能读取人类可读的值。有关更多信息,请参阅链接,因为还提供了要转换的公式。

例子:

'410D17'

所以 17 是您当前速度的十六进制值。十进制的 17 是 23,因此您以 23 公里/小时的速度行驶。

这个维基百科页面有一些很好的信息:
OBD-II 参数

于 2013-05-27T06:54:25.830 回答