Android obd适配器的初始化

Android obd适配器的初始化,android,torque,obd-ii,Android,Torque,Obd Ii,我正在开发一个android应用程序,通过蓝牙从车辆的车载诊断适配器读取车载诊断数据。。。初始化适配器时遇到问题。我已按顺序发送以下Obd命令以初始化Obd: atz(接收正常) atsp0(接收正常) ate0(接收正常) 0100(这是发生问题的部分) 对于此命令,有时我会收到BUSINIT:ERROR。。之后,对于每个车辆指令(AT指令除外),重复相同的错误 我想知道确切的初始化顺序?如果硬件与OBD-II完全兼容,并且汽车与OBD-II兼容,那么初始化顺序应该可以工作。如果0100命令仍

我正在开发一个android应用程序,通过蓝牙从车辆的车载诊断适配器读取车载诊断数据。。。初始化适配器时遇到问题。我已按顺序发送以下Obd命令以初始化Obd:

  • atz(接收正常)
  • atsp0(接收正常)
  • ate0(接收正常)
  • 0100(这是发生问题的部分)
  • 对于此命令,有时我会收到BUSINIT:ERROR。。之后,对于每个车辆指令(AT指令除外),重复相同的错误


    我想知道确切的初始化顺序?

    如果硬件与OBD-II完全兼容,并且汽车与OBD-II兼容,那么初始化顺序应该可以工作。如果0100命令仍有错误,请检查点火开关是否打开,硬件是否完全工作。

    0100是到达实际车辆的第一个命令。 AT命令用于(ELM327)-芯片。所以OBD连接器和汽车之间的通信有问题。应用程序与连接器之间的连接正常

    关于OBD-II兼容性,Obdkey很可能是正确的。请尝试使用现有的应用程序来证明,如果它不起作用,说明您的汽车或连接器有问题


    顺便说一句:说明你有哪个obd II适配器很有帮助,也许还有你的车。

    只是想把我的两分钱放进去。我最近在C++和LabVIEW中开发了一个应用程序,用于与基于ELS-327的蓝牙模块通信,以从我汽车的ECU中检索信息。有时初始化序列失败,有时工作正常。我发现ECU协议初始化的“关键字”字节有时没有被正确检测到。我认为我的蓝牙模块是个问题,因为它是合法ELM-327的中国克隆。我怎么知道?如果您发出命令ATI,它将回复“ELM-327 1.5版”,根据制造商的说法,他们从未发布过1.5版=D

    对我起作用的是:

  • 打开通讯,发送ATZ
  • ATSP0
  • ATSS(这将启用建议的协议搜索顺序)
  • 010D
  • 如果4。失败,然后关闭通信,等待3秒或更长时间,然后转到1
  • 更多OBD-II或AT命令
  • BUSINIT:…错误响应意味着ELM-327无法找到ECU协议的启动顺序。此外,在发送OBD-II命令(如010C)之前,如果您碰巧使用ISO-9141-2或ISO-14230-4 KWP协议,则可以使用ATSI命令初始化通信

    如果您在成功自动检测后向ELM-327发送ATDP命令,您可以了解您的汽车使用的协议

    希望这有帮助。

    “在E0”

    “在L0”

    “在ST 00”

    “在SP 00时”

    对我有用。
    还有一件事。。。我以500毫秒的延迟一个接一个地发送所有这些命令!几乎每次初始化都会毫无延迟地失败,别忘了,这是蓝牙,发送和接收响应需要更多的时间…

    您的车载诊断初始化和车载诊断协议选择似乎都失败了。您应该遵循以下步骤:

    AT D
    AT Z
    AT E0
    AT L0
    AT S0
    AT H0
    AT SP 0
    
    当协议选择命令响应时,没有如下所列的任何错误,您的连接正常,您可以请求新命令,如“0100”命令


    错误:

    • 无法连接
    • 总线初始化。。。错误
    • ?
    • 没有数据
    • 停止
    • 错误

    命令说明:

    在D处->将所有设置为默认值

    在Z轴->重置Obd

    在E0->回声关闭

    在L0->线路馈出

    在S0处->空格关闭

    在H0->标题关闭

    在SP 0->将协议设置为0“自动”时,搜索所有协议并将其与该obd的正确协议连接

    对于AT SP命令,如果您知道车辆的obd接口协议,您可以选择该特定协议,而不是“自动”并搜索所有可能的协议。您可以使用不同的输入:


    协议参数:十六进制[0,1,2,…,B,C]

    自动选择协议并保存。 自动->0

    41.6千澳元 SAE_J1850_PWM->1

    10.4千澳元 SAE_J1850_VPW->2

    5波特初始化 ISO9141_2->3

    5波特初始化 ISO_14230_4_KWP->4

    快速初始化 ISO_14230_4_KWP_FAST->5

    11位ID,500 kbaud ISO_15765_4_CAN->6

    29位ID,500 kbaud ISO_15765_4_CAN_B->7

    11位ID,250 kbaud ISO_15765_4_CAN_C->8

    29位ID,250 kbaud ISO_15765_4_CAN_D->9

    29位ID,250 kbaud(用户可调) SAE_J1939_CAN->A

    11位ID(用户可调),125 kbaud(用户可调) 用户1\u可以->B

    11位ID(用户可调),50 kbaud(用户可调)
    用户2_可以->C

    我的应用程序与OBDII模拟器完美配合。ELM327不起作用。原因可能是什么。请找到我的问题链接