问题标签 [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 投票
2 回答
3992 浏览

can-bus - 使用 ELM327 接收 CAN 消息时的流量控制消息

我正在尝试制作一个在 Windows 下运行并与 ELM327 设备通信的软件。我创建了第一个版本,然后我进入了我的 SMART ForTwo (SMART 451) 车辆,并设法与仪表板连接(发送 CAN ID 为 782,接收 CAN ID 为 783)。但是我对流控制有一个很大的问题。这是日志:

TX:ATI RX:ELM327 v1.5a

发送:ATE0 接收:ATE0 正常

发送:ATSP6 接收:好的

TX:ATH1 RX:好的

TX:ATL1 RX:好的

TX:ATCFC1 接收:好的

TX:ATFCSM0 RX:正常

TX:ATAL RX:好的

TX:ATSH782 RX:好的

发送:ATCRA783 接收:?

TX:ATST64 RX:好的

发送:1092 接收:783 02 1A 87

发送:1A87 接收:783 10 16 5A 87 05 6E 00 08

我使用了另一个工具,我看到 ELM327 设备立即发送流控制帧。它是这样的:

891.438 782 02 1A 87

891.444 783 10 16 5A 87 05 6E 00 08

891.444 782 30 00 00 00 00 00 00 00

如您所见 - 流量控制帧与第一帧完全相同,即从其他设备发送。我确信另一台设备在接收“流控制”帧时有问题。我研究了 ELM327 文档,但没有找到任何有关如何延迟流控制帧的信息。我应该如何正确发送请求“1A 87”并接收响应?

0 投票
1 回答
1373 浏览

android - BluetoothSerial cordova 插件回显写入

我正在使用 BluetoothSerial 将 Android 手机连接到 ELM327 OBD 加密狗。我使用了蓝牙聊天应用程序来确认在发送 PID 命令代码(如 010C、0105 等)时返回了适当的数据。

然而,虽然 bluetoothSerial 插件似乎可以很好地定位并连接到加密狗,但当我使用 bluetoothSerial.write 将命令代码发送到加密狗时,我只会从 bluetoothSerial.subscribeRawData 获得相同的命令代码。我尝试使用 bluetoothSerial.available 来查看这些是否与回复的大小匹配,并且确实如此。

我还没有找到任何类似的已知问题,所以我想知道是否有其他人可能遇到过这种情况,或者知道为什么会发生这种情况。

0 投票
2 回答
9889 浏览

obd-ii - 我可以用 elm327 接口连接到汽车的 CAN 总线吗?

我一直在摆弄几个月前购买的蓝牙 elm327 设备,并且能够获得标准的 obd 信息,如 vin、rpm、速度等。但正如我最近刚读到的 obd2 和 can 不一样。我试图用 AT MA 命令嗅探我的 can 总线,但没有得到响应,所以我猜 can 网络与 obd2 接口分离。有没有机会访问can网络?或者我可能需要不同的设备来这样做?也许这些信息有帮助:我有一辆 2011 年的斯柯达。

0 投票
0 回答
225 浏览

android - 如何在与 ELM327 通信的 Android APP 中解析数据

我正在使用 ELM327 从运行 CAN 的 CAN 总线中检索数据,带有 11 位标头 我正在通过 USB OTG 电缆连接 ELM 以连接到 Android 设备并使用 FTDI d2xx.jar 连接到设备 发出 ATMA 命令时我得到数据 数据以 3601122334455667788 361112233445566778899 362112233445566778899 格式以连续流的形式出现。这永远不会结束 目前我正在从缓冲区中读取 64 字节长度的数据 然后删除空格两侧的数据 所以我最终得到一个字符串361112233445566778899 然后我可以得到我需要的值但是我最终丢失了数据有什么更好的方法来解析这个连续的数据流?我只是这个编程的新手,并且有点挣扎。

0 投票
2 回答
645 浏览

diagnostics - 是否可以使用 ELM327 读取制造商特定代码

我计划创建一个通过 OBDII 协议与 CAN 总线(用于汽车)交互的软件。SW 将主要用于 PC,也许还有 Android。

但是,如果我不能使其适应阅读比立法和“公共”更多的代码,那是没有用的。

如果您知道它们的地址和解释,是否可以使用 ELM327 读取制造商特定代码?

还是我仅限于硬件。

我不知道 ELM327,使用了哪些引脚等...我在这里做一些研究,所以请在你的答案中详细说明。谢谢。

顺便说一句,我的硬件是:ELM327(中文 v.1,5),带有 USB 电缆和串行 COM 端口到笔记本电脑上的 USB 驱动程序。

0 投票
1 回答
107 浏览

c# - 读取必要的字节

是否可以从字符串中仅读取最后两个字节。例如,我从流套接字接收 41 0C 34,我只需要 34。我可以通过什么方式做到这一点。这是我的代码:

注意:我只需要 34,因为我需要将其转换为十进制值,然后将其实现为等式。谢谢 :)

0 投票
3 回答
7921 浏览

can-bus - 如何使用 ELM327 发送自定义 CAN 消息?

我正在使用 ELM327,我希望能够设置要发送的 CAN 消息的标头和数据部分。我看到有一个代码用于设置消息的标题

但是我很难找出如何设置数据部分并控制何时发送消息。

当我发送一个带有额外字符的 PID 的 ASCII 请求作为数据字段时,这两种情况都会发生吗?

那会使用 SH 命令设置的标头吗?

有一个更好的方法吗?

数据表:http ://elmelectronics.com/DSheets/ELM327DS.pdf

0 投票
0 回答
333 浏览

c# - 如何向 elm 327 蓝牙加密狗发送命令并在 windows phone 8.1 上获得结果?

我可以连接到 elm327 加密狗,但是当我向它发送命令时,我没有得到任何响应。我使用了 BluetoothConnectionManager.cs 类,可以在这里找到: 这个库

我在连接时使用此代码发送命令:

这是 Package.appxmanifest 的 Capabilities 部分:

0 投票
0 回答
550 浏览

python - OBD2 使用 Python 读取增强参数(例如喷油器脉冲宽度)

我正在做一个项目来捕捉瞬时油耗,我想使用喷油器脉冲宽度。我正在使用 pyserial 将参数连接到蓝牙 OBD 阅读器。

例如,要获得速度,我输入:

要调用任何其他标准 OBD2 参数,我只需键入它的 4 位代码,后跟 \r。这也适用于我的 RPM 等......

但是,我需要代码为 125A 的 GMC 车辆的燃油喷射器脉冲宽度,但输入“12 5A \r”并没有给我任何数据。我怀疑是因为它是扩展参数的一部分,我没有正确输入。

有人可以帮我弄清楚如何获取此参数吗?我知道它适用于我的卡车,因为我将它与能够获得此参数的逻辑值的 Windows GUI 软件进行比较。

提前致谢。

0 投票
1 回答
1745 浏览

obd-ii - 我可以从 OBD II 获得什么信息?

OBD II我可以从中获得以下信息ELM 327 adapter

  • 转速
  • 车速
  • 发动机负荷
  • 冷却液温度

我想知道我还能从中得到什么OBD II