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

时间:2018-07-18 12:15:55

标签: bluetooth arduino obd-ii elm327

我将HC-05连接到Arduino的Serial3。我还能够成功与汽车中的OBD2-ELM适配器配对,

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

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

挑战在于:
如果键入ATZ,则会得到“ ELM327 v2.1>”
输入ATTP5,我得到“确定>”
键入ATRV,返回“ 12.6”
但是如果输入0105,则会得到不同的响应,例如:
“ LM327410v2 ELMv241 M2.11099” ,或“确定> LM7v41A” “确定> OK> 41055.1 327v”

其他时候我得到正确的“ 4105 5A>”

响应

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

请问有人对造成这种情况的原因以及如何 修复它。

谢谢

1 个答案:

答案 0 :(得分:0)

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

\r

当然,实际输出随发送PID(例如\n)还是内部ELM327命令(例如>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 )而变化。