Connecting to OBD2 Bluetooth LE device without developer guide
Asked Answered
K

2

7

I have recently bought car ELM327 based OBD2 adapter(Vgate Icar PRO) for monitoring my car instruments, I am able to connect to the device using Torque and other obd tools. But I want to develop my own flutter application that connects and extracts the OBD diagnostic information that will be done for my own R&D purpose. But facing issue understanding the Services and Characteristics to use for sending ELM327 AT codes.

I can understand that ELM327 uses UART protocol for communication. But as want to use Bluetooth LE, I am not able to check what is Bluetooth service/characteristic I should be checking for.

I checked the characteristics of Bluetooth LE from demo application, PLease check below screenshots Service and Characteristic codes below

enter image description here

enter image description here

From above service/characteristic codes I extracted below information

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

But for other Service/Characteristic codes I do not find any reference what they stand for. Can someone help me through this quest.

Kurrajong answered 25/4, 2020 at 14:51 Comment(2)
plus 1 ! I'm, also interestedPeony
Any luck ? Even I am interested too!Volar
M
1

Apologies, I've only just come across this question.

I'm also using the Vgate Pro BLE OBD2 device and am trying to read it using an Arduino microcontroller (not entirely successfully, so far). This is what I've discovered:-

It advertises 2 services, one with 2 characteristics and the other with 1 characteristic. These are:-

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)

I can write to the A Service Characteristic (I know this because the green light flashes) but, so far, cannot get any response from the NOTIFY Characteristic, nor can I read from the READ/WRITE characteristic.

I have had no joy at all from the B Service although the bluetooth terminal app I'm using can read and write from/to it.

I hope this helps and would be interested to know whether you have had any success.

Millar answered 15/8, 2020 at 13:54 Comment(0)
C
1

If you want to support multiple OBD2 BLE devices, then you have to probe the characteristics' properties instead of hardcoding them. There is no guarantee that the READ characteristic is always the first one and the WRITE/NOTIFY characteristic is always the second one. In fact, it's not always necessary that the adapter exports the serial port over two distinct characteristics – sometimes it's just one.

Continuate answered 27/10, 2021 at 15:18 Comment(2)
With probing do you mean just attempting to connect to the characteristics in a trial-and-error way, or is there a smarter way of doing that? Are there special properties I would have to look out for, to be able to identify the right characteristic?Livialivid
Dumb trying, it is indeed. I don’t know a smarter way.Continuate

© 2022 - 2024 — McMap. All rights reserved.