问题标签 [elm327]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5781 浏览

android - 在 android 中与 ELM327 建立连接后无法向 ELM 327 发送 ATZ 命令

我编写了一个代码,它能够成功找到配对的 OBD 并与 ELM327 建立连接,但是当我尝试发送 ATZ 命令时,应用程序崩溃了。

这是代码片段,我可能做错了

我不确定我在哪里做错了,所以我将整个代码的流程分享为两个要点,https://gist.github.com/sankarganesh/6376031,这个要点包含活动文件和蓝牙套接字的另一个要点听众https://gist.github.com/sankarganesh/6376039

0 投票
0 回答
2378 浏览

node.js - 无法从 node-bluetooth-obd 连接到 OBD-II 设备

我正在尝试使用Eric Smekens node-bluetooth- obd包通过 node.js 连接到 ELM327 蓝牙 OBD-II 适配器,但出现错误,我不确定如何调试。我在运行 Ubuntu 的 Beagle Bone Black 上执行此操作。我可以使用 bluez-simple-agent 与设备配对:

sudo bluez-simple-agent hci0 00:0D:18:A0:4E:35

我已经更新了 Readme.md 示例第二行中的 MAC 地址以匹配设备的 MAC 地址:

var btOBDReader = new OBDReader('00:0D:18:A0:4E:35', 14);

但是,当我运行脚本时,我收到此错误:

OBD-II 设备出错:错误:无法连接

我对蓝牙通信还是很陌生,所以我真的不知道从哪里开始调试它。有什么建议么?

0 投票
2 回答
6132 浏览

ubuntu - 在 Ubuntu 上与蓝牙 OBDII 设备配对有困难

我正在尝试与运行 Ubuntu Linux 的 Beaglebone Black 的汽车 OBDII 蓝牙设备配对,但运气不佳。

最初,我能够使用 bluez-simple-agent 设置 hci0,尽管它从未要求我输入 PIN。此设备的 PIN 应该是“1234”。现在,当我运行 bluez-simple-agent 时,我得到了这个:

如果它可以正常工作,那会很好,但是当我尝试使用 rfcomm 进行绑定时,我反复收到“无法连接 RFCOMM 套接字:无效交换”(重新启动设备后的第一次),然后是“无法连接 RFCOMM 套接字:连接被拒绝”之后每次。

这是我的 /etc/bluetooth/rfcomm.conf 文件:

并且运行“rfcomm bind 0”确实成功地在 /dev/rfcomm0 创建了一个设备:

但是,尝试从 /dev/rfcomm0 读取数据时,我得到了以下信息:

此后,rfcomm 返回:

我想我根据“sdptool 记录”的结果使用了正确的频道 (16)

任何帮助将不胜感激,因为此时我完全没有想法。

参考:

0 投票
1 回答
2248 浏览

java - 发送至 OBD (Android) 的命令格式

无法弄清楚如何格式化我发送到 OBD 设备的命令。首先,扭矩工作正常,所以我知道我的代码不是设备的问题。

这是我发送命令的方式:

这是基于我正在做的一些研究,如果有人能提出一个简单的方法,那将不胜感激。268 是“010C”的十进制等效值,根据 elm327 表,它是发动机转速的代码。

我的 write() 方法:

我的 rawToByte() 方法:

响应日志 cat 每次都读取“5”,如果我使用 269 来提高速度,则相同。这可能是我发送错误命令的错误代码。套接字 mmOutStream 上的 write() 方法只需要字节,而我从这里的一些问题中得到的 rawToByte 方法(它没有回答这个问题)只需要整数,所以我不能给它“010C”,但这不应该有区别.

我的应用程序需要不断获取车辆的速度和转速。

任何人都可以指定(简单地)如何正确地向 OBDII Elm327 设备发送命令吗?

0 投票
1 回答
2083 浏览

java - Java Get/Set 方法返回 null

我想获取变量其他类(jframe)但get方法返回null..但是set方法正在运行..

我添加了初始化案例。当我运行 getElm() 时,返回 null ......我该怎么办?

0 投票
0 回答
1524 浏览

android - Connecting to ELM327 over Bluetooth (Android)

I am trying to write a simple app (similar to the BluetoothChat example) that will communicate with ELM327 (BT).

Torque (well known Android OBD app) is able to connect OK - its the only one. Neither my test app, nor SENA BTerm, nor android-obd-reader (well-known open source OBD app) is able to connect.

I am using the well-known service UUID 00001101-0000-1000-8000-00805f9b34fb

While the logs show the ACL_CONNECTED event, my code (and android-obd-reader) throws an IOException saying "socket closed or timeout".

These are the logs from my running my test just after calling connect.

Any explanations? I would have put this down to a bad adapter, except that Torque works

0 投票
1 回答
996 浏览

android - 带有 CANCaseXL 工具的 obdII 蓝牙

这是基肖尔

