LELink、Automatic、Carista 等 OBD BLE 适配器使用哪些 GATT 配置文件和服务?
Which GATT Profile and Services are used by OBD BLE Adapters like LELink, Automatic, Carista?
我正在探索为支持 BLE(低功耗蓝牙)的汽车 OBD2 适配器构建应用程序(Android 和 iOS)。为了让应用程序能够与来自不同供应商的此类适配器一起工作,我假设会有一组标准的 GATT 配置文件,即这些适配器将用于标准功能的服务和特性,如引擎转速、燃料水平等。是我在构建移动应用程序时可以在某处参考此信息?
OBD2 BLE 适配器不使用任何固定的 GATT 配置文件。大多数(如果不是全部)BLE OBD2 适配器的工作方式是,它们提供具有一两个特征的服务:
- 一个写的特征。这是移动设备可以将其 AT 命令(例如,在 ELM327 的情况下)和 PID 写入的地方。
- 一个通知特征。这是返回汽车 (ECU) 结果的地方。
一旦您获得了这些特性,您就可以实现 OBD2 串行协议(例如,在将完成的命令传输到应用层之前,使用写入并等待响应的命令队列)。
一些 BLE 适配器将这两个特性合并为一个特性。如果你想支持任意适配器,你将不得不添加一个 'select your adapter' 屏幕,你可以在其中探测找到的适配器,记住特性,然后进行通信。
这样就可以编写适用于各种 BLE OBD2 适配器的应用程序,而不仅仅是支持选定的少数供应商,例如 OBD2 Expert(免责声明:我是那个软件)。
希望对您有所帮助!
我正在探索为支持 BLE(低功耗蓝牙)的汽车 OBD2 适配器构建应用程序(Android 和 iOS)。为了让应用程序能够与来自不同供应商的此类适配器一起工作,我假设会有一组标准的 GATT 配置文件,即这些适配器将用于标准功能的服务和特性,如引擎转速、燃料水平等。是我在构建移动应用程序时可以在某处参考此信息?
OBD2 BLE 适配器不使用任何固定的 GATT 配置文件。大多数(如果不是全部)BLE OBD2 适配器的工作方式是,它们提供具有一两个特征的服务:
- 一个写的特征。这是移动设备可以将其 AT 命令(例如,在 ELM327 的情况下)和 PID 写入的地方。
- 一个通知特征。这是返回汽车 (ECU) 结果的地方。
一旦您获得了这些特性,您就可以实现 OBD2 串行协议(例如,在将完成的命令传输到应用层之前,使用写入并等待响应的命令队列)。
一些 BLE 适配器将这两个特性合并为一个特性。如果你想支持任意适配器,你将不得不添加一个 'select your adapter' 屏幕,你可以在其中探测找到的适配器,记住特性,然后进行通信。
这样就可以编写适用于各种 BLE OBD2 适配器的应用程序,而不仅仅是支持选定的少数供应商,例如 OBD2 Expert(免责声明:我是那个软件)。
希望对您有所帮助!