OBD-II PIDs (On-board diagnostics Parameter IDs) are codes used to request data from a vehicle, used as a diagnostic tool.
SAE standard J1979 defines many OBD-II PIDs. All on-road vehicles and trucks sold in North America are required to support a subset of these codes, primarily for state mandated emissions inspections. Manufacturers also define additional PIDs specific to their vehicles.
https://en.wikipedia.org/wiki/On-board_diagnostics
List of OBD2 PID: https://en.wikipedia.org/wiki/OBD-II_PIDs
PDF files OBD2 std: https://github.com/Edragon/OBD
SAE standards documents on OBD-II
J1962 – Defines the physical connector used for the OBD-II interface.
J1850 – Defines a serial data protocol. There are 2 variants: 10.4 kbit/s (single wire, VPW) and 41.6 kbit/s (2 wire, PWM). Mainly used by US manufacturers, also known as PCI (Chrysler, 10.4K), Class 2 (GM, 10.4K), and SCP (Ford, 41.6K)
J1978 – Defines minimal operating standards for OBD-II scan tools
J1979 – Defines standards for diagnostic test modes
J2012 – Defines standards trouble codes and definitions.
J2178-1 – Defines standards for network message header formats and physical address assignments
J2178-2 – Gives data parameter definitions
J2178-3 – Defines standards for network message frame IDs for single byte headers
J2178-4 – Defines standards for network messages with three byte headers*
J2284-3 – Defines 500K CAN physical and data link layer
J2411 – Describes the GMLAN (Single-Wire CAN) protocol, used in newer GM vehicles. Often accessible on the OBD connector as PIN 1 on newer GM vehicles.
SAE standards documents on HD (Heavy Duty) OBD
J1939 – Defines a data protocol for heavy duty commercial vehicles
ISO standards
ISO 9141: Road vehicles – Diagnostic systems. International Organization for Standardization, 1989.
Part 1: Requirements for interchange of digital information
Part 2: CARB requirements for interchange of digital information
Part 3: Verification of the communication between vehicle and OBD II scan tool
ISO 11898: Road vehicles – Controller area network (CAN). International Organization for Standardization, 2003.
Part 1: Data link layer and physical signalling
Part 2: High-speed medium access unit
Part 3: Low-speed, fault-tolerant, medium-dependent interface
Part 4: Time-triggered communication
ISO 14230: Road vehicles – Diagnostic systems – Keyword Protocol 2000, International Organization for Standardization, 1999.
Part 1: Physical layer
Part 2: Data link layer
Part 3: Application layer
Part 4: Requirements for emission-related systems
ISO 15031: Communication between vehicle and external equipment for emissions-related diagnostics, International Organization for Standardization, 2010.
Part 1: General information and use case definition
Part 2: Guidance on terms, definitions, abbreviations and acronyms
Part 3: Diagnostic connector and related electrical circuits, specification and use
Part 4: External test equipment
Part 5: Emissions-related diagnostic services
Part 6: Diagnostic trouble code definitions
Part 7: Data link security
ISO 15765: Road vehicles – Diagnostics on Controller Area Networks (CAN). International Organization for Standardization, 2004.
Part 1: General information
Part 2: Network layer services ISO 15765-2
Part 3: Implementation of unified diagnostic services (UDS on CAN)
Part 4: Requirements for emissions-related systems
OpenXC™ is an open source, data-focused API for your car. By installing a small hardware module, the vehicle data becomes accessible to Android or other desktop applications using the OpenXC library.
https://github.com/openxc/openxc-message-format
An OpenXC vehicle interface sends generic vehicle data over one or more output interfaces (e.g. USB or Bluetooth) as JSON or Protocol Buffers (protobuf).
Example
{"name":"engine_speed","value":1744,"timestamp":1447384879.287} {"name":"odometer","value":9986.082031,"timestamp":1447384879.352} {"name":"steering_wheel_angle","value":4.26315,"timestamp":1447384879.359} {"name":"ignition_status","value":"run","timestamp":1447384879.358} {"name":"fuel_consumed_since_restart","value":2.051874,"timestamp":1447384879.366} {"name":"torque_at_transmission","value":133,"timestamp":1447384879.369} {"name":"accelerator_pedal_position","value":21.4,"timestamp":1447384879.373} {"name":"vehicle_speed","value":46.629997,"timestamp":1447384879.375}
https://torque-bhp.com/wiki/Main_Page
Torque is an OBD2 performance and diagnostic tool for any device that runs the Android operating system. It will allow you to access the many sensors within your vehicles Engine Management System, as well as allow you to view and clear trouble codes.
Features:
View live OBD engine data on your Android phone - Connect to your vehicle ECU
Fully customisable dashboard screens - Design your own layouts and custom dials, use your own themes
Retrieve Fault Codes (DTCs) and clear Check Engine lights - View fault descriptions using the built-in databases
Upload live OBD2 data to your webserver or the torque web viewer in realtime
Check the performance of your vehicle with BHP / Torque / 0-60 & Quarter Mile widgets