To read standard OBD-II diagnostics data from a car with OBD-II on CAN, use the open source OBD-II OpenXC firmware. You can download the latest compiled version of that firmware from the vi-firmware releases page.
Grab the vi-translated_obd2-firmware-*.hex
file for the latest version, which
contains the OBD-II firmware for each of the supported vehicle interfaces.
If you do not want the VI to translate the OBD-II messages for you and you want
to send your own requests, grab the vi-obd2-firmware-*.hex
instead.
Next, look up the instructions for uploading the firmware to your vehicle interface on the supported VI hardware page - it’s different for each type of VI.
Firmware for Ford vehicles is available through the Ford Developer website for logged-in users.
An up-to-date list of exactly which OpenXC messages are supported by each vehicle is maintained as a Google Spreadsheet. The spreadsheet also identifies which firmware file you should use for your car - e.g. type 1, type 2, etc. Finally, it identifies which of the CAN buses each data element is available on, so you can make sure to buy or build vehicle interface that connects to the right buses for the data you want.
Tell your automaker that you want OpenXC support, so you can get richer data from your car than what OBD-II provides.