我使用基于 ELM327 的 OBDII 到蓝牙适配器来监控乘用车中的 CAN 流量。换句话说,我们的意图是将 EML327 部署为 CAN2BT 加密狗(用于 CAN 消息接收目的)。

我很想使用 Monitor All 功能来接收车辆中的所有消息(不仅仅是通常通过 OBDII 协议完成的诊断)。我打算使用 ELM327 支持的 AT-MR 和 AT-MT 接口来选择性地收听我们的应用程序感兴趣的消息。

我遇到的问题是,在实验室中,ELM327 连接到 CANCaseXL,在 AT-MA 或 AT-MR 或 AT-MT 模式下,ELM327 不发送任何确认。由于缺少 ACK,尽管 CANcaseXL 以兼容的波特率进行传输,但传输错误会导致 CANcaseXL 进入错误状态。

有没有办法发送一系列专有 AT 命令以将 ELM327 置于不通过 OBDII 诊断协议进行通信的模式,而是通过适当的 ACK 监听原始 CAN 总线活动?

在这方面需要社区的帮助

感谢和问候基肖尔

0 投票
2 回答
11122 浏览

ios - 多条OBD指令同时发送,同时得到响应

我正在开发连接 OBD2 适配器并获取实时数据(如速度、转速、油门位置等)的应用程序。当我一次读取一个命令时,它可以正常工作,就像发送命令“010C\r”一样,我得到了当前转速。

我认为在一个请求中发送多个命令是不可能的。但是在 EngineLink HD、Dashcommand 等其他应用程序中,我们发现多个组件会同时更新,例如,如果我们正在驾驶汽车并检查 RPM、Sped 和 Throttle,那么它们每 1 秒更新一次。它看起来像实时数据。

我很惊讶这怎么可能?

我们添加了代码,例如如果用户想要显示 3 个组件,那么对于每个组件,都会生成一个线程并处理该命令的请求和响应。因此,在这种情况下,生成了 3 个线程并且我们得到了响应,但这需要太多时间,例如如果我们正在观看 3 个 PID 中的速度,那么速度会在 3-4 秒延迟后更新。

我们还需要锁定它发送请求和获取响应的代码 bcoz OBD2 适配器一次处理一个请求和响应。

如果我们不锁定代码,那么我们会得到无法预料的结果,这可能是由于应用程序和 obd2 适配器之间的套接字通信使用的公共共享流造成的。

但现在我想一次读取多个命令。我的意思是在某个时间点,我想知道速度、RPM 和油门位置等。所以我想在一个请求中发送上述命令并一次得到响应。

这怎么可能 ?有人可以指导我。

0 投票
0 回答
1081 浏览

android - OBD2 - ELM327 WIFI 适配器

我正在开发用于连接到 ELM327 用于车载 Wifi 的 Andorid 应用程序(我的适配器: http ://www.obdinnovations.com/mini-vgate-elm327-wifi-obd2-auto-diagnostics-scanner )。我应该如何连接到这个 OBD2 适配器然后发送一些信号?

我也尝试:

方法参数是 HttpURLConnection 连接而不是 Socket socket1。

但是我收不到任何信号。我的代码有什么问题?有什么建议么?

0 投票
3 回答
5284 浏览

android - 通过蓝牙将 OBDSim 连接到 Windows 上的 Torque

我正在尝试在 Win7 上安装 OBDSim,但遇到了一些麻烦。我的最终目标是将 OBDSim 作为蓝牙 ELM327 OBDII 模拟器运行,并使用我的 Android 设备上的 Torque 应用程序连接到它。

我在 youtube ( http://www.youtube.com/watch?v=-dMjo5ySbcc )上观看了一段视频,该视频演示了我想要模拟的内容,但它运行的是 Lubuntu 12.04。

上周我一直在阅读 mp3car 上的帖子和 stackoverflow 上的其他帖子,但我还是有点迷茫。我不确定 obdsim 如何使用 com0com 让我的蓝牙加密狗与手机上的 Torque 连接。继承人我到目前为止:

  • 我已将我的 Android 设备与我的电脑配对
  • 我已经安装了 com0com 并设置了 CNCA0 <-> COM5 对。
  • 我将传入的 COM 端口设置为 COM5
  • 我正在按照建议运行 obdsimwindows-2011-06-11 构建(虽然 -b 给出了一个无效的选项。蓝牙也没有在 --help 下列出。这个版本支持 bt 吗??)
  • 我能够使用“obdsim.exe -g gui_fltk -w COM5”成功启动 gui
  • Torque 仍然无法连接模拟器并从模拟器中读取。

我认为我还缺少一大步,但我不确定它是什么。我发现这个对应(http://icculus.org/pipermail/obdgpslogger/2012-January/000122.html)有点像我在哪里,但我不知道如何将 bind 和 sdptool 命令转换为windows(这是一个linux问题)。

有没有人尝试在 Windows 上设置 OBDSim 并通过蓝牙成功连接到他们的 Android 设备?

谢谢!