OBD-II comes in many flavors, my 2001 Honda Accord comes in the ISO 9141-2 flavor favored by Asian car manufacturers.Â The scantool I have is using an ELM 323 IC for converting ISO 9141 to ASCII transported via RS-232 then further translated to a USB connection using an FTDI FT232R RS-232 to USB IC.Â Forgive the detail here, but this is more for my own records than anything.Â With the appropriate driver from FTDI I get handy little tty device that I can connect to.
After much investigation and new knowledge acquisition I was able to use the handy program 'cu' to connect to my scantool with the command
cu -s 9600 -o -l /dev/ttyUSB0
Using the handy dandy list from wikipedia I was able to get some information out of my ECU.Â Unfortunately, not as much as I had hoped. Below is the most relevant.
41 00 BE 3E B8 10
This shows me what data is available from the ECU. 41 01 is a header telling me what mode I am in.Â The remaining four bytes then tell me what PIDs our available.
BE 3E B8 10 = 1011-1110 0011-1110 1011-1000 0001-0000
Which means I only have PIDs 01, 03, 04, 05, 06, 07, 0B, 0C, 0D, 0E, 0F, 11, 13, 14, and 15. So of a theoretical 96 (though more common 64) I have 15 PIDs supported, which is a little disappointing. I can't get some of the fun data I otherwise could have. Maybe I should get a new ECU... ;)
Next step for OBD-II is interacting with the terminal in code.Â I found this great tutorial that will make that a piece of cake.
That's it for now.Â Next up is my Fusion Brain. This has all kinds of possibilities.