我是Android的新手,我想开发一个蓝牙应用程序来从OBDII设备中检索参数。我已经下载了示例蓝牙聊天应用程序并对其进行了配置。问题是我需要发送到OBDII设备以便接收参数的消息的方式和内容是什么?以及如何在应用程序端处理它们?
谢谢。
答案 0 :(得分: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 Parameters