Is there a programming guide for ELM327 / obdkey OBD-II Objective-C devices?

I would like to start encoding with an ELM327 -based automotive OBD-II Bluetooth adapter in iOS / Objective-C. Is there a guide / tutorial on how to get started?

I would suggest that the ELM327 adapter is a serial device ... Perhaps I can figure out how to establish a Bluetooth connection with the phone, but I do not know where to start sending and receiving OBD-II / messages from it.

Is there an existing API for this device?

+8
ios objective-c bluetooth obd-ii
source share
2 answers

If you need some special OBDKey commands let me know. As an example, to access RPM data, run the following commands

ATZ\r ATSP0\r 0100\r 010C\r 

These instructions initialize the OBDKey interface, set the protocol search to automatic, initiate communication with the ECU engine control and send mode 1 The PID 0C command requests engine speed data (RPM). The value returned in response to the 010C command is actually four times the actual value of the engine speed.

Using sockets and streams in iOS / Objective-C is the best way to configure communication with the OBDKey WDK server (the default IP address is 192.168.0.74, port 23).

+6
source share

The elm327 odb2 device uses AT and ODB commands.
AT commands are the same as modems; they always start with AT .

When devices are initialized, it sends

 ELM327 v2.1 > 

If you send

ATZ

it will be a reset device, and it issues "ELM327 v2.1" and> request again.

AT commands are used to control the elm327 device.

ODB commands are in asci hex, for example, in the above example

01 0c

to get rpm or

01 05

to get the coolant temperature

At http://www.elmelectronics.com/obdic.html there is PDF file data with more detailed information.
You can also search for ituns for "elm327" and get 2 free books on this topic.

I am just starting the same project for my universal elm327 wifi device, so I have no details. I will add comments as soon as I find out something useful.

+3
source share

All Articles