OpenXC
OpenXC is a hardware and software API for automobiles developed by Ford Bug Labs and proposed as an open standard.
At this time, the API is read-only and provides a small number of vehicle measurement parameters only.
History
- March 2012: Beta program announced
- 9 January 2012: OpenXC Platform Released
Architecture
- Vehicle electronic control units
- CAN Bus
- OBDII Interface
- OpenXC Vehicle interface Module
- OpenXC wire messages over USB or Bluetooth
- OpenXC driver or service on a device E.g. OpenXC Enabler app for Android.
- OpenXC enabled applications. See Android sample applications: retro-gauge and mpg.
API
The data available via the API as at January 2012 includes- AcceleratorPedalPosition
- BrakePedalStatus
- EngineSpeed
- FineOdometer - a persistent odometer recording)
- FuelConsumed - fuel consumed since the vehicle was started)
- FuelLevel - current level of fuel in the gas tank.
- HeadlampStatus - are headlamps are off or on.
- HighBeamStatus
- IgnitionStatus
- Latitude
- Longitude
- Odometer
- ParkingBrakeStatus - is the parking brake is engaged or not.
- SteeringWheelAngle
- TorqueAtTransmission - the actual current torque in the transmission.
- TransmissionGearPosition - the actual current gear of the transmission.
- TurnSignalStatus
- VehicleButtonEvent A ButtonEvent represents a button press, release or hold on the vehicle HMI.
- VehicleDoorStatus - is a door ajar?
- VehicleSpeed - the current forward speed of the vehicle.
- WindshieldWiperStatus
OpenXC Vs OBD
is focused on high-level instrumentation of more interest to a driver.
The potential advantages of using OpenXC include
- Most useful information available from OBD interfaces uses proprietary PIDs that may differ by manufacturer and Vehicle. OpenXC could offer a standard interface, similar to the ELM327 interface.
- An OBD interface may be complex to implement, while the OpenXC API is designed to be friendly for application developers
- Use well established existing OBD interface hardware and software, e.g. using the ELM327 protocol
- The additional hardware layer for OpenXC is currently much more expensive than OBD interfaces
- Access additional functions than the limited set available via OpenXC. E.g. manifold vacuum.
- Few vehicles currently support OpenXC, while nearly all modern vehicles support OBD
- Ability to write data back to vehicle, e.g. to clear fault codes.