===== OBD2 Standard ===== 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 ===== http://openxcplatform.com/ 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} ===== Torque BHP ===== 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 \\