蓝牙OBDII / ELM提供重复数据作为响应

问题描述 投票:0回答:1

我把HC-05连接到Arduino的Serial 3.我也能够成功配对车内的OBD2-ELM适配器,

我的草图中有一个代码可以与OBD / ELM进行简单的通信

if (Serial3.available()) {
    Serial.write(Serial3.read());
}
if (Serial.available()) {
    Serial3.write(Serial.read());
}

挑战是这样的: 如果我输入ATZ,我会收到“ELM327 v2.1>” 我键入ATTP5,我得到“OK>” 输入ATRV,返回“12.6” 但如果我输入0105,我会得到不同的回答,例如: “LM327410v2 ELMv241 M2.11099”,或“OK> LM7v41A”或“OK> OK> 41055.1 327v”

其他时候我收到“4105 5A>”的正确回复

当我输入0100或任何其他PID代码时,我得到相同的结果。

请问是否有人知道可能导致此问题以及如何解决问题。

谢谢

bluetooth arduino obd-ii elm327
1个回答
0
投票

首先,请记住,默认情况下,ELM327适配器响应终止是\r>。直接在控制台上打印这将导致问题。尝试用\r替换\n然后你会看到更好的输出,例如:

>ATRV
11.9V

>0100
18 DA F1 10 06 41 00 B8 7B 30 10 00
18 DA F1 17 06 41 00 80 00 80 03 00

当然,实际输出会随着您发送PID(例如0100)还是内部ELM327命令(例如ATRV)而变化。

© www.soinside.com 2019 - 2024. All rights reserved.