Skip to main content

Serial module for handling live sensor data from a vehicle's OBD-II port

Project description

python-OBD

A python module for handling realtime sensor data from OBD-II vehicle ports. Works with ELM327 OBD-II adapters, and is fit for the Raspberry Pi.

Installation

$ pip install obd

Basic Usage

import obd

connection = obd.OBD() # auto-connects to USB or RF port

cmd = obd.commands.SPEED # select an OBD command (sensor)

response = connection.query(cmd) # send the command, and parse the response

print(response.value) # returns unit-bearing values thanks to Pint
print(response.value.to("mph")) # user-friendly unit conversions

Documentation

Available at python-obd.readthedocs.org

Commands

Here are a handful of the supported commands (sensors). For a full list, see the docs

note: support for these commands will vary from car to car

  • Calculated Engine Load
  • Engine Coolant Temperature
  • Fuel Pressure
  • Intake Manifold Pressure
  • Engine RPM
  • Vehicle Speed
  • Timing Advance
  • Intake Air Temp
  • Air Flow Rate (MAF)
  • Throttle Position
  • Engine Run Time
  • Fuel Level Input
  • Number of warm-ups since codes cleared
  • Barometric Pressure
  • Ambient air temperature
  • Commanded throttle actuator
  • Time run with MIL on
  • Time since trouble codes cleared
  • Hybrid battery pack remaining life
  • Engine fuel rate
  • Vehicle Identification Number (VIN)

Common Issues

Bluetooth OBD-II Adapters

There are sometimes connection issues when using a Bluetooth OBD-II adapter with some devices (the Raspberry Pi is a common problem). This can be fixed by setting the following arguments when setting up the connection:

fast=False, timeout=30

License

GNU GPL v2

This library is forked from:

Enjoy and drive safe!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

obd-0.7.3.tar.gz (73.0 kB view details)

Uploaded Source

Built Distribution

obd-0.7.3-py3-none-any.whl (72.1 kB view details)

Uploaded Python 3

File details

Details for the file obd-0.7.3.tar.gz.

File metadata

  • Download URL: obd-0.7.3.tar.gz
  • Upload date:
  • Size: 73.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for obd-0.7.3.tar.gz
Algorithm Hash digest
SHA256 27b8f043376ca700edb98bf5216e2912295ecde0e735b260999f2d9ddf342522
MD5 88d0841d80b1c09ed12c28d696558e4e
BLAKE2b-256 f9373ae6fd261f911fb3292249a876061786a54486cd5899d49b1406c3483921

See more details on using hashes here.

File details

Details for the file obd-0.7.3-py3-none-any.whl.

File metadata

  • Download URL: obd-0.7.3-py3-none-any.whl
  • Upload date:
  • Size: 72.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for obd-0.7.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f26da700f13683a27855e6a439db72f7025fff6f1fd47ad4c6c33089d9fe7cab
MD5 1e2547c5bda43becd768fb7f0c2a56fa
BLAKE2b-256 3a478ef35b33fc80db40d4a42632b0a22b2b2ed7671832dbc9bda9d912a826b0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page