我计划创建一个通过 OBDII 协议与 CAN 总线(用于汽车)交互的软件。该软件将主要用于 PC,也许还有 Android。
但是,如果我不能调整它来读取比立法和“公共”更多的代码,那就没有用了。
如果您知道代码的地址和解释,是否可以使用 ELM327 读取制造商特定代码?
或者我仅限于硬件。
我不了解ELM327,使用哪些引脚等......我在这里做一些研究,所以请在你的答案中详细说明。谢谢。
顺便说一句,我的硬件是: ELM327(中文版 v.1,5)配有 USB 电缆和串行 COM 端口,可连接笔记本电脑上的 USB 驱动程序。
由于大多数 CAN 通信都是以 500k 波特率完成的,因此 ELM327 将无法足够快地进行通信。最好购买 OBDLink SX 或构建自己的硬件(查看带有 CAN 总线的 Teensy 3.1)。
这是一个棘手的问题(可能是为什么还没有人尝试回答它的原因)。这取决于供应商以及您车辆中的 ECU 实施的协议类型。一些 ECU 使用自定义 PID 实现 OBD2 – 您可以通过 ELM327(和朋友)轻松读取这些内容。
大多数基于 CAN 总线的 ECU 都实现 UDS,这也允许获取更多底层信息。
也就是说,无论哪种情况,您都需要文档,因为非标准 PID 和/或 DTC 和/或传感器标识符完全是特定于供应商的。
AT#1 可以报告 ELM 读取制造商信息,但只有一些基于 STNxxxx 的适配器(即 UniCarScan 和 OBDLink)似乎报告它,至少据我所知。很多人只是回复“?”。