【问题标题】:Is there an ELM327 / obdkey OBD-II adapter Objective-C programming guide?是否有 ELM327 / obdkey OBD-II 适配器 Objective-C 编程指南?
【发布时间】:2011-03-22 21:47:01
【问题描述】:

我想开始在 iOS/Objective-C 中针对基于 ELM327 的汽车 OBD-II 蓝牙适配器进行编码。是否有关于如何开始的指南/入门?

我想 ELM327 适配器​​是一个串行设备...我可能会弄清楚如何与手机建立蓝牙连接,但我不知道从哪里开始发送/接收 OBD-II 消息到/从中。

此设备是否有预先存在的 API?

【问题讨论】:

  • 我知道你问这个问题已经有 3 年多了,但你有没有得到这个问题?我想开发一个 iOS 应用程序,通过 wifi 与基于 ELM327 的设备通信,并希望避免在 OBD-II 通信上重新发明轮子。
  • 我有一个基本的基于 wifi 的 AT 通信设置在这个项目中工作,对于任何想要这样做的人来说,这可能是一个不错的起点:github.com/jeffmcfadden/CarDash

标签: objective-c ios bluetooth obd-ii


【解决方案1】:

如果您需要一些 OBDKey 特定命令,请告诉我。例如,要访问 RPM 数据,请发出以下命令

ATZ\r
ATSP0\r
0100\r
010C\r

这些指令将初始化 OBDKey 接口,将协议搜索设置为自动,初始化与引擎管理ECU 的通信,并发送模式 1 PID 0C 命令以请求引擎速度 (RPM) 数据。响应 010C 命令返回的值实际上是发动机实际转速值的四倍。

在 iOS / Objective-C 中使用套接字和流是设置与 OBDKey WLAN 通信的最佳方式(默认 IP 地址为 192.168.0.74,端口 23)。

【讨论】:

  • 这个答案作为编程指南没有用。 0100和010C是什么意思?命令列表在哪里?只是在这里抛出 2 个命令而没有任何解释,你无济于事。
【解决方案2】:

elm327 odb2 设备使用 ATODB 命令。
AT 命令与您在调制解调器上使用的命令相同,它们始终以 AT 开头。

设备初始化时发送

ELM327 v2.1
>

如果你发送

ATZ

这将重置设备并再次发出“ELM327 v2.1”和 > 提示。

AT命令用于管理elm327设备。

ODB 命令是 asci 十六进制的,例如上面的例子

01 0c

获取 rpm 或

01 05

获取冷却液温度

http://www.elmelectronics.com/obdic.html 有包含更多详细信息的数据表 pdf 文件。
您也可以在 ituns 中搜索“elm327”并获得 2 本关于该主题的免费书籍。

我刚刚开始为我的通用 elm327 wifi 设备启动同一个项目,所以我还没有任何详细信息。
学到有用的东西我会第一时间添加cmets。

【讨论】:

  • 您链接下的 ELM327 数据表解释了 ELM327 芯片的 AT 命令。但是缺少的是发送到 ECU 的命令列表和响应。 ELM327 只转发它们。它们看起来像 Command= 0130 Reponse= 013083 F1 11 7F 01 11 16 >
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多