Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Car OBDII WLAN protocol

I am currently searching for the specification of the WLAN protocoll to get OBDII data. There are some ELM327 similar adapter on the market which enables iPhone to connect to a OBDII interface with WLAN. This because Bluetooth serial port is scrambled because of the accessories interface. Other programs like Torque for android can also use this communication protocol. However I did not find the specs for creating a network client.

Any help is welcomed,

Thanks

like image 505
user1382050 Avatar asked May 08 '12 12:05

user1382050


1 Answers

Ok, after some more research, I found two sources:

  1. Michael Gile has an open source library for iOS devices, meant for communicating with OBDII WiFi as well as Bluetooth devices.
  2. PLX devices (creators of the KiWi) have a description how to communicate with the KiWi. The description is too large to include here, but it boils down to:
    • Connect using WiFi (sockets)
    • Wait until the device returns >
    • Issue command and await response

Requesting information can be done by sending a command in this format (ASCII characters):

MM PP\r

where MM is the test mode, PP is the PID, and \r is a carriage return (hex: 0x0d). All whitespace characters are ignored by the Kiwi. *Test modes 03 and 04 do not require a PID value.

The 'test modes' that are spoken of, are the ten diagnostic modes as defined in the SAE J1979 standard:

Test mode   Description
01  Show current data
02  Show freeze frame data
03  Show diagnostic trouble codes
04  Clear trouble codes and stored values
05  Test results, oxygen sensors
06  Test results, non-continuously monitored
07  Show 'pending' trouble codes
08  Special control mode
09  Request vehicle information
0A  Request permanent trouble codes  

The PID values are the codes for the sensors in the car. A (non-exhaustive)list of possible PID values is on Wikipedia.

like image 190
vstrien Avatar answered Sep 18 '22 12:09

vstrien