Am I correct in thinking there's some kind of dongle/cable that goes between
the smart phone and the OBD-II port? Perhaps, OBD-II on one end and micro
USB on the other end?
It seems that this post has turned into a Master's Thesis - enjoy
That is one way. Another way (my choice) is via Bluetooth to an Android
phone. The third way that I am aware of is to use a laptop as the
readout & control device, usually via USB, I believe.
There are also devices that are a single system with the readout
connected to the OBD-II plug by a cable. The cable is usually
proprietary, IIRC.
A few months ago I was chatting with a friend about the OBD reader. He
has an iPhone, so I did some research so I could tell him what to look
for, and AFAICT, nothing similar is available for them. All the apps I
could find were code readers that would save the codes in a list so you
could then refer to the list while looking them up offline. I wouldn't
mind if someone could prove that I'm wrong about that by telling us
about real-time software[1] similar to what is available on Android.
I use the paid version of the app called Torque and a ~$20 OBD/Bluetooth
device. I also have two terminal apps on the phone that I have used to
send codes to the car & read the responses. (I didn't find the first
terminal app easy to use.)
There are many scanners at Amazon, all similar in configuration and
price. I think this is the one I got:
http://tinyurl.com/bb88s4l
Here's the free version of Torque on the Android app store:
http://tinyurl.com/byejqwk
Here's the terminal app that I liked:
http://tinyurl.com/aacymy3
Priuses are very popular, so some people have tracked down some code
info for them, and there's stuff for a few other cars too. Generic codes
are more readily available, but each maker has proprietary extensions.
You can Google OBD codes for your specific car to learn that you
probably can't get any
[1] E.g., you can set up the app I have to show engine RPM as you drive
- if you know the code. That is the (ahem) stumbling block in all of
this...