6

我最近购买了基于汽车 ELM327 的 OBD2 适配器(Vgate Icar PRO)来监控我的汽车仪表,我可以使用 Torque 和其他 obd 工具连接到设备。但我想开发自己的 Flutter 应用程序,连接并提取 OBD 诊断信息,用于我自己的研发目的。但是在理解用于发送 ELM327 AT 代码的服务和特性时面临问题。

我可以理解ELM327使用UART协议进行通信。但是因为想要使用蓝牙 LE,我无法检查我应该检查的蓝牙服务/特性是什么。

我从演示应用程序中检查了蓝牙 LE 的特性,请检查下面的截图服务和特性代码

在此处输入图像描述

在此处输入图像描述

从上面的服务/特征代码中,我提取了以下信息

180A/2A25   Serial No.      DC0D3047262F
180A/2A28   software revision   5.4.2,20181022
180A/2A27   Hardware Revision   1.2
180A/2A29   Manufacturer Name   Feasycom
180A/2A24   Model Number        FSC-BT826N
1800/2A00   Device Name     IOS-Vlink

但是对于其他服务/特征代码,我没有找到任何参考它们代表什么。有人可以帮助我完成这个任务。

4

2 回答 2

1

抱歉,我刚刚遇到这个问题。

我也在使用 Vgate Pro BLE OBD2 设备,并尝试使用 Arduino 微控制器读取它(到目前为止还没有完全成功)。这是我发现的:-

它宣传 2 种服务,一种具有 2 种特征,另一种具有 1 种特征。这些是:-

Service UUID        : 000018f0-0000-1000-8000-00805f9b34fb  (A)
Characteristic UUID : 00002af0-0000-1000-8000-00805f9b34fb  (NOTIFY)
Characteristic UUID : 00002af1-0000-1000-8000-00805f9b34fb  (READ, WRITE)

Service UUID        : e7810a71-73ae-499d-8c15-faa9aef0c3f2  (B)
Characteristic UUID : bef8d6c9-9c21-4c9e-b632-bd58c1009f9f  (INDICATE, NOTIFY, READ, WRITE , WRITE NO RESPONSE)

我可以写入 A 服务特征(我知道这一点是因为绿灯闪烁),但到目前为止,无法从 NOTIFY 特征中获得任何响应,也无法从 READ/WRITE 特征中读取。

尽管我使用的蓝牙终端应用程序可以读写 B 服务,但我对 B 服务一点也不满意。

我希望这会有所帮助,并且有兴趣知道您是否取得了任何成功。

于 2020-08-15T13:54:38.913 回答
0

如果你想支持多个 OBD2 BLE 设备,那么你必须探测特性的属性而不是硬编码它们。不能保证 READ 特性总是第一个,而 WRITE/NOTIFY 特性总是第二个。事实上,适配器并不总是需要通过两个不同的特性导出串行端口——有时它只是一个。

于 2021-10-27T15:18:38.903 回